Pruebe nuestro LLM Masker
Pruebe nuestro LLM Masker
Featured Image

11 minutos de lectura

03/07/2024

Explicamos la Mezcla de Expertos (MoE) El futuro de los sistemas GenAI

Hoy explicamos qué es una Mezcla de Expertos, cómo funciona y la razón por la que está detrás de las mejores arquitecturas de los grandes modelos de lenguaje (LLM).

Entendamos el Concepto de Mezcla de Expertos (Mixture of Experts)

La estructura MoE apareció mucho antes de que el aprendizaje profundo y la IA se volvieran populares. Propuesto originalmente en 1991 por Robert A. Jacobs y Michael I. Jordan del Departamento de Ciencias del Cerebro y la Cognición en el MIT y Steven J. Nowlan y Geoffrey E. Hinton (ganador del premio Alan Turing, jefe de IA en Google,  puesto que abandonó en mayo de 2023) del Departamento de Ciencias de la Computación en la Universidad de Toronto, el concepto de "Mixture of Experts" (MoE) es una técnica de aprendizaje automático basada en el uso de grandes cantidades de datos s que implica entrenar múltiples modelos. La arquitectura adopta un paradigma de cálculo condicional al seleccionar solo partes de un conjunto, conocido como 'expertos' y activándolos según los datos o la tarea en cuestión. Cada modelo o 'experto' se especializa en una parte diferente del espacio de entrada, por lo que es capaz de realizar una predicción para una entrada dada. Las predicciones se combinan en una salida final basada en los niveles de confianza de los expertos. Sin embargo, MoE se comporta como un solo modelo grande.

¿Por qué utilizar una mezcla de expertos?

La MoE se ha utilizado con éxito en varias aplicaciones de distintos campos. En el procesamiento del lenguaje natural, MoE se ha utilizado para tareas como la traducción automática, el análisis de sentimientos y la respuesta a preguntas. Al combinar las predicciones de múltiples modelos lingüísticos, MoE puede mejorar la precisión de la traducción y comprender el sentimiento de textos complejos.

En el campo de la visión por ordenador, MoE se ha utilizado para tareas como el reconocimiento de objetos, el subtitulado de imágenes y el análisis de vídeo. Combinando los resultados de varios modelos, MoE puede identificar con precisión objetos en imágenes, generar subtítulos descriptivos y analizar contenidos de vídeo.

MoE también ha encontrado aplicaciones en los sistemas de recomendación, donde se utiliza para personalizar las recomendaciones en función de las preferencias y el comportamiento del usuario. Al combinar las predicciones de varios modelos de recomendación, MoE puede ofrecer recomendaciones más precisas y diversas, lo que mejora la satisfacción del usuario.

Entre las ventajas de utilizar MoE en estas aplicaciones se incluyen una mayor precisión, robustez ante datos complejos y adaptabilidad a las diferentes preferencias de los usuarios. La MoE puede captar patrones y relaciones complejas en los datos, lo que da lugar a predicciones más precisas. También es robusta frente a datos diversos y ruidosos, lo que la convierte en ideal para aplicaciones del mundo real. Además, la MoE puede adaptarse a las distintas preferencias de los usuarios asignando distintos pesos a los expertos en función de los comentarios de los usuarios, lo que proporciona recomendaciones personalizadas.

¿Para qué sirve una mezcla de expertos en el aprendizaje automático?

Como hemos mencionado antes, utilizamos el término MoE en aprendizaje automático para definir un método de aprendizaje ensemble que combina las predicciones de múltiples modelos "expertos" para realizar predicciones más precisas y robustas. Algunos ejemplos son ChatGPT (del que se rumorea que es un sistema de 8 expertos con 277B parámetros) o Mixtral 8x7B (que declara en su nombre ser también un sistema de 8 expertos pero entrenado con 7B parámetros). No nos dejemos engañar por la suposición de que más parámetros hacen un sistema "mejor". Han aparecido pequeños sistemas especializados que baten a ChatGPT en varias tareas. Existen pequeños sistemas especializados que baten a ChatGPT en varias tareas.

