Las arquitecturas de mezcla de expertos (MoE) están adquiriendo importancia en el campo de la inteligencia artificial (IA), que está en rápido desarrollo, y permiten la creación de sistemas más eficaces, escalables y adaptables. MoE optimiza la potencia de cálculo y la utilización de recursos mediante el empleo de un sistema de submodelos especializados, o expertos, que se activan de forma selectiva en función de los datos de entrada. Debido a su activación selectiva, MoE tiene una gran ventaja sobre los modelos densos convencionales, ya que puede abordar tareas complejas manteniendo la eficiencia de cálculo.
Ante la creciente complejidad de los modelos de IA y la necesidad de potencia de procesamiento, MoE ofrece un sustituto adaptable y eficaz. Los modelos de gran tamaño se pueden escalar con éxito con este diseño sin necesidad de un aumento correspondiente de la potencia de procesamiento. Se han desarrollado varios marcos que permiten a los académicos y desarrolladores probar MoE a gran escala.
Los diseños de MoE son excepcionales en cuanto a lograr un equilibrio entre rendimiento y economía computacional. Los modelos densos convencionales, incluso para tareas sencillas, distribuyen la potencia computacional de manera uniforme. Por otro lado, MoE utiliza los recursos de manera más efectiva al seleccionar y activar solo los expertos pertinentes para cada actividad.
Causas principales de la creciente popularidad de MoE
- Mecanismos sofisticados para la compuerta
El mecanismo de activación que se encuentra en el centro del MoE se encarga de activar la experiencia adecuada. Las distintas técnicas de activación proporcionan distintos grados de eficiencia y complejidad:
- Sparse Gating: esta técnica reduce el consumo de recursos sin sacrificar el rendimiento, activando únicamente una parte de los expertos para cada actividad.
- Puerta densa: al activar a todos los expertos, la puerta densa maximiza el uso de recursos y al mismo tiempo aumenta la complejidad computacional.
- Soft Gating: al combinar tokens y expertos, esta técnica totalmente diferenciable garantiza un flujo de gradiente continuo a través de la red.
- Eficacia expandible
La escalabilidad eficiente de MoE es uno de sus puntos fuertes. Aumentar la escala de un modelo tradicional suele dar como resultado mayores requisitos de procesamiento. Sin embargo, con MoE, los modelos se pueden escalar sin aumentar las demandas de recursos porque solo una parte del modelo está habilitada para cada trabajo. Debido a esto, MoE es especialmente útil en aplicaciones como el procesamiento del lenguaje natural (NLP), donde existe una necesidad de modelos a gran escala pero una limitación grave de recursos.
- Evolución y adaptabilidad
El MoE es flexible en otros aspectos, además de la eficiencia computacional. Se puede utilizar en diversos campos y es muy flexible. Por ejemplo, se puede incluir en sistemas que utilizan el aprendizaje permanente y el ajuste rápido, lo que permite que los modelos se adapten gradualmente a nuevas tareas. El elemento de computación condicional del diseño garantiza que siga siendo eficaz incluso cuando las tareas se vuelven más complejas.
Marcos para sistemas MoE de código abierto
La popularidad de las arquitecturas MoE ha provocado la creación de una serie de marcos de código abierto que permiten pruebas e implementaciones a gran escala.
Colossal-AI creó el marco de código abierto OpenMoE con el objetivo de facilitar el desarrollo de diseños de MoE. Aborda las dificultades que genera el tamaño creciente de los modelos de aprendizaje profundo, especialmente las limitaciones de memoria de una sola GPU. Para escalar el entrenamiento de modelos a sistemas distribuidos, OpenMoE ofrece una interfaz uniforme que admite técnicas de paralelismo de tensores, datos y canalización. Para maximizar el uso de la memoria, también se incorpora el Optimizador de redundancia cero (ZeRO). OpenMoE puede ofrecer una aceleración de hasta 2,76 veces en el entrenamiento de modelos a gran escala en comparación con los sistemas de referencia.
En Mila Quebec se creó una versión basada en Triton de Sparse Mixture-of-Experts (SMoE) en GPU, llamada ScatterMoE. Reduce el uso de memoria y acelera el entrenamiento y la inferencia. El procesamiento se puede realizar más rápidamente al evitar el relleno y la duplicación excesiva de entradas con ScatterMoE. Las arquitecturas MoE y Mixture of Attention se implementan utilizando ParallelLinear, uno de sus componentes esenciales. ScatterMoE es una opción sólida para implementaciones de MoE a gran escala porque ha demostrado mejoras notables en el rendimiento y la eficiencia de la memoria.
Una técnica desarrollada en la Universidad de Stanford llamada Megablocks tiene como objetivo aumentar la eficacia del entrenamiento de MoE en GPU. Al reformular el cálculo de MoE en operaciones con bloques dispersos, resuelve los inconvenientes de los marcos actuales. Al eliminar la necesidad de perder tokens o gastar dinero en relleno, este método aumenta enormemente la eficiencia.
Tutel es una solución de MoE optimizada diseñada tanto para la inferencia como para el entrenamiento. Presenta dos nuevos conceptos, “Paralelismo sin penalización” y “Cambio de escasez/capacidad”, que permiten un enrutamiento de tokens eficaz y un paralelismo dinámico. Tutel permite una canalización jerárquica y una comunicación flexible de todos a todos, lo que acelera significativamente tanto el entrenamiento como la inferencia. El rendimiento de Tutel en 2048 GPU A100 fue 5,75 veces más rápido en las pruebas, lo que demuestra su escalabilidad y utilidad para usos prácticos.
SE-MoE de Baidu utiliza DeepSpeed para proporcionar un paralelismo y una optimización de MoE superiores. Para aumentar la eficiencia de la capacitación y la inferencia, presenta métodos como la precarga 2D, la capacitación Elastic MoE y la comunicación Fusion. Con hasta un 33 % más de rendimiento que DeepSpeed, SE-MoE es una excelente opción para aplicaciones de IA a gran escala, en particular aquellas que involucran entornos informáticos heterogéneos.
HetuMoE es un sistema de entrenamiento de MoE mejorado, diseñado para funcionar con sistemas informáticos heterogéneos. Para aumentar la eficiencia del entrenamiento en clústeres de GPU básicos, introduce técnicas de comunicación jerárquica y permite una variedad de algoritmos de control. HetuMoE es una opción extremadamente eficaz para implementaciones de MoE a gran escala, ya que ha demostrado una aceleración de hasta 8,1x en algunas configuraciones.
FastMoE de la Universidad de Tsinghua ofrece un método rápido y eficaz para usar PyTorch para entrenar modelos MoE. Con su optimización de modelos de billones de parámetros, ofrece una solución escalable y adaptable para el entrenamiento distribuido. FastMoE es una opción adaptable para el entrenamiento de IA a gran escala debido a su interfaz jerárquica, que facilita su adaptación a diversas aplicaciones como Transformer-XL y Megatron-LM.
Microsoft también ofrece Deepspeed-MoE, un componente de la biblioteca DeepSpeed. Tiene conceptos de arquitectura MoE y métodos de compresión de modelos que pueden minimizar el tamaño de los modelos MoE hasta 3,7 veces. Deepspeed-MoE es una técnica eficaz para implementar modelos MoE a gran escala, ya que proporciona una latencia y una rentabilidad hasta 7,3 veces mejores para la inferencia.
Fairseq de Meta, un conjunto de herramientas de modelado de secuencias de código abierto, facilita la evaluación y el entrenamiento de modelos de lenguaje Mixture-of-Experts (MoE). Se centra en tareas relacionadas con la generación de texto, incluido el modelado, la traducción y el resumen del lenguaje. Fairseq se basa en PyTorch y facilita un entrenamiento distribuido extensivo en numerosas GPU y computadoras. Admite un entrenamiento e inferencia rápidos de precisión mixta, lo que lo convierte en un recurso invaluable para científicos y programadores que crean modelos de lenguaje.
Mesh-TensorFlow de Google estudia una combinación de estructuras expertas en el entorno de TensorFlow. Para escalar redes neuronales profundas (DNN), introduce el paralelismo de modelos y aborda los problemas de división por lotes (paralelismo de datos). Con la versatilidad y escalabilidad del marco, los desarrolladores pueden construir cálculos tensoriales distribuidos, lo que permite entrenar modelos grandes rápidamente. Se han escalado modelos de transformadores con hasta 5 mil millones de parámetros utilizando Mesh-TensorFlow, lo que produce un rendimiento de vanguardia en aplicaciones de modelado de lenguaje y traducción automática.
Conclusión
Los diseños de combinación de expertos, que brindan una escalabilidad y eficiencia inigualables, marcan un avance sustancial en el diseño de modelos de IA. Al limitar los límites de lo factible, estos marcos de código abierto permiten la construcción de modelos más grandes y complejos sin requerir aumentos correspondientes en los recursos informáticos. MoE está posicionado para convertirse en un pilar de la innovación en IA a medida que se desarrolle más, impulsando avances en visión artificial, procesamiento del lenguaje natural y otras áreas.
Tanya Malhotra es una estudiante de último año de la Universidad de Estudios de Petróleo y Energía, Dehradun, que cursa BTech en Ingeniería Informática con una especialización en Inteligencia Artificial y Aprendizaje Automático.
Es una entusiasta de la ciencia de datos con un buen pensamiento analítico y crítico, junto con un gran interés en adquirir nuevas habilidades, liderar grupos y gestionar el trabajo de manera organizada.