Mezcla de expertos

De Wikipedia, la enciclopedia libre

La mezcla de expertos (MoE) es una técnica de aprendizaje automático en la que se utilizan múltiples redes de expertos (learners) para dividir un espacio de problemas en regiones homogéneas.[1]​ Se diferencia de las técnicas de ensemble en que, en el caso de las MoE, normalmente solo se ejecutan uno o unos pocos modelos expertos para cada entrada, mientras que en las técnicas de ensemble todos los modelos se ejecutan para cada entrada.

Teoría básica[editar]

En la mezcla de expertos, siempre tenemos los siguientes ingredientes, pero se construyen y combinan de forma diferente.

  • Hay expertos , cada uno tomando la misma entrada y produce resultados .
  • Hay una única función de ponderación (también conocida como función de compuerta) , que toma en y produce un vector de salidas .
  • es el conjunto de parámetros. El parámetro es para la función de ponderación.
  • Dada una entrada , la mezcla de expertos produce un único resultado combinado al combinar según los pesos de alguna manera.

Tanto los expertos como la función de ponderación se entrenan minimizando algún tipo de función de pérdida, generalmente por descenso gradiente. Hay mucha libertad a la hora de elegir la forma precisa de los expertos, la función de ponderación y la función de pérdida.

Red Meta-pi[editar]

La red meta-pi, documentada por Hampshire y Waibel,[2]​ utiliza como salida. El modelo se entrena realizando un descenso de gradiente sobre la pérdida de error cuadrático medio. . Los peritos podrán tener funciones arbitrarias.

En su publicación original, resolvían el problema de clasificar fonemas en señales de habla de 6 hablantes japoneses diferentes, 2 mujeres y 4 hombres. Entrenaron a 6 expertos, cada uno de los cuales era una «red neuronal retardada» (esencialmente una red de convolución multicapa sobre el espectrograma mel).[3]​ Comprobaron que la mezcla de expertos resultante dedicaba 5 expertos a 5 de los hablantes, pero el 6º hablante (varón) no tiene un experto dedicado, sino que su voz fue clasificada por una combinación lineal de los expertos de los otros 3 hablantes varones.

Mezclas adaptativas de expertos locales[editar]

Las mezclas adaptativas de los expertos locales utilizan un modelo de mezcla gaussiana.[4][5]​ Cada experto simplemente predice una distribución gaussiana, e ignora totalmente la entrada. Específicamente, el -ésimo experto predice que la salida es , donde es un parámetro que se puede aprender. La función de ponderación es una función lineal-softmax:

La mezcla de expertos predice que la salida se distribuye según la función de densidad de probabilidad:
Se entrena mediante estimación de máxima verosimilitud, es decir, ascenso de gradiente en . El gradiente para el -ésimo experto es
y el gradiente de la función de ponderación es
Para cada par de entrada-salida, la función de ponderación se modifica para aumentar la ponderación de todos los expertos que obtuvieron resultados por encima de la media y disminuir la ponderación de todos los expertos que obtuvieron resultados por debajo de la media. Esto anima a la función de ponderación a aprender a seleccionar solo a los expertos que hacen las predicciones correctas para cada entrada.

El -ésimo experto se cambia para acercar su predicción a , pero la cantidad de cambio es proporcional a . Esto tiene una interpretación bayesiana. Dada la entrada , la probabilidad previa de que el experto es el correcto es , y es la probabilidad de evidencia . Entonces, es la probabilidad posterior para el experto , y, por lo tanto, la tasa de cambio para el -ésimo experto es proporcional a su probabilidad posterior.

En otras palabras, a los expertos que, en retrospectiva, parecían buenos expertos a los que consultar, se les pide que aprendan con el ejemplo. A los expertos que, en retrospectiva, no lo eran, se les deja solos.

El efecto combinado es que los expertos se especializan: Supongamos que dos expertos son buenos prediciendo un determinado tipo de información, pero uno de ellos es ligeramente mejor. Cuando esto ocurra, el menos experto será incapaz de obtener una señal de gradiente alta y será aún peor en la predicción de ese tipo de entrada. A la inversa, el menos experto puede mejorar en la predicción de otros tipos de entrada y alejarse cada vez más hacia otra región. Esto tiene un efecto de retroalimentación positiva, que hace que cada experto se aparte del resto y se ocupe en solitario de una región local (de ahí el nombre de "expertos locales").