Yann LeCun criticizing journalists talking nonsense about billions of parametersSecond tweet from Yann LeCun criticizing journalists talking nonsense about billions of parameters

La idea subyacente a los modelos MoE es que podemos tener diferentes modelos que pueden resultar mejores para hacer predicciones precisas en determinados subconjuntos de datos, por lo que el conjunto de ellos puede superar las limitaciones de cualquier modelo individual y brindar un mejor rendimiento general.  

“Veremos que los modelos pequeños con ventanas de contexto grandes, una atención mejorada y acceso a repositorios de datos privados, van a ser el futuro de la inteligencia artificial, particularmente la GenAI privada. Esto permite que los sistemas de IA utilicen herramientas como bases de datos vectoriales y grafos de conocimiento para aprovechar los datos actualizados al minuto, en lugar de depender únicamente de entrenamiento estático o desactualizado.” - Manuel Herranz, CEO

 

Cómo funciona una Mezcla de Expertos

Una red Mezcla de Expertos (MoE) funciona dividiendo los datos de entrada en varios subconjuntos o "clústers" (agrupaciones) según alguna métrica de similitud. A continuación, cada clúster se asigna a un modelo experto específico, que se entrena para especializarse en hacer predicciones para ese clúster. Cada experto se ha entrenado de forma independiente en un subconjunto de los datos de entrenamiento utilizando un algoritmo o arquitectura específica adaptada a sus fortalezas particulares. Por ejemplo, un experto puede usar una red neuronal profunda con muchas capas para capturar relaciones complejas en los datos, mientras que otro puede usar un modelo de regresión lineal más sencillo para manejar casos directos.

Una vez entrenados todos los expertos, se combinan en un único sistema a través de un mecanismo de compuerta (gate mechanism), que determina el peso o la importancia asignada a la salida de cada experto en función de las características de entrada y el nivel de confianza de cada experto individual.

Al realizar una predicción, el MoE primero determina a qué región pertenece el input y, a continuación, utiliza el modelo experto correspondiente para realizar la predicción. Esto permite que el MoE aproveche las fortalezas de diferentes modelos para diferentes partes del espacio de entrada, lo que resulta en predicciones más precisas y más robustas. La predicción final del modelo MoE es una combinación ponderada de las predicciones de todos los modelos expertos. Los pesos para la combinación suelen determinarlos el mecanismo de compuerta.

A Mixture of Experts is always better than lonely talent.jpeg

Componentes clave de una Mezcla de Expertos

Una Mezcla de Expertos consta de varios componentes clave que trabajan juntos para hacer predicciones precisas. Estos componentes incluyen:

1. Expertos: Son los modelos individuales que se especializan en subtareas específicas o subconjuntos del espacio de entrada. Cada experto es responsable de hacer predicciones basadas en su conocimiento especializado.

2. Compuerta: Determina las contribuciones de cada experto en función de los datos de entrada. Asigna pesos a las predicciones de cada experto, garantizando que se dé más importancia a la salida del experto más relevante.

3. Método de combinación: El método de combinación combina las predicciones de todos los expertos para formar la predicción final. Puede ser tan sencillo como promediar los resultados o utilizar técnicas más sofisticadas, como la media ponderada o el apilamiento.

4. Algoritmo de entrenamiento: El algoritmo de entrenamiento se encarga de optimizar los parámetros de los expertos y de la red de compuerta. Su objetivo es minimizar el error de predicción y maximizar el rendimiento global del modelo MoE.

Estos componentes clave trabajan de forma coordinada para aprovechar los puntos fuertes de los distintos modelos y realizar predicciones precisas. Al combinar los resultados de varios expertos, un MoE puede captar relaciones complejas y mejorar la precisión general de las predicciones.

La compuerta o mecanismo de compuerta suele adoptar la forma de una red neuronal independiente que aprende a

 

La compuerta

La compuerta o mecanismo de compuerta suele adoptar la forma de una red neuronal independiente que aprende a

  • predecir la probabilidad de que una entrada pertenezca a cada clúster, y
  • predecir qué experto tendrá mejor rendimiento dado una entrada particular.

