top of page
HRS Blog.png

Mantente informado con nuestro boletín semanal

Recibe las últimas publicaciones de nuestro blog, consejos exclusivos diseñados para potenciar tu presencia online y las novedades más relevantes del mundo del SEO y el marketing digital, todo directamente en tu bandeja de entrada. Mantente actualizado y no te pierdas ninguna oportunidad para optimizar tus proyectos. ¡Es fácil, rápido y gratuito!

Recibe nuestro mejor contenido

¿Qué es Mixture of Experts (MoE)?

Actualizado: 30 nov 2024

La técnica Mixture of Experts (MoE), o mezcla de expertos, es un enfoque en el campo del aprendizaje profundo que permite la creación de modelos de gran escala con una eficiencia computacional notablemente mejorada. Al emplear esta técnica, los modelos pueden ser preentrenados de manera más rápida y con una menor carga computacional en comparación con los modelos densos tradicionales. A continuación, exploraremos en detalle en qué consiste esta técnica, su historia, y sus aplicaciones.



¿Qué es Mixture of Experts (MoE)?
¿Qué es Mixture of Experts (MoE)?

Historia Breve de Mixture of Experts

El concepto de MoE se remonta a 1991 con la publicación de Adaptive Mixture of Local Experts, donde se planteó una red neuronal que, en lugar de procesar toda la entrada, activaba diferentes “expertos” según el tipo de información que se recibía. Estos expertos manejaban subconjuntos específicos del espacio de entrada, mientras que una red de enrutamiento (o gate) decidía qué experto debía encargarse de cada token de entrada.


Entre 2010 y 2015, varias investigaciones comenzaron a explorar MoE como componentes de redes neuronales profundas, y a experimentar con la computación condicional. Esto permitía que ciertas partes del modelo fueran activadas o desactivadas según los datos, una técnica que sería fundamental para mejorar la eficiencia en modelos de gran escala.


Capa MoE del documento Outrageously Large Neural Network
Capa MoE del documento Outrageously Large Neural Network

¿Qué es la Espaciosidad (Sparsity)?

La espaciosidad en un modelo MoE se refiere a que solo algunos de los expertos son activados para cada entrada en lugar de procesar todos los datos a través de cada capa del modelo. Esta característica permite reducir significativamente el costo computacional y lograr una inferencia rápida, ya que solo se procesan los expertos seleccionados.


Para gestionar la distribución de la carga, la red de enrutamiento aplica una pérdida auxiliar de balance de carga que incentiva una distribución equitativa de los datos entre todos los expertos, evitando que solo unos pocos se encarguen de la mayor parte del trabajo.


MoEs y Transformers

En los modelos basados en Transformers, como Switch Transformers y GShard, se implementan capas MoE en lugar de las tradicionales FFN (redes de alimentación hacia adelante). GShard introdujo innovaciones para permitir la escalabilidad, como la capacitación de expertos y el enrutamiento aleatorio para mejorar el balanceo de carga.


Por su parte, Switch Transformers usa una sola capa de experto por entrada, lo que reduce la carga de comunicación y mejora la eficiencia computacional, mientras mantiene un alto rendimiento. Esto ha permitido crear modelos de hasta 1.6 billones de parámetros.


Codificador de transformadores MoE del documento GShard
Codificador de transformadores MoE del documento GShard
Switch Transformer Layer of the Switch Transformer paper
Switch Transformer Layer of the Switch Transformer paper

Balance de Carga y Pérdida Z del Router

El router z-loss es una mejora reciente que reduce inestabilidades en el entrenamiento, penalizando los valores de logit grandes en el enrutador, lo cual permite un enrutamiento más estable. Este tipo de pérdida facilita la implementación de modelos estables en escenarios de carga balanceada, lo cual resulta fundamental cuando se trabaja con múltiples expertos en redes distribuidas.


¿Qué Aprende un Experto?

En un modelo MoE, cada experto suele especializarse en tipos específicos de tokens o conceptos, especialmente en los modelos de codificadores. Por ejemplo, un experto podría especializarse en procesar nombres propios, mientras que otro podría enfocarse en puntuación o ciertas construcciones gramaticales.