MoE jerárquico[editar]

Las mezclas jerárquicas de expertos utilizan múltiples niveles de gating en un árbol.[6][7]​ Cada puerta es una distribución de probabilidad sobre el siguiente nivel de puertas, y los expertos están en los nodos de las hojas del árbol. Son similares a los árboles de decisión.

Por ejemplo, un MoE jerárquico de 2 niveles tendría una función de activación de primer orden. y funciones de control de segundo orden y expertos . La predicción total es entonces .

Variantes[editar]

La mezcla de expertos, al ser similar al modelo de mezcla gaussiano, también puede entrenarse mediante el algoritmo esperanza-maximización, al igual que los modelos de mezcla gaussianos. Específicamente, durante el paso de expectativa, la "carga" para explicar cada punto de datos se asigna a los expertos, y durante el paso de maximización, los expertos se entrenan para mejorar las explicaciones para las que obtuvieron una alta carga, mientras que la puerta se entrena para mejorar su asignación de carga. Esto puede converger más rápido que el ascenso gradiente en la log-verosimilitud.[7][8]

La elección de la función de compuerta suele ser una compuerta softmax.[9]​ Aparte de eso, se propone el uso de distribuciones gaussianas, y se propone el uso de familias exponenciales.[8]

En lugar de realizar una suma ponderada de todos los expertos, en el MoE duro solo se elige al experto mejor clasificado.[10]​ Eso es, . Esto puede acelerar el tiempo de entrenamiento e inferencia[11]

Los expertos pueden utilizar formas más generales de distribuciones gaussianas multivariantes. Por ejemplo,[6]​ propuso , dónde son parámetros que se pueden aprender. En palabras, cada experto aprende a realizar una regresión lineal, con una estimación de incertidumbre que se puede aprender.

Se pueden utilizar expertos distintos de las distribuciones gaussianas. Por ejemplo, se puede utilizar la distribución de Laplace o la distribución t de Student.[12][13]​ Para la clasificación binaria, también propuso expertos de regresión logística, con

donde son parámetros que se pueden aprender. Posteriormente, esto se generaliza para la clasificación de clases múltiples, con expertos en regresión logística multinomial.[14]

Aprendizaje profundo[editar]

La sección anterior describía MoE tal y como se utilizaba antes de la era del aprendizaje profundo. Después del aprendizaje profundo, MoE encontró aplicaciones en la ejecución de los modelos más grandes, como una forma sencilla de realizar cálculos condicionales: solo se utilizan partes del modelo, las partes elegidas en función de cuál sea la entrada.[15]

El primer artículo que aplica MoE al aprendizaje profundo es el que propone utilizar una red de compuertas diferente en cada capa de una red neuronal profunda.[16]​ En concreto, cada gating es una red lineal-ReLU-lineal-softmax, y cada experto es una red lineal-ReLU.

El desiderátum de diseño clave para MoE en el aprendizaje profundo es reducir el coste computacional. En consecuencia, para cada consulta, solo debe consultarse un pequeño subconjunto de expertos. Esto hace que el MoE en el aprendizaje profundo sea diferente del MoE clásico. En el MoE clásico, el resultado de cada consulta es una suma ponderada de los resultados de todos los expertos. En el MoE de aprendizaje profundo, el resultado de cada consulta solo puede incluir los resultados de unos pocos expertos. En consecuencia, la elección de diseño clave en MoE se convierte en enrutamiento: dado un lote de consultas, cómo dirigir las consultas a los mejores expertos.

Capa de MoE dispersa[editar]

La capa MoE escasamente cerrada,[17]​ publicada por investigadores de Google Brain, utiliza redes de avance como expertos y puerta lineal-softmax. De manera similar al MoE duro propuesto anteriormente, logran escasez mediante una suma ponderada de solo los k expertos principales, en lugar de la suma ponderada de todos ellos. Específicamente, en una capa MoE, existen redes de retroalimentación y una red de puertas . La red de puertas está definida por , donde es una función que mantiene iguales las entradas k superiores de un vector, pero establece todas las demás entradas en . La adición de ruido ayuda con el equilibrio de carga.

