El modelo MoE (Mixture of Experts) permite a las redes neuronales activar solo algunos bloques expertos por token, optimizando el uso de recursos. Descubre cómo funciona su arquitectura, el mecanismo de enrutamiento, sus ventajas, desafíos y diferencias frente a modelos densos.
El modelo MoE, o Mixture of Experts, es una arquitectura de red neuronal en la que no se utiliza todo el modelo completo para procesar los datos, sino solo una parte de sus bloques, llamados expertos. Para cada token, el sistema determina qué expertos son los más adecuados y activa únicamente esos bloques.
El objetivo principal de MoE es aumentar la cantidad de parámetros de la red neuronal sin incrementar proporcionalmente la carga computacional. El modelo puede tener decenas o cientos de miles de millones de parámetros, pero al generar un token solo se utiliza una pequeña parte de ellos. Así, el tamaño de la red y el coste computacional dejan de estar estrictamente ligados.
Sin embargo, Mixture of Experts no significa que dentro del modelo existan pequeñas redes neuronales independientes para tareas como programación, matemáticas o traducción. Los expertos son bloques entrenables que forman parte de la arquitectura general, y un mecanismo de enrutamiento especial se encarga de distribuir los datos entre ellos.
En una red neuronal densa clásica, cada entrada pasa secuencialmente por las mismas capas principales. Si el modelo tiene cierta cantidad de parámetros, la mayor parte de los cálculos se realizan para cada token procesado.
La arquitectura Mixture of Experts funciona de otra manera. En algunas capas, en lugar de un gran bloque de procesamiento, se colocan varios bloques alternativos: los expertos. Antes de procesar un token, la red determina a cuál de ellos enviarlo, y el resto de expertos pueden no participar en los cálculos en ese momento.
Este enfoque se llama activación dispersa o sparse activation. El modelo sigue teniendo todos sus parámetros almacenados en memoria, pero solo se usa una parte en cada paso.
Por ejemplo, si hay una capa con ocho expertos, en vez de pasar cada token por los ocho, el sistema puede elegir solo uno o dos. El siguiente token puede dirigirse a otros expertos, lo que permite una mayor capacidad de cómputo sin activar todo al mismo tiempo.
Es importante no tomar la palabra "experto" de forma literal. Durante el entrenamiento, algunos bloques pueden especializarse en ciertos tipos de representaciones, pero no se asignan manualmente roles como "experto en código" o "experto en inglés". La especialización surge durante el entrenamiento y puede ser mucho más compleja.
La combinación de un alto número total de parámetros y una pequeña cantidad de parámetros activos hace que las redes MoE sean atractivas para la escalabilidad. Sin embargo, requieren un mecanismo adicional que decida qué expertos deben procesar cada token.
En la mayoría de los modelos MoE modernos, los expertos no reemplazan toda la red. Generalmente, la arquitectura sigue consistiendo en bloques Transformer, y el mecanismo MoE se integra solo en ciertas partes.
Normalmente, MoE se utiliza en lugar del bloque feed-forward tradicional. En un Transformer estándar, cada token pasa por la misma red densa. En MoE, hay varios bloques de expertos alternativos y para cada token se selecciona solo una parte.
Un experto puede verse como una pequeña red neuronal dentro de una capa. Tienen estructuras similares pero parámetros propios. Durante el entrenamiento reciben diferentes datos y se van especializando.
Si hay ocho expertos en una capa MoE, no significa que cada token pase por todos ellos. La arquitectura puede activar, por ejemplo, solo dos. En la siguiente capa, la selección puede cambiar, haciendo que la ruta de cada token sea dinámica.
Para determinar qué expertos activar, se utiliza un router: un pequeño módulo entrenable que recibe la representación interna del token y calcula puntuaciones para cada experto disponible.
Cuanto mayor sea la puntuación, más preferente es ese experto para el token. Se seleccionan uno o varios bloques con las puntuaciones más altas y el token solo se envía a ellos.
El router no funciona con reglas predefinidas, sino que aprende durante el entrenamiento a distribuir los datos de manera eficiente. Los resultados de los expertos seleccionados se combinan y se pasan al siguiente nivel. Si se activan varios bloques, sus salidas pueden ponderarse según las puntuaciones del router.
El nombre Mixture of Experts puede dar la impresión de que cada consulta pasa por un modelo separado, pero en la práctica la mayoría de la arquitectura sigue siendo común. El mecanismo de atención, la normalización de capas, el tratamiento de tokens y otros componentes del Transformer se utilizan independientemente de los expertos seleccionados. Solo una parte de los bloques de cálculo se activa dinámicamente.
Esto da lugar a un esquema híbrido: unos parámetros trabajan casi para cada token, y otros solo se activan si el router los selecciona. Así, la estructura general del Transformer se mantiene, pero se incrementa el número de parámetros sin necesidad de utilizarlos todos a la vez.
La selección de expertos se realiza por token. Incluso palabras dentro de una misma frase pueden pasar por diferentes bloques. La red no elige un experto para toda la consulta; la ruta varía dinámicamente a lo largo de la secuencia.
El token se convierte primero en una representación numérica y entra en el router, que evalúa la idoneidad de cada experto. Después, se eligen los expertos con mayor puntuación y el token se les envía. Luego, sus resultados se combinan y se pasan a la siguiente capa.
El número de expertos que reciben un token suele estar predeterminado. Esto se llama Top-K routing, donde K indica el número de expertos activados.
También existen arquitecturas con otros valores de K, pero aumentar muchos expertos activos reduce la ventaja principal de MoE: el ahorro computacional. Por eso, los desarrolladores buscan un equilibrio entre la calidad y el número de bloques activados por token.
El router decide basándose en la representación interna del token, no solo en su valor literal. El mismo token, en distintos contextos, puede tener representaciones diferentes y, por tanto, dirigirse a expertos distintos.
Por ejemplo, una palabra en una conversación casual y esa misma palabra en un código de programación pueden tratarse de manera diferente. Pero eso no significa que deba existir un "experto en programación"; la especialización surge de las características aprendidas por la red durante el entrenamiento.
Además, la selección se repite en cada capa MoE, por lo que un token puede pasar por diferentes expertos a lo largo del modelo, formando una secuencia de decisiones dinámicas.
El router se entrena junto con los expertos. Si una ruta ayuda a reducir el error de la red, los parámetros se ajustan para que representaciones similares viajen por rutas útiles.
Sin restricciones, el router podría sobrecargar a ciertos expertos exitosos, dejando a otros inactivos y con peor entrenamiento. Por eso, se aplican mecanismos de balanceo de carga para distribuir los tokens de forma más uniforme entre expertos, impidiendo que solo unos pocos bloques estén siempre activos.
También puede limitarse la cantidad de tokens que cada experto puede procesar simultáneamente, algo crucial en modelos grandes distribuidos entre varias GPU, donde una distribución desigual puede crear cuellos de botella.
La principal ventaja del Mixture of Experts es que el número total de parámetros y los que participan en el procesamiento de un token pueden diferir mucho. Así, un modelo MoE puede ser enorme sin requerir un coste computacional proporcional.
En una red densa, casi todos los parámetros de la capa se usan para cada token. Si se duplica el tamaño de la capa, los cálculos por token también aumentan notablemente. En MoE, los parámetros se distribuyen entre expertos, de los cuales solo unos pocos se activan a la vez.
Por ejemplo, en una capa MoE con ocho expertos y enrutamiento Top-2, la capa tiene los parámetros de los ocho, pero cada token solo pasa por dos de ellos. Los otros seis no participan en ese cálculo.
Así, el número de parámetros totales puede crecer mucho más rápido que el coste de procesar un token. El modelo puede almacenar patrones adicionales sin forzar al hardware a usar toda esa capacidad a la vez.
Es fundamental distinguir entre el tamaño total del modelo y la cantidad de parámetros activos. El número total, aunque sea de cientos de miles de millones, no indica por sí solo el esfuerzo computacional para generar una respuesta. Puedes profundizar en este principio en el artículo Parámetros de una red neuronal: qué significan y cómo afectan a los modelos de IA.
Parámetros generales son todos los parámetros entrenables que forman parte física del modelo y deben almacenarse en memoria para estar disponibles.
Parámetros activos son la parte del modelo que realmente interviene en el procesamiento de un token concreto. En MoE, pueden ser mucho menos que el total, ya que el router selecciona solo algunos expertos.
Por ejemplo, un modelo con 100 mil millones de parámetros puede usar solo 20 mil millones por token. El resto se activarán para otros tokens o capas, pero no todos trabajan simultáneamente.
Este enfoque permite incrementar la capacidad de cómputo sin elevar las operaciones necesarias por token, haciendo que MoE sea especialmente útil para escalar grandes modelos lingüísticos.
La activación dispersa tiene una limitación: los expertos inactivos no procesan datos, pero sus parámetros deben almacenarse igualmente. Si el modelo tiene cientos de miles de millones de parámetros, el hardware debe acceder a todos ellos aunque solo se use una fracción en cada momento.
En un solo acelerador (GPU), es difícil alojar el modelo completo; los expertos se distribuyen entre varias GPU u otros dispositivos. Cuando el router selecciona un experto, los datos pueden necesitar transferirse de un acelerador a otro.
Esto desplaza parte de la carga de los cálculos matemáticos a la memoria y la red entre aceleradores. Así, MoE no hace automáticamente barata o simple la operación de grandes redes neuronales.
El enrutamiento en sí también requiere cálculos. El router debe evaluar los expertos disponibles, elegir las mejores opciones y distribuir correctamente los tokens.
El reto crece al procesar muchas consultas a la vez. Un experto puede recibir muchos más tokens que otros, sobrecargando algunas GPU mientras otras quedan infrautilizadas.
Se emplean mecanismos de balanceo de carga, límites de capacidad para expertos y esquemas especiales de computación distribuida. Por eso, la eficiencia real de MoE depende no solo del número de parámetros activos, sino de la organización del enrutamiento, la memoria y el intercambio de datos entre aceleradores.
En resumen, el ahorro de MoE radica sobre todo en reducir los cálculos por token. El coste es una arquitectura más compleja, mayor demanda de memoria y la necesidad de gestionar sistemas distribuidos eficientemente.
La diferencia entre MoE y un modelo denso no es solo el número de parámetros. Estas arquitecturas utilizan de forma distinta los recursos computacionales, la memoria y el escalado.
En un modelo denso, cada token pasa por los mismos bloques de cálculo. En MoE, parte de los bloques se sustituye por un conjunto de expertos y el router selecciona solo algunos para cada token. Así, MoE puede tener muchos más parámetros totales con un número de operaciones por token similar.
| Característica | Modelo denso | Modelo MoE |
|---|---|---|
| Parámetros generales | Generalmente menos | Pueden ser mucho mayores |
| Parámetros activos | Se usa la mayor parte de la capa | Solo una parte de los expertos |
| Cálculos por token | Crecen con el tamaño del modelo | Crecen más lentamente que el total |
| Requisitos de memoria | Fáciles de prever | Pueden ser muy altos |
| Enrutamiento | No requerido | Necesita router |
| Distribución en GPU | Relativamente fácil | Más compleja por los expertos |
| Balanceo de carga | No suele ser necesario | Crucial para buen rendimiento |
Pese a las ventajas de la activación dispersa, MoE no reemplaza a las redes densas en todos los casos. La elección depende de la tarea y la infraestructura disponible.
Un modelo denso es más sencillo de ejecutar, distribuir y optimizar. Su carga computacional es más predecible y la ausencia de enrutamiento dinámico reduce la necesidad de comunicación entre dispositivos.
En modelos pequeños, la complejidad adicional de MoE puede no compensar. Cuanto más grande es la red, más relevante es la ventaja de aumentar parámetros sin aumentar los cálculos por token.
Por eso, MoE resulta especialmente interesante para modelos muy grandes, donde añadir capas densas resulta costoso. La arquitectura dispersa permite seguir escalando, pero exige una gestión sofisticada de memoria, red y balanceo.
Mixture of Experts debe verse no como una forma de hacer las redes "baratas", sino como un enfoque distinto para aprovechar los parámetros: en vez de activar todo el modelo para cada token, se utilizan solo los bloques más útiles en cada momento.
El modelo MoE demuestra que el tamaño de una red neuronal y la carga computacional no tienen por qué crecer al mismo ritmo. La arquitectura Mixture of Experts permite almacenar muchos parámetros y activar solo los bloques expertos necesarios para cada token.
La selección de estos bloques la realiza el router, que evalúa la representación interna del token y lo dirige a los expertos más adecuados. Gracias a la activación dispersa, la red obtiene una gran capacidad sin tener que usar todos los parámetros a la vez.
Sin embargo, MoE no resuelve todos los problemas de recursos: los parámetros de los expertos deben almacenarse, y la distribución de tokens entre GPU genera carga adicional y demanda balanceo. Por tanto, la eficiencia depende tanto del número de parámetros como de la calidad del enrutamiento y la infraestructura.
Al comparar MoE y modelos densos, no basta con mirar el tamaño anunciado de la red. Es más útil fijarse en cuántos parámetros activos hay por token, la carga computacional, los requisitos de memoria y las características del despliegue distribuido. Estos factores determinan la complejidad y el coste real de operar un modelo grande.