Esto permite que el sistema en su totalidad se adapte dinámicamente a nuevas entradas y ajuste las contribuciones relativas de cada experto en consecuencia. Durante el entrenamiento, tanto los expertos como el mecanismo de selección se actualizan simultáneamente para minimizar el error general en todo el conjunto de datos.

La red de selección toma la entrada y produce un vector de probabilidades, las cuales posteriormente se utilizan para calcular una suma ponderada de las predicciones de los modelos expertos. Si lo uno lo piensa detenidamene, esta Mezcla de Expertos comienza a reflejar mejor cómo funcionan los cerebros de los mamíferos, con áreas distintas para procesar el olor, la visión, el sonido, etcétera. Nuestro propio cerebro activa ciertas áreas para ciertas tareas: nuestros cerebros no están "siempre encendidos" al máximo, pero están trabajando en muchas tareas todo el tiempo. Los neurólogos han desacreditado el "Mito del 10%", una creencia popular sin ninguna base en absoluto que solía afirmar que los humanos solo usaban una pequeña fracción de sus cerebros y podrían obtener superpoderes mágicos solo si despertaran el resto del cerebro. En lugar de actuar como una masa única, el cerebro tiene regiones distintas para diferentes tipos de procesamiento de información en lo que se llama "especialización hemisférica". Décadas de investigación se han dedicado a mapear funciones en áreas del cerebro, y no se han encontrado áreas sin función alguna.

La verdad es que algunas áreas están más "activadas" al leer, otras al preparar alimentos y cocinar, y otras cuando escuchamos música o estamos inmersos en una conversación profunda, pero todo el cerebro está activo incluso en períodos de sueño y continuamente intercambiando información: regulando, monitoreando, sintiendo, interpretando, razonando, planeando y actuando. Incluso las personas con trastornos neurales degenerativos como el Alzheimer y el Parkinson siguen usando más del 10% de sus cerebros.

Al desacreditar el mito del diez por ciento, la editora de Knowing Neurons, Gabrielle-Ann Torre, escribe que usar todo el cerebro no sería deseable tampoco, que es exactamente cómo funciona un MoE tradicional (en los nuevos modelos "sparse" varias áreas pueden estar activas para una tarea y solo se utilizan dos agentes para la inferencia). Si todo el cerebro se usase sin restricciones para todas las tareas, casi con certeza desencadenaría una convulsión epiléptica. Torre escribe que, incluso en reposo, es probable que una persona use tanto de su cerebro como sea razonablemente posible a través de la red predeterminada, una red cerebral ampliamente activa y sincronizada incluso en ausencia de cualquier tarea cognitiva. Torre dice que "grandes porciones del cerebro nunca están realmente inactivas, como sugiería el mito del 10%".

La compuerta (mecanismo de selección) actúa casi como eso, como el maestro de ceremonias, sabiendo qué experto y área confiar más en cada momento: no es lo mismo enfocarse en correr que en escribir un ensayo. No es lo mismo solicitar a un sistema traducciones de inglés que pedirle que escriba código Python o que explique el concepto de Council Tax en el Reino Unido.

 

Ventajas del MoE

Una ventaja clave de MoE sobre otros métodos de conjunto como el bagging o el boosting es que permite una mayor flexibilidad y personalización de los expertos individuales. Al permitir que cada experto se especialice en un aspecto particular del espacio del problema, MoE puede lograr una mayor precisión y mejor generalización de lo que sería posible con un único modelo monolítico que sea "bueno para todo", ya sea un modelo de 7B, 13B, 32B o 70B. Esta complejidad adicional también conlleva algunos inconvenientes, como requisitos computacionales más altos y dificultades potenciales en la optimización del mecanismo de selección.

Se ha demostrado que los modelos de MoE son efectivos en una variedad de aplicaciones, como el procesamiento del lenguaje natural, la visión por computadora y el reconocimiento de voz. Son particularmente útiles en situaciones donde los datos son complejos y se pueden dividir en subconjuntos distintos, y donde diferentes modelos pueden ser más adecuados para hacer predicciones para diferentes subconjuntos.

