talón El auge de la combinación de expertos para modelos de lenguajes grandes y eficientes - Unite.AI
Contáctanos

Inteligencia artificial

El auge de la combinación de expertos en modelos de lenguajes grandes y eficientes

mm
Actualizado on
Mezcla de Expertos Grok Mistral

En el mundo del procesamiento del lenguaje natural (PNL), la búsqueda de construir modelos de lenguaje más grandes y más capaces ha sido una fuerza impulsora detrás de muchos avances recientes. Sin embargo, a medida que estos modelos crecen en tamaño, los requisitos computacionales para el entrenamiento y la inferencia se vuelven cada vez más exigentes, superando los límites de los recursos de hardware disponibles.

Ingrese a la Mezcla de Expertos (MoE), una técnica que promete aliviar esta carga computacional al tiempo que permite el entrenamiento de modelos de lenguaje más grandes y potentes. A continuación, analizaremos MoE, exploraremos sus orígenes, su funcionamiento interno y sus aplicaciones en modelos de lenguaje basados ​​en transformadores.

Los orígenes de la mezcla de expertos

El concepto de mezcla de expertos (MoE) se remonta a principios de la década de 1990, cuando los investigadores exploraron la idea de la computación condicional, en la que partes de una red neuronal se activan selectivamente en función de los datos de entrada. Uno de los trabajos pioneros en este campo fue el “Mezcla adaptativa de expertos locales”artículo de Jacobs et al. en 1991, que propuso un marco de aprendizaje supervisado para un conjunto de redes neuronales, cada una de las cuales se especializa en una región diferente del espacio de entrada.

La idea central detrás del MoE es tener múltiples redes "expertas", cada una responsable de procesar un subconjunto de los datos de entrada. Un mecanismo de activación, normalmente una red neuronal, determina qué expertos deben procesar una entrada determinada. Este enfoque permite que el modelo asigne sus recursos computacionales de manera más eficiente al activar solo a los expertos relevantes para cada entrada, en lugar de emplear toda la capacidad del modelo para cada entrada.

A lo largo de los años, varios investigadores exploraron y ampliaron la idea de la computación condicional, lo que condujo a desarrollos como MoE jerárquicos, aproximaciones de bajo rango para la computación condicional y técnicas para estimar gradientes a través de neuronas estocásticas y funciones de activación de umbral estricto.

Mezcla de expertos en transformadores

Mezcla de expertos

Mezcla de expertos

Mientras que la idea de MoE ha existido durante décadas, su aplicación a modelos de lenguaje basados ​​en transformadores es relativamente reciente. Los transformadores, que se han convertido en el estándar de facto para los modelos de lenguaje de última generación, se componen de múltiples capas, cada una de las cuales contiene un mecanismo de autoatención y una red neuronal de retroalimentación (FFN).

La innovación clave en la aplicación de MoE a los transformadores es reemplazar las densas capas de FFN con capas escasas de MoE, cada una de las cuales consta de múltiples FFN expertos y un mecanismo de activación. El mecanismo de activación determina qué expertos deben procesar cada token de entrada, lo que permite que el modelo active selectivamente solo un subconjunto de expertos para una secuencia de entrada determinada.

Uno de los primeros trabajos que demostró el potencial del MoE en los transformadores fue el artículo “Outragefully Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer” de Shazeer et al. en 2017. Este trabajo introdujo el concepto de una capa MoE escasamente controlada, que empleaba un mecanismo de activación que agregaba escasez y ruido al proceso de selección de expertos, asegurando que solo se activara un subconjunto de expertos para cada entrada.

Desde entonces, varios otros trabajos han avanzado aún más en la aplicación de MoE a los transformadores, abordando desafíos como la inestabilidad del entrenamiento, el equilibrio de carga y la inferencia eficiente. Ejemplos notables incluyen el Transformador de interruptor (Fedus et al., 2021), ST-MoE (Zoph et al., 2022), y GLAMOUR (Du et al., 2022).