La elección de es un hiperparámetro que se elige en función de la aplicación. Los valores típicos son . La versión también se denomina transformador de conmutación.[18]

Como demostración, entrenaron una serie de modelos para traducción automática con capas alternas de MoE y LSTM, y los compararon con modelos LSTM profundos.[19]​ La tabla 3 muestra que los modelos MoE emplearon menos tiempo de cálculo de inferencia, a pesar de tener 30 veces más parámetros.

Los MoE de vainilla tienden a tener problemas de equilibrio de carga: algunos expertos son consultados con frecuencia, mientras que otros expertos rara vez o nunca. Para animar a la puerta a seleccionar a cada experto con la misma frecuencia (equilibrio de carga adecuado) dentro de cada lote, cada capa de MoE tiene dos funciones de pérdida auxiliares. Esto se mejora con una única función de pérdida auxiliar.[18]​ En concreto, si es el número de expertos, para un conjunto determinado de consultas , la pérdida auxiliar del conjunto es

Aquí, es la fracción de tiempo en la que el experto ocupa el puesto más alto, y es la fracción de peso en experto . Esta pérdida se minimiza en , precisamente cuando cada experto tiene el mismo peso en todas las situaciones.

Enrutamiento[editar]

En el método MoE sparsely-gated, solo se consulta a los mejores expertos k y sus resultados se suman ponderadamente. Existen otros métodos.[20]

En el MoE Hash,[21]​ el enrutamiento se realiza de forma determinista mediante una función hash, fijada antes de comenzar el aprendizaje. Por ejemplo, si el modelo es un Transformador de 4 capas, y la entrada es un token para la palabra "comer", y el hash de "comer" es , entonces el token se enrutaría al primer experto de la capa 1, al cuarto experto de la capa 2, etc. A pesar de su simplicidad, alcanza un rendimiento competitivo como el MoE con .

En MoE suave, supongamos que en cada conjunto, cada experto puede procesar consultas, entonces hay consultas que se pueden asignar por conjunto. Ahora, para cada lote de consultas, la capa suave MoE calcula una matriz , tal que es una distribución de probabilidad sobre consultas, y la -ésimo experto -ésima consulta es .[22]​ Sin embargo, esto no funciona con el modelado autorregresivo, ya que los pesos sobre un token depende de todos los demás tokens. [23]

Otros enfoques incluyen resolverlo como un problema de programación lineal con restricciones,[24]​ haciendo que cada experto elija las primeras k consultas que desea (en lugar de que cada consulta elija a los primeros k expertos para ella),[25]​ utilizando el aprendizaje por refuerzo para entrenar el algoritmo de enrutamiento (ya que elegir a un experto es una acción discreta, como en la RL).[26]

Factor de capacidad[editar]

Supongamos que hay expertos en una capa. Para un determinado lote de consultas , cada consulta se dirige a uno o más expertos. Por ejemplo, si cada consulta se enruta a un experto como en Transformadores de conmutación, y si los expertos están equilibrados en carga, entonces cada experto debería esperar por término medio consultas por lote. En la práctica, los expertos no pueden esperar un equilibrio perfecto de la carga: en algunos lotes, un experto podría tener poco trabajo, mientras que en otros, tendría demasiado. Como las entradas no pueden moverse por la capa hasta que todos los expertos de la capa hayan terminado las consultas que tienen asignadas, el equilibrio de la carga es importante. El factor de capacidad es una restricción estricta del equilibrio de carga: cada experto solo puede procesar un máximo de consultas por lote,[20]​ encontrado que funcionan en la práctica.

Aplicaciones a modelos de transformadores[editar]