Uno de los beneficios clave de los modelos de MoE es que permiten un uso más eficiente de los recursos computacionales. Al especializar cada modelo experto en un clúster específico, el sistema en su conjunto puede ser más eficiente al evitar la necesidad de entrenar un único modelo monolítico en todo el conjunto de datos. Además, los modelos de MoE pueden ser más robustos ante cambios en la distribución de datos, ya que la red de selección puede adaptarse a cambios en los datos y asignar más recursos a los modelos expertos que mejor se adapten al manejo de los nuevos datos.

Sin embargo, los modelos de MoE son mucho más complejos de entrenar y desplegar en comparación con los modelos tradicionales de aprendizaje automático, ya que requieren el entrenamiento de múltiples modelos y una red de selección. Además, los modelos de MoE pueden ser más propensos al sobreajuste si no se elige cuidadosamente el número de clústeres o modelos expertos.

Uno de los beneficios clave de los modelos de MoE es que permiten un uso más eficiente de los recursos del modelo. Al dividir el espacio de entrada en múltiples regiones y asignar un modelo experto diferente a cada región, el MoE puede usar un modelo más pequeño y especializado para cada región, en lugar de usar un único modelo grande y general. Esto puede conducir a mejoras significativas tanto en eficiencia computacional como en precisión predictiva.

Otro beneficio de los modelos de MoE es que son altamente flexibles y pueden adaptarse fácilmente a una amplia gama de tareas y dominios de entrada. Al agregar o eliminar modelos expertos, y al ajustar la red de selección, el MoE puede ser fácilmente personalizado para satisfacer las necesidades de una tarea o aplicación particular.

 

Entrenamiento e Implementación de Mezcla de Expertos

El entrenamiento de una Mezcla de Expertos implica dos pasos principales: entrenar a los expertos y entrenar la red de enrutamiento.

Para entrenar a los expertos, los datos se dividen en subconjuntos basados en las subtareas o subconjuntos del espacio de entrada. Cada experto es entrenado en su correspondiente subconjunto, optimizando sus parámetros para realizar predicciones precisas para esa subtarea específica.

Una vez que los expertos están entrenados, la red de enrutamiento se entrena utilizando los datos de entrada y las predicciones de los expertos. La red de enrutamiento aprende a asignar pesos a la predicción de cada experto basado en los datos de entrada, asegurando que la salida del experto más relevante tenga mayor importancia. La red de enrutamiento típicamente se entrena utilizando técnicas como la retropropagación o el aprendizaje por refuerzo.

Implementar una Mezcla de Expertos implica diseñar e implementar a los expertos, la red de enrutamiento y el método de combinación. Los expertos pueden ser cualquier modelo de aprendizaje automático, tales como redes neuronales, árboles de decisión o máquinas de vectores de soporte. La red de enrutamiento puede ser implementada utilizando redes neuronales u otras técnicas que puedan asignar pesos a las predicciones de los expertos. El método de combinación puede ser tan simple como promediar las salidas o utilizar técnicas más sofisticadas, dependiendo de la aplicación específica.

Es importante sintonizar cuidadosamente los parámetros y la arquitectura de los expertos y la red de enrutamiento para lograr el mejor rendimiento. Además, el proceso de entrenamiento puede requerir una gran cantidad de datos etiquetados y recursos computacionales, dependiendo de la complejidad del problema y los modelos utilizados.

 

Diferencia entre modelos dispersos y MoE tradicional

La diferencia entre los modelos tradicionales de Mezcla de Expertos (MoE) y los modelos dispersos de MoE radica principalmente en su arquitectura y en cómo asignan los recursos computacionales. Veamos las distinciones clave:

