Mezcla de expertos (MoE) es una técnica de aprendizaje automático en la que múltiples redes expertas, o aprendices, dividen un espacio de problemas en regiones homogéneas, representando una forma de aprendizaje por conjuntos. En tales sistemas, un mecanismo de enrutamiento - a menudo llamado función de compuerta o función de ponderación - determina cómo se asignan las entradas a los expertos y cómo se combinan sus salidas. El enrutamiento de mezcla de expertos se refiere así a los algoritmos específicos y las elecciones de diseño que gobiernan este proceso de selección y ponderación, que son críticos para equilibrar la capacidad del modelo, el costo computacional y la calidad de la salida. El concepto ha evolucionado desde los primeros modelos estadísticos de la década de 1990 hasta los esquemas de enrutamiento disperso utilizados en los modelos de lenguaje grandes contemporáneos, donde permite recuentos masivos de parámetros con una computación relativamente baja por token.
La arquitectura central de cualquier sistema de mezcla de expertos incluye un conjunto de funciones expertas \(f_1, ..., f_n\), cada una tomando la misma entrada \(x\) y produciendo una salida, y una función de ponderación \(w\) que mapea \(x\) a un vector de pesos no negativos \((w(x)_1, ..., w(x)_n)\). La salida final se calcula típicamente como una suma ponderada: \(f(x) = \sum_i w(x)_i f_i(x)\). Tanto los expertos como la función de ponderación se entrenan conjuntamente minimizando una función de pérdida, generalmente mediante descenso de gradiente. El mecanismo de enrutamiento determina cómo se calculan estos pesos, si son densos (todos los expertos contribuyen) o dispersos (solo unos pocos expertos se activan), y cómo el sistema maneja el equilibrio de carga y la estabilidad del entrenamiento.
Diseños de Enrutamiento Tempranos
Una de las formulaciones de enrutamiento más tempranas fue la red meta-pi, reportada por Hampshire y Waibel a principios de la década de 1990. En este diseño, la salida es la suma ponderada de las salidas de los expertos, y el entrenamiento procede mediante descenso de gradiente en la pérdida de error cuadrático medio. Los expertos podían ser funciones arbitrarias, y la red de compuerta aprendía a asignar pesos basados en la entrada. En su publicación original, los investigadores aplicaron esto a la clasificación de fonemas en señales de habla de seis hablantes japoneses (dos mujeres, cuatro hombres). Entrenaron seis expertos, cada uno una red neuronal con retardo temporal operando en espectrogramas de mel. Notablemente, el enrutamiento aprendido dedicó cinco expertos a cinco hablantes individuales, mientras que la voz del sexto hablante masculino fue clasificada por una combinación lineal de los expertos para los otros tres hablantes masculinos, demostrando que el enrutamiento puede descubrir subespacios compartidos en lugar de mapeos uno a uno.
Otro enfoque temprano fue las mezclas adaptativas de expertos locales, que utilizaban un modelo de mezcla gaussiana para la función de compuerta. Aquí, cada experto predecía una distribución gaussiana sobre la salida, a menudo ignorando la entrada por completo y simplemente aprendiendo un vector de medias. La función de ponderación era una función lineal-softmax, donde el peso para el experto \(i\) se calculaba como \(w(x)_i = \exp(k_i^T x + b_i) / \sum_j \exp(k_j^T x + b_j)\). Este enrutamiento softmax producía una distribución de probabilidad normalizada sobre los expertos, y la salida general del modelo era una mezcla de predicciones gaussianas. Esta formulación permitía una interpretación probabilística y se entrenaba mediante máxima verosimilitud, proporcionando una base para métodos de enrutamiento probabilístico posteriores.
Enrutamiento Disperso y la Era del Transformer
El enrutamiento moderno de mezcla de expertos ganó prominencia con el auge de la arquitectura Transformer (architecture) en Deep learning. En modelos a gran escala, el enrutamiento denso - donde cada experto procesa cada entrada - se vuelve computacionalmente prohibitivo a medida que crece el número de expertos. El enrutamiento disperso, introducido en el artículo de 2017 "Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layer" por investigadores incluyendo a Noam Shazeer y colegas en Google DeepMind, abordó esto activando solo un pequeño subconjunto de expertos por token de entrada. La función de compuerta calcula un softmax sobre las puntuaciones de los expertos pero luego aplica una selección top-k, manteniendo solo los expertos con las puntuaciones más altas (típicamente k = 1 o 2) y poniendo a cero el resto. Esto permite que el modelo tenga miles de millones de parámetros mientras solo calcula una fracción de ellos para cada pase hacia adelante.
La función de compuerta dispersa típicamente utiliza una matriz de pesos entrenable que mapea la representación del token de entrada a un vector de logits, uno por experto. Estos logits se pasan a través de un softmax para producir probabilidades, y se seleccionan los expertos top-k. Las salidas de los expertos seleccionados se ponderan por sus probabilidades normalizadas y se suman. Este mecanismo de enrutamiento es diferenciable con respecto a los parámetros de compuerta, permitiendo el entrenamiento de extremo a extremo mediante retropropagación. Sin embargo, el enrutamiento disperso introduce desafíos como el desequilibrio de carga, donde unos pocos expertos dominan y otros reciben poca señal de entrenamiento, lo que lleva al desarrollo de pérdidas auxiliares de equilibrio de carga.
Equilibrio de Carga y Pérdidas Auxiliares
Un problema persistente en el enrutamiento de mezcla de expertos es el colapso de expertos, donde la red de compuerta aprende a enrutar la mayoría de las entradas a un pequeño conjunto de expertos, dejando a otros subutilizados. Para contrarrestar esto, las implementaciones modernas añaden pérdidas auxiliares que fomentan un enrutamiento uniforme. Un enfoque común, utilizado en modelos como el Switch Transformer (introducido por Google DeepMind en 2021), añade una pérdida de equilibrio de carga que penaliza a la función de compuerta cuando la distribución de tokens asignados a los expertos se desvía de la uniformidad. Esta pérdida se calcula típicamente como el producto punto escalado entre la probabilidad de enrutamiento promedio y la fracción de tokens enrutados a cada experto, y se añade a la pérdida principal de entrenamiento con un pequeño coeficiente. Otra técnica es el uso de límites de capacidad de expertos, donde cada experto solo puede procesar un número fijo de tokens por lote; los tokens que exceden esta capacidad se descartan o se enrutan a una conexión residual, evitando que cualquier experto individual se convierta en un cuello de botella.
Métodos más recientes, como la arquitectura DeepSeekMoE, refinan el equilibrio de carga mediante el uso de segmentación fina de expertos y expertos compartidos. En este diseño, los expertos se dividen en unidades más pequeñas, y un pequeño número de expertos compartidos se activa siempre, mientras que los expertos enrutados restantes se seleccionan mediante una función de compuerta. Esto reduce la redundancia en la especialización de expertos y mejora la eficiencia de parámetros. El enrutamiento en tales modelos a menudo emplea una compuerta basada en sigmoide en lugar de softmax, permitiendo que múltiples expertos se activen independientemente, y utiliza un término de sesgo que se ajusta durante el entrenamiento para equilibrar la carga sin interferir con el gradiente principal de la pérdida.
Enrutamiento en Modelos de Lenguaje Grandes
El enrutamiento de mezcla de expertos se ha convertido en una piedra angular del escalado de Large language models. Modelos como Mixtral 8x7B, desarrollado por Mistral AI, utilizan una capa MoE dispersa donde cada token se enruta a dos de ocho expertos, siendo cada experto una red de avance. Esto permite que el modelo tenga 47 mil millones de parámetros totales pero solo use alrededor de 13 mil millones por token, igualando el costo de inferencia de un modelo denso mucho más pequeño. Similarmente, el Switch Transformer demostró que escalar a billones de parámetros es factible con enrutamiento disperso, logrando aceleraciones sobre líneas base densas en tareas de lenguaje natural. En estos modelos, la decisión de enrutamiento se toma por token, no por secuencia, permitiendo que el modelo asigne diferentes expertos a diferentes partes de la entrada.
El mecanismo de enrutamiento en modelos de lenguaje grandes a menudo opera sobre los estados ocultos producidos por capas de Multi-Head Attention. La función de compuerta es una proyección lineal seguida de un softmax o sigmoide, y se entrena conjuntamente con el resto de la red. Una elección de diseño clave es si usar una compuerta top-k ruidosa, donde se añade ruido gaussiano entrenable a los logits antes de la selección, lo que fomenta la exploración durante el entrenamiento y evita que la compuerta se vuelva demasiado determinista temprano. Otra elección es el uso de paralelismo de expertos, donde los expertos se distribuyen a través de múltiples dispositivos, y el enrutamiento debe coordinarse para minimizar la sobrecarga de comunicación. Esto ha llevado a implementaciones especializadas en marcos como Amazon Web Services SageMaker y entornos Google Cloud TPU.
Desafíos y Avances Recientes
A pesar de su efectividad, el enrutamiento de mezcla de expertos enfrenta varios desafíos abiertos. Uno es el equilibrio entre la granularidad del enrutamiento y la eficiencia computacional: demasiados expertos pueden llevar a sobrecarga de memoria y costos de comunicación, mientras que muy pocos limitan la capacidad. Otro es la inestabilidad del entrenamiento, ya que la selección top-k discreta puede causar problemas de gradiente, aunque se han explorado estimadores de paso directo y relajación softmax. Trabajo reciente también ha investigado políticas de enrutamiento aprendidas que se adaptan con el tiempo, como el uso de aprendizaje por refuerzo para optimizar las decisiones de enrutamiento, aunque estos son menos comunes en sistemas de producción.
Otra área de investigación activa es la interpretabilidad del enrutamiento. Estudios han mostrado que los expertos en modelos grandes a menudo se especializan en categorías semánticas o sintácticas, como puntuación, razonamiento matemático o código, pero el mapeo no siempre es limpio. Técnicas como el análisis de enrutamiento, donde se visualiza la distribución de tokens por experto, se han utilizado para entender estos patrones. Adicionalmente, algunos modelos emplean un esquema de enrutamiento jerárquico, donde un enrutador de primer nivel selecciona un grupo de expertos y un enrutador de segundo nivel selecciona dentro del grupo, reduciendo el número de comparaciones necesarias. Esto es particularmente útil cuando el número de expertos es muy grande, como en el caso de modelos con miles de expertos.
Comparación con Modelos Densos
El enrutamiento de mezcla de expertos ofrece una alternativa fundamental a los modelos densos, donde cada parámetro se usa para cada entrada. Los modelos densos, como las arquitecturas Transformer (architecture) originales, tienen un costo computacional fijo por token, mientras que los modelos MoE tienen un costo variable dependiendo de las decisiones de enrutamiento. Esto permite que los modelos MoE logren mayor capacidad sin un aumento proporcional en el costo de inferencia, haciéndolos atractivos para el despliegue en entornos con recursos limitados. Sin embargo, los modelos densos son a menudo más fáciles de entrenar y ajustar, ya que no requieren pérdidas de equilibrio de carga o ajuste cuidadoso de capacidad. La elección entre arquitecturas densas y MoE depende de la aplicación específica, siendo MoE particularmente adecuado para el entrenamiento a gran escala donde el objetivo es maximizar la calidad dado un presupuesto computacional fijo.
En la práctica, muchas organizaciones, incluyendo OpenAI, Anthropic y Google DeepMind, han adoptado capas MoE en sus modelos de producción, aunque a menudo no divulgan los detalles exactos de enrutamiento. La técnica también se ha aplicado más allá del lenguaje, incluyendo visión por computadora y reconocimiento de habla, donde ha mostrado beneficios similares. A medida que el hardware continúa evolucionando, con aceleradores especializados como AWS Trainium y Groq optimizando para computación dispersa, la eficiencia del enrutamiento MoE es probable que mejore aún más, convirtiéndolo en un componente estándar de futuros sistemas de Artificial intelligence.
Direcciones Futuras
El futuro del enrutamiento de mezcla de expertos reside en hacerlo más adaptativo y eficiente. Una dirección es el desarrollo de enrutamiento completamente diferenciable, donde la selección top-k discreta se reemplaza por una aproximación continua, permitiendo gradientes más suaves y potencialmente mejor optimización. Otra es el uso de políticas de enrutamiento aprendidas que puedan ajustar dinámicamente el número de expertos activos basado en la complejidad de la entrada, reduciendo la computación para entradas simples y aumentándola para complejas. Adicionalmente, la investigación en fusión y poda de expertos, donde los expertos redundantes se combinan o eliminan después del entrenamiento, podría reducir la huella de memoria sin sacrificar calidad. A medida que los modelos continúan escalando, el mecanismo de enrutamiento jugará un papel cada vez más central en determinar su rendimiento y practicidad, convirtiéndolo en un área rica tanto para investigación teórica como aplicada.