Beneficios de la combinación de expertos para modelos de lenguaje

El principal beneficio de emplear MoE en modelos de lenguaje es la capacidad de aumentar el tamaño del modelo manteniendo un costo computacional relativamente constante durante la inferencia. Al activar selectivamente solo un subconjunto de expertos para cada token de entrada, los modelos MoE pueden lograr el poder expresivo de modelos densos mucho más grandes y al mismo tiempo requieren muchos menos cálculos.

Por ejemplo, considere un modelo de lenguaje con una capa FFN densa de 7 mil millones de parámetros. Si reemplazamos esta capa con una capa MoE que consta de ocho expertos, cada uno con 7 mil millones de parámetros, el número total de parámetros aumenta a 56 mil millones. Sin embargo, durante la inferencia, si solo activamos dos expertos por token, el costo computacional es equivalente a un modelo denso de 14 mil millones de parámetros, ya que calcula dos multiplicaciones de matrices de 7 mil millones de parámetros.

Esta eficiencia computacional durante la inferencia es particularmente valiosa en escenarios de implementación donde los recursos son limitados, como dispositivos móviles o entornos informáticos de vanguardia. Además, los requisitos computacionales reducidos durante la capacitación pueden generar ahorros sustanciales de energía y una menor huella de carbono, en consonancia con el creciente énfasis en las prácticas sostenibles de IA.

Desafíos y Consideraciones

Si bien los modelos MoE ofrecen beneficios convincentes, su adopción e implementación también conlleva varios desafíos y consideraciones:

  1. Inestabilidad de entrenamiento: Se sabe que los modelos MoE son más propensos a sufrir inestabilidades en el entrenamiento en comparación con sus homólogos densos. Este problema surge de la naturaleza escasa y condicional de las activaciones de expertos, lo que puede generar desafíos en la propagación y convergencia de gradientes. Se han propuesto técnicas como la pérdida z del enrutador (Zoph et al., 2022) para mitigar estas inestabilidades, pero aún se necesita más investigación.
  2. Ajuste y sobreajuste: Los modelos MoE tienden a sobreajustarse más fácilmente durante el ajuste fino, especialmente cuando la tarea posterior tiene un conjunto de datos relativamente pequeño. Este comportamiento se atribuye a la mayor capacidad y escasez de los modelos MoE, lo que puede conducir a una especialización excesiva en los datos de entrenamiento. Se requieren estrategias cuidadosas de regularización y ajuste para mitigar este problema.
  3. Requisitos de memoria: Si bien los modelos MoE pueden reducir los costos computacionales durante la inferencia, a menudo tienen requisitos de memoria más altos en comparación con modelos densos de tamaño similar. Esto se debe a que todos los pesos expertos deben cargarse en la memoria, aunque solo se active un subconjunto para cada entrada. Las limitaciones de memoria pueden limitar la escalabilidad de los modelos MoE en dispositivos con recursos limitados.
  4. Balanceo de carga: Para lograr una eficiencia computacional óptima, es crucial equilibrar la carga entre los expertos, asegurando que ningún experto esté sobrecargado mientras otros permanecen infrautilizados. Este equilibrio de carga generalmente se logra mediante pérdidas auxiliares durante el entrenamiento y un ajuste cuidadoso del factor de capacidad, que determina la cantidad máxima de tokens que se pueden asignar a cada experto.
  5. Gastos generales de comunicación: En escenarios de inferencia y entrenamiento distribuido, los modelos MoE pueden introducir una sobrecarga de comunicación adicional debido a la necesidad de intercambiar información de activación y gradiente entre expertos que residen en diferentes dispositivos o aceleradores. Las estrategias de comunicación eficientes y el diseño de modelos conscientes del hardware son esenciales para mitigar esta sobrecarga.