En modelos de decodificadores, la especialización es menos marcada debido a la carga compartida entre expertos. En configuraciones multilingües, sin embargo, no se observa una especialización por idioma debido al balanceo de tokens y la alta interacción entre expertos.


Impacto de Escalar el Número de Expertos

Al aumentar la cantidad de expertos, se observa una mejora en la eficiencia de muestra y velocidad de entrenamiento, pero con beneficios decrecientes a partir de un cierto número de expertos. Por ejemplo, el uso de hasta 256 o 512 expertos puede aumentar la rapidez y precisión de preentrenamiento, aunque requiere mayores recursos de memoria (VRAM) para la inferencia.


Fine-tuning de MoEs

Los modelos MoE tienden a sobreajustarse con mayor facilidad en comparación con los modelos densos. Por ello, suelen beneficiarse de una mayor regularización durante el entrenamiento. Además, se ha descubierto que los modelos MoE pueden mejorar su rendimiento en tareas de ajuste fino cuando se les expone a un alto número de tareas o instrucciones variadas.


MoEs Meets Instruction Tuning (2023) ha demostrado que los MoEs responden de manera favorable a una instrucción múltiple, lo que ha llevado a un mejor desempeño en tareas que requieren conocimiento intensivo.


¿Cuándo Usar MoEs vs. Modelos Densos?

  • MoEs son ideales para escenarios de alto rendimiento y capacidad computacional donde existen múltiples máquinas o procesadores, aprovechando la computación distribuida para una inferencia más rápida.

  • Modelos densos son mejores para aplicaciones con limitaciones de VRAM y baja capacidad de procesamiento.


Técnicas de Paralelismo en MoEs

En un entorno de paralelismo, se usan varias estrategias:


  • Paralelismo de datos: los mismos pesos se replican en todos los núcleos.

  • Paralelismo de modelos: el modelo se divide entre núcleos.

  • Paralelismo de expertos: cada experto reside en un núcleo diferente.


El paralelismo de expertos permite una distribución efectiva de tokens y un procesamiento rápido al distribuir la carga en múltiples dispositivos.


Técnicas de Servicio y Entrenamiento Eficiente

Para mejorar el servicio de modelos MoE en producción, existen varias técnicas:


  • Destilación: permite transferir el conocimiento de un MoE a un modelo denso más pequeño, manteniendo parte de los beneficios de la espaciosidad.

  • Modificación del enrutamiento: algunos enfoques recientes exploran el envío de oraciones completas a expertos específicos, lo cual facilita el despliegue de redes de expertos en producción.

  • Agregación de expertos: combina pesos de expertos para reducir la cantidad de parámetros necesarios en inferencia.


Contacta con HRS
¿Necesitas más información?

Además, propuestas como Megablocks y FasterMoE han desarrollado algoritmos y estrategias para hacer que el entrenamiento de MoEs sea más eficiente, mejorando la asignación de tokens y minimizando costos de comunicación.





Conclusión y Recursos

Los Mixture of Experts ofrecen un camino prometedor para escalar modelos de lenguaje con un consumo computacional eficiente. Aunque enfrentan desafíos en cuanto a costos de memoria y sobreajuste, investigaciones recientes como Switch Transformers y MoEs Meets Instruction Tuning muestran avances significativos.


  • Los MoEs ofrecen entrenamiento e inferencia más rápidos en comparación con modelos densos.

  • Requieren alta capacidad de VRAM, ya que todos los expertos deben cargarse en memoria.

  • Tienen desafíos en el ajuste fino, pero la instrucción múltiple presenta resultados prometedores.


Recursos Adicionales

2 Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
Matias Felix Ruiz
Matias Felix Ruiz
Nov 18, 2024
Rated 5 out of 5 stars.

Post super util! Mil gracias por compartir!

Like

Kevin Anderson
Kevin Anderson
Nov 16, 2024
Rated 5 out of 5 stars.

¡Gracias por tu tiempo y lectura! Próximamente estare escribiendo sobre Mistral y el uso de MoE.

Like
bottom of page