Las capas MoE se utilizan en modelos de transformadores muy grandes, para los que aprender e inferir sobre el modelo completo resulta demasiado costoso. Suelen tener un sparsely-gated, con sparsity 1 o 2. En los modelos de transformador, las capas MoE se utilizan a menudo para seleccionar las capas prealimentadas (normalmente una red lineal-ReLU-lineal), que aparecen en cada bloque de transformador después de la atención multicabezal. Esto se debe a que las capas prealimentadas ocupan una parte cada vez mayor del coste computacional a medida que los modelos se hacen más grandes. Por ejemplo, en el modelo Palm-540B, el 90% de los parámetros se encuentran en sus capas prealimentadas.[27]

Por lo general, los MoE se utilizan cuando los modelos densos se han vuelto demasiado costosos, lo que significa que se suelen utilizar para los modelos más grandes. A partir de 2023, estos modelos suelen ser modelos de lenguaje grandes. Fuera de estos, Vision MoE es un modelo Transformer con capas MoE.[28]​ Lo demostraron entrenando un modelo con 15.000 millones de parámetros.

Una serie de grandes modelos lingüísticos de Google utilizan MoE. GShard utiliza MoE con un máximo de 2 expertos por capa.[29]​ En concreto, siempre se selecciona el primer experto y el segundo con una probabilidad proporcional a su peso según la función de compuerta. Más tarde, GLaM demostró un modelo lingüístico con 1,2 billones de parámetros,[30]​ en el que cada capa MoE utiliza top-2 de 64 expertos. Switch Transformers utiliza top-1 en todas las capas MoE.[18]

El NLLB-200 de Meta AI es un modelo de traducción automática para 200 idiomas.[31]​ Cada capa MoE utiliza un MoE jerárquico con dos niveles. En el primer nivel, la función de compuerta elige entre utilizar una capa prealimentada «compartida» o utilizar a los expertos. Si se utilizan los expertos, otra función de compuerta calcula los pesos y elige a los 2 mejores expertos.[32]

Los grandes modelos lingüísticos de MoE pueden adaptarse a tareas posteriores mediante el ajuste de instrucciones.[33]

En diciembre de 2023, Mistral AI publicó Mixtral 8x7B bajo licencia Apache 2.0. Se trata de un modelo de lenguaje MoE con 46,7B parámetros, 8 expertos y sparsity 2. Se trata de un modelo de lenguaje MoE con 46.7B parámetros, 8 expertos, y sparsity 2. También publicaron una versión ajustada para el seguimiento de instrucciones.[34][35]

Otras lecturas[editar]

 [cs.CL]. 

Véase también[editar]