A pesar de estos desafíos, los beneficios potenciales de los modelos MoE al permitir modelos de lenguaje más grandes y más capaces han estimulado importantes esfuerzos de investigación para abordar y mitigar estos problemas.

Ejemplo: Mixtral 8x7B y GLaM

Para ilustrar la aplicación práctica de MoE en modelos de lenguaje, consideremos dos ejemplos notables: Mixtral 8x7B y GLaM.

Mixtral 8x7B es una variante MoE del modelo de lengua mistral, desarrollado por Anthropic. Está formado por ocho expertos, cada uno con 7 mil millones de parámetros, lo que da como resultado un total de 56 mil millones de parámetros. Sin embargo, durante la inferencia, solo se activan dos expertos por token, lo que reduce efectivamente el costo computacional al de un modelo denso de 14 mil millones de parámetros.

Mixtral 8x7B ha demostrado un rendimiento impresionante, superando al modelo Llama de 70 mil millones de parámetros y ofreciendo tiempos de inferencia mucho más rápidos. También se lanzó una versión adaptada a las instrucciones de Mixtral 8x7B, llamada Mixtral-8x7B-Instruct-v0.1, que mejora aún más sus capacidades para seguir instrucciones en lenguaje natural.

Otro ejemplo digno de mención es GLaM (Google Language Model), un modelo MoE a gran escala desarrollado por Google. GLaM emplea una arquitectura transformadora solo decodificadora y fue entrenado en un enorme conjunto de datos de tokens de 1.6 billones. El modelo logra un rendimiento impresionante en evaluaciones de pocos disparos y de un solo disparo, igualando la calidad de GPT-3 y utilizando solo un tercio de la energía necesaria para entrenar a GPT-3.

El éxito de GLaM se puede atribuir a su eficiente arquitectura MoE, que permitió entrenar un modelo con una gran cantidad de parámetros manteniendo requisitos computacionales razonables. El modelo también demostró el potencial de los modelos MoE para ser más eficientes energéticamente y ambientalmente sostenibles en comparación con sus contrapartes densos.

La arquitectura Grok-1

MEZCLA GROK DE EXPERTO

MEZCLA GROK DE EXPERTO

Grok-1 es un modelo MoE basado en transformador con una arquitectura única diseñada para maximizar la eficiencia y el rendimiento. Profundicemos en las especificaciones clave:

  1. parámetros: Con la asombrosa cifra de 314 mil millones de parámetros, Grok-1 es el LLM abierto más grande hasta la fecha. Sin embargo, gracias a la arquitectura MoE, solo el 25 % de los pesos (aproximadamente 86 mil millones de parámetros) están activos en un momento dado, lo que mejora las capacidades de procesamiento.
  2. Arquitectura: Grok-1 emplea una arquitectura de mezcla de 8 expertos, en la que cada token es procesado por dos expertos durante la inferencia.
  3. capas: El modelo consta de 64 capas transformadoras, cada una de las cuales incorpora atención multicabezal y bloques densos.
  4. Tokenization: Grok-1 utiliza un tokenizador SentencePiece con un tamaño de vocabulario de 131,072 tokens.
  5. Incrustaciones y codificación posicional: El modelo presenta incrustaciones de 6,144 dimensiones y emplea incrustaciones posicionales giratorias, lo que permite una interpretación más dinámica de los datos en comparación con las codificaciones posicionales fijas tradicionales.
  6. Atención: Grok-1 utiliza 48 cabezales de atención para consultas y 8 cabezales de atención para claves y valores, cada uno con un tamaño de 128.
  7. Longitud del contexto: El modelo puede procesar secuencias de hasta 8,192 tokens de longitud, utilizando precisión bfloat16 para un cálculo eficiente.

Detalles de rendimiento e implementación

Grok-1 ha demostrado un rendimiento impresionante, superando a LLaMa 2 70B y Mixtral 8x7B con una puntuación MMLU del 73 %, lo que demuestra su eficiencia y precisión en varias pruebas.