Modelos tradicionales de MoE:

  1. Utilización densa de expertos: En los modelos tradicionales de MoE, suele haber un número significativo de expertos activos para cada entrada. Esto significa que, para cualquier dato dado, varios expertos proporcionan sus resultados, que luego se combinan para producir el resultado final.

  2. Sobrecarga computacional: Debido a que muchos expertos participan en el procesamiento de cada entrada, los modelos tradicionales de MoE pueden ser computacionalmente costosos. Esto puede dar lugar a ineficiencias, especialmente cuando se escala el modelo para conjuntos de datos grandes o tareas complejas.

  3. Experiencia uniforme: A menudo, los expertos en los modelos tradicionales de MoE no están altamente especializados. Pueden tener habilidades o áreas de conocimiento superpuestas, lo que lleva a un procesamiento redundante.

Modelos MoE dispersos:

  1. Activación Selectiva de Expertos: Los modelos MoE dispersos están diseñados para activar solo un pequeño subconjunto de expertos para cada entrada. La red de enrutamiento del modelo decide de manera inteligente cuáles expertos son los más relevantes para la tarea específica en cuestión, reduciendo así el número de expertos activos en cualquier momento.
  2. Eficiencia y Escalabilidad: La dispersión en la activación de expertos hace que estos modelos sean más eficientes y escalables. Son más adecuados para manejar tareas de gran envergadura ya que reducen la carga computacional utilizando únicamente los expertos necesarios.
  3. Especialización de los Expertos: En los modelos MoE dispersos, los expertos suelen ser más especializados. Cada experto está ajustado finamente para un tipo específico de tarea o datos, asegurando que el modelo utilice el conocimiento y las habilidades más relevantes para cada entrada.
  4. Balance de Carga y Gestión de Recursos: Los modelos MoE dispersos típicamente incluyen mecanismos para balancear la carga entre los distintos expertos y gestionar los recursos computacionales de manera más efectiva. Esto es crucial en aplicaciones de gran escala, donde la optimización de recursos es clave. Nuestra experiencia en Pangeanic nos indica que es esencial contar con un balanceador de carga fiable y de buena calidad cuando cientos o miles de usuarios necesitan acceder a tus recursos en momentos de máxima demanda (aún no estamos en la competencia de millones de usuarios).

En resumen, aunque tanto los modelos MoE tradicionales como los dispersos utilizan una colección de expertos para procesar datos, los modelos MoE dispersos (de última generación) son más eficientes al utilizar estos expertos. Mediante la activación selectiva de un número limitado de expertos altamente especializados para cada tarea, los modelos MoE dispersos logran una mayor eficiencia computacional y escalabilidad, haciéndolos más aptos para aplicaciones complejas y de gran escala.

 

Retos y futuro para la Mezcla de Expertos

Uno de los retos para quienes estamos en el campo es y será la selección y el diseño de los expertos. Es importante elegir expertos que se complementen entre sí y cubran distintos aspectos del problema. El diseño de expertos eficaces requiere conocimientos y experiencia en el campo, así como una cuidadosa ingeniería de características.

Otro reto es el entrenamiento y la optimización de la red de compuertas (mecanismo de selección). La red debe aprender a asignar los pesos adecuados a cada predicción de los expertos en función de los datos de entrada. Esto requiere una gran cantidad de datos etiquetados y recursos informáticos, así como un cuidadoso ajuste de la arquitectura de la red y el algoritmo de entrenamiento.

El futuro de la Mezcla de Expertos parece muy prometedor y es donde Pangeanic está poniendo sus esfuerzos de desarrollo y personalización para crear excelentes sistemas de GenAI para sus clientes. Con los avances en Deep Learning e IA, hay oportunidades para mejorar el rendimiento y la eficiencia de los modelos MoE. La investigación futura puede centrarse en desarrollar modelos expertos más avanzados, explorar nuevos métodos de combinación y encontrar formas de reducir los requisitos computacionales del entrenamiento de modelos MoE.

En general, la arquitectura de Mezcla de Expertos tiene el potencial de revolucionar el campo de los sistemas de GenAI profunda aprovechando los puntos fuertes de múltiples modelos y capturando relaciones complejas en los datos. Se trata de un área de investigación apasionante con aplicaciones prometedoras en innumerables ámbitos.