Referencias[editar]

  1. Baldacchino, Tara; Cross, Elizabeth J.; Worden, Keith; Rowson, Jennifer (2016). «Variational Bayesian mixture of experts models and sensitivity analysis for nonlinear dynamical systems». Mechanical Systems and Signal Processing. 66–67: 178-200. Bibcode:2016MSSP...66..178B. doi:10.1016/j.ymssp.2015.05.009. 
  2. Hampshire, J.B.; Waibel, A. (July 1992). «The Meta-Pi network: building distributed knowledge representations for robust multisource pattern recognition». IEEE Transactions on Pattern Analysis and Machine Intelligence 14 (7): 751-769. doi:10.1109/34.142911. 
  3. Alexander Waibel, Toshiyuki Hanazawa, Geoffrey Hinton, Kiyohiro Shikano, Kevin J. Lang (1995). «Phoneme Recognition Using Time-Delay Neural Networks*». En Chauvin, Yves; Rumelhart, David E., eds. Backpropagation. Psychology Press. ISBN 978-0-203-76324-7. doi:10.4324/9780203763247. 
  4. Nowlan, Steven; Hinton, Geoffrey E (1990). «Evaluation of Adaptive Mixtures of Competing Experts». Advances in Neural Information Processing Systems (Morgan-Kaufmann) 3. 
  5. Jacobs, Robert A.; Jordan, Michael I.; Nowlan, Steven J.; Hinton, Geoffrey E. (February 1991). «Adaptive Mixtures of Local Experts». Neural Computation (en inglés) 3 (1): 79-87. ISSN 0899-7667. PMID 31141872. doi:10.1162/neco.1991.3.1.79. 
  6. a b Jordan, Michael; Jacobs, Robert (1991). «Hierarchies of adaptive experts». Advances in Neural Information Processing Systems (Morgan-Kaufmann) 4. 
  7. a b Jordan, Michael I.; Jacobs, Robert A. (March 1994). «Hierarchical Mixtures of Experts and the EM Algorithm». Neural Computation (en inglés) 6 (2): 181-214. ISSN 0899-7667. doi:10.1162/neco.1994.6.2.181. hdl:1721.1/7206. 
  8. a b Jordan, Michael I.; Xu, Lei (1 de enero de 1995). «Convergence results for the EM approach to mixtures of experts architectures». Neural Networks 8 (9): 1409-1431. ISSN 0893-6080. doi:10.1016/0893-6080(95)00014-3. hdl:1721.1/6620. 
  9. Xu, Lei; Jordan, Michael; Hinton, Geoffrey E (1994). «An Alternative Model for Mixtures of Experts». Advances in Neural Information Processing Systems (MIT Press) 7. 
  10. Collobert, Ronan; Bengio, Samy; Bengio, Yoshua (2001). «A Parallel Mixture of SVMs for Very Large Scale Problems». Advances in Neural Information Processing Systems (MIT Press) 14. 
  11. Goodfellow, Ian; Bengio, Yoshua; Courville, Aaron (2016). «12: Applications». Deep learning. Adaptive computation and machine learning. Cambridge, Mass: The MIT press. ISBN 978-0-262-03561-3. 
  12. Nguyen, Hien D.; McLachlan, Geoffrey J. (1 de enero de 2016). «Laplace mixture of linear experts». Computational Statistics & Data Analysis 93: 177-191. ISSN 0167-9473. doi:10.1016/j.csda.2014.10.016. 
  13. Chamroukhi, F. (1 de julio de 2016). «Robust mixture of experts modeling using the t distribution». Neural Networks 79: 20-36. ISSN 0893-6080. PMID 27093693. S2CID 3171144. arXiv:1701.07429. doi:10.1016/j.neunet.2016.03.002. 
  14. Chen, K.; Xu, L.; Chi, H. (1 de noviembre de 1999). «Improved learning algorithms for mixture of experts in multiclass classification». Neural Networks 12 (9): 1229-1252. ISSN 0893-6080. PMID 12662629. doi:10.1016/S0893-6080(99)00043-X. 
  15. Bengio, Yoshua; Léonard, Nicholas; Courville, Aaron (2013). «Estimating or Propagating Gradients Through Stochastic Neurons for Conditional Computation». arXiv:1308.3432  [cs.LG]. 
  16. Eigen, David; Ranzato, Marc'Aurelio; Sutskever, Ilya (2013). «Learning Factored Representations in a Deep Mixture of Experts». arXiv:1312.4314  [cs.LG]. 
  17. Shazeer, Noam; Mirhoseini, Azalia; Maziarz, Krzysztof; Davis, Andy; Le, Quoc; Hinton, Geoffrey; Dean, Jeff (2017). «Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer». arXiv:1701.06538  [cs.LG]. 
  18. a b c Fedus, William; Zoph, Barret; Shazeer, Noam (1 de enero de 2022). «Switch transformers: scaling to trillion parameter models with simple and efficient sparsity». The Journal of Machine Learning Research 23 (1): 5232-5270. ISSN 1532-4435. arXiv:2101.03961. 
  19. Wu, Yonghui; Schuster, Mike; Chen, Zhifeng; Le, Quoc V.; Norouzi, Mohammad; Macherey, Wolfgang; Krikun, Maxim; Cao, Yuan et ál. (2016). «Google's Neural Machine Translation System: Bridging the Gap between Human and Machine Translation». arXiv:1609.08144  [cs.CL]. 
  20. a b Zoph, Barret; Bello, Irwan; Kumar, Sameer; Du, Nan; Huang, Yanping; Dean, Jeff; Shazeer, Noam; Fedus, William (2022). «ST-MoE: Designing Stable and Transferable Sparse Expert Models». arXiv:2202.08906  [cs.CL]. 
  21. Roller, Stephen; Sukhbaatar, Sainbayar; szlam, arthur; Weston, Jason (2021). «Hash Layers For Large Sparse Models». Advances in Neural Information Processing Systems (Curran Associates) 34: 17555-17566. arXiv:2106.04426. 
  22. Puigcerver, Joan; Riquelme, Carlos; Mustafa, Basil; Houlsby, Neil (2023). «From Sparse to Soft Mixtures of Experts». arXiv:2308.00951  [cs.LG]. 
  23. Wang, Phil (4 de octubre de 2023), lucidrains/soft-moe-pytorch, consultado el 8 de octubre de 2023 .
  24. Lewis, Mike; Bhosale, Shruti; Dettmers, Tim; Goyal, Naman; Zettlemoyer, Luke (1 de julio de 2021). «BASE Layers: Simplifying Training of Large, Sparse Models». Proceedings of the 38th International Conference on Machine Learning (en inglés) (PMLR): 6265-6274. arXiv:2103.16716. 
  25. Zhou, Yanqi; Lei, Tao; Liu, Hanxiao; Du, Nan; Huang, Yanping; Zhao, Vincent; Dai, Andrew M.; Chen, Zhifeng; Le, Quoc V.; Laudon, James (6 de diciembre de 2022). «Mixture-of-Experts with Expert Choice Routing». Advances in Neural Information Processing Systems (en inglés) 35: 7103-7114. arXiv:2202.09368. 
  26. Bengio, Emmanuel; Bacon, Pierre-Luc; Pineau, Joelle; Precup, Doina (2015). «Conditional Computation in Neural Networks for faster models». arXiv:1511.06297  [cs.LG]. 
  27. «Transformer Deep Dive: Parameter Counting». Transformer Deep Dive: Parameter Counting (en inglés). Consultado el 10 de octubre de 2023. 
  28. Riquelme, Carlos; Puigcerver, Joan; Mustafa, Basil; Neumann, Maxim; Jenatton, Rodolphe; Susano Pinto, André; Keysers, Daniel; Houlsby, Neil (2021). «Scaling Vision with Sparse Mixture of Experts». Advances in Neural Information Processing Systems 34: 8583-8595. arXiv:2106.05974. 
  29. Lepikhin, Dmitry; Lee, HyoukJoong; Xu, Yuanzhong; Chen, Dehao; Firat, Orhan; Huang, Yanping; Krikun, Maxim; Shazeer, Noam et ál. (2020). «GShard: Scaling Giant Models with Conditional Computation and Automatic Sharding». arXiv:2006.16668  [cs.CL]. 
  30. Du, Nan; Huang, Yanping; Dai, Andrew M.; Tong, Simon; Lepikhin, Dmitry; Xu, Yuanzhong; Krikun, Maxim; Zhou, Yanqi et ál. (2021). «GLaM: Efficient Scaling of Language Models with Mixture-of-Experts». arXiv:2112.06905  [cs.CL]. 
  31. «200 languages within a single AI model: A breakthrough in high-quality machine translation». ai.facebook.com (en inglés). 19 de junio de 2022. Archivado desde el original el 9 de enero de 2023. 
  32. NLLB Team; Costa-jussà, Marta R.; Cross, James; Çelebi, Onur; Elbayad, Maha; Heafield, Kenneth; Heffernan, Kevin; Kalbassi, Elahe et ál. (2022). «No Language Left Behind: Scaling Human-Centered Machine Translation». arXiv:2207.04672  [cs.CL]. 
  33. Shen, Sheng; Hou, Le; Zhou, Yanqi; Du, Nan; Longpre, Shayne; Wei, Jason; Chung, Hyung Won; Zoph, Barret et ál. (2023). «Mixture-of-Experts Meets Instruction Tuning:A Winning Combination for Large Language Models». arXiv:2305.14705  [cs.CL]. 
  34. AI, Mistral (11 de diciembre de 2023). «Mixtral of experts». mistral.ai (en inglés estadounidense). Consultado el 4 de febrero de 2024. 
  35. Jiang, Albert Q.; Sablayrolles, Alexandre; Roux, Antoine; Mensch, Arthur; Savary, Blanche; Bamford, Chris; Chaplot, Devendra Singh; Casas, Diego de las et al. (8 de enero de 2024), Mixtral of Experts, arXiv:2401.04088, consultado el 4 de febrero de 2024  .