Sin embargo, es importante tener en cuenta que Grok-1 requiere importantes recursos de GPU debido a su gran tamaño. La implementación actual en la versión de código abierto se centra en validar la corrección del modelo y emplea una implementación de capa MoE ineficiente para evitar la necesidad de núcleos personalizados.

No obstante, el modelo admite fragmentación de activación y cuantificación de 8 bits, lo que puede optimizar el rendimiento y reducir los requisitos de memoria.

En un movimiento notable, xAI ha lanzado Grok-1 bajo la licencia Apache 2.0, haciendo que sus pesos y arquitectura sean accesibles a la comunidad global para su uso y contribuciones.

La versión de código abierto incluye un repositorio de código de ejemplo JAX que demuestra cómo cargar y ejecutar el modelo Grok-1. Los usuarios pueden descargar los pesos de los puntos de control utilizando un cliente torrent o directamente a través de HuggingFace Hub, lo que facilita el acceso a este modelo innovador.

El futuro de la combinación de expertos en modelos lingüísticos

A medida que continúa creciendo la demanda de modelos de lenguaje más grandes y más capaces, se espera que la adopción de técnicas MoE gane mayor impulso. Los esfuerzos de investigación en curso se centran en abordar los desafíos restantes, como mejorar la estabilidad del entrenamiento, mitigar el sobreajuste durante el ajuste y optimizar los requisitos de memoria y comunicación.

Una dirección prometedora es la exploración de arquitecturas jerárquicas de MoE, donde cada experto está compuesto por múltiples subexpertos. Este enfoque podría permitir potencialmente una escalabilidad y eficiencia computacional aún mayores, manteniendo al mismo tiempo el poder expresivo de los modelos grandes.

Además, el desarrollo de sistemas de hardware y software optimizados para modelos MoE es un área activa de investigación. Los aceleradores especializados y los marcos de capacitación distribuidos diseñados para manejar de manera eficiente los patrones de cálculo dispersos y condicionales de los modelos MoE podrían mejorar aún más su rendimiento y escalabilidad.

Además, la integración de las técnicas de MoE con otros avances en el modelado del lenguaje, como mecanismos de atención dispersa, estrategias de tokenización eficientes y representaciones multimodales, podría conducir a modelos de lenguaje aún más potentes y versátiles capaces de abordar una amplia gama de tareas.

Conclusión

La técnica de la mezcla de expertos ha surgido como una herramienta poderosa en la búsqueda de modelos de lenguaje más grandes y capaces. Al activar selectivamente a expertos en función de los datos de entrada, los modelos MoE ofrecen una solución prometedora a los desafíos computacionales asociados con la ampliación de modelos densos. Si bien todavía quedan desafíos por superar, como la inestabilidad del entrenamiento, el sobreajuste y los requisitos de memoria, los beneficios potenciales de los modelos MoE en términos de eficiencia computacional, escalabilidad y sostenibilidad ambiental los convierten en un área apasionante de investigación y desarrollo.

A medida que el campo del procesamiento del lenguaje natural continúa superando los límites de lo que es posible, es probable que la adopción de técnicas MoE desempeñe un papel crucial para permitir la próxima generación de modelos de lenguaje. Al combinar MoE con otros avances en arquitectura de modelos, técnicas de capacitación y optimización de hardware, podemos esperar modelos de lenguaje aún más potentes y versátiles que realmente puedan comprender y comunicarse con los humanos de una manera natural y fluida.

He pasado los últimos cinco años sumergiéndome en el fascinante mundo del aprendizaje automático y el aprendizaje profundo. Mi pasión y experiencia me han llevado a contribuir en más de 50 proyectos diversos de ingeniería de software, con un enfoque particular en AI/ML. Mi curiosidad constante también me ha atraído hacia el procesamiento del lenguaje natural, un campo que estoy ansioso por explorar más a fondo.