Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Expert Parallelism

El paralelismo de expertos distribuye los expertos de las capas de mezcla de expertos entre varias GPU y dirige cada token a los expertos correspondientes mediante comunicación all-to-all.

El paralelismo de expertos (EP) es una estrategia de entrenamiento distribuido e inferencia para modelos de mezcla de expertos (MoE) que coloca distintos expertos en distintas GPU y envía cada token a los dispositivos que alojan los expertos seleccionados para él. Una capa MoE sustituye un gran bloque feed-forward de un Transformer por muchas redes expertas más pequeñas y un enrutador que activa solo unos pocos expertos por token; por ello, el total de parámetros puede crecer mucho más deprisa que el cálculo dedicado a cada token. El paralelismo de expertos permite que esos parámetros quepan en la memoria: en vez de almacenar todos los expertos en cada GPU, cada una almacena una parte. En su capa MoE dispersa con compuertas de 2017, Noam Shazeer y sus colegas de Google ya repartieron expertos entre dispositivos, con una copia compartida de cada uno, y GShard amplió el enfoque en junio de 2020 al distribuir los expertos de un modelo de traducción de más de 600.000 millones de parámetros entre 2.048 aceleradores TPU v3. El paralelismo de expertos es ahora habitual para entrenar y servir grandes modelos de lenguaje y de visión y lenguaje basados en MoE.

Cómo se mueven los tokens entre GPU#

Cada capa MoE se ejecuta en cuatro pasos:

  1. Enrutamiento: El enrutador puntúa cada token frente a cada experto y selecciona los k mejores, normalmente uno, dos u ocho.
  2. Enrutamiento: Una operación colectiva de todos contra todos envía el estado oculto de cada token a las GPU que alojan los expertos que se han elegido para procesarlo.
  3. Cómputo: Cada GPU ejecuta sus expertos locales con los tokens recibidos.
  4. Combinación: Una segunda operación de todos a todos devuelve las salidas a la GPU original de cada token, donde se ponderan con las puntuaciones del enrutador y se suman.

El fragmento siguiente simula los pasos de enrutamiento y distribución de una capa con 8 expertos repartidos entre 4 GPU, dos expertos por GPU:

import torch

torch.manual_seed(0)
num_experts, num_gpus, top_k = 8, 4, 2
tokens = torch.randn(4096, 512)  # estados ocultos de 4.096 tokens
router = torch.nn.Linear(512, num_experts)

# Enrutamiento: cada token selecciona sus 2 expertos principales según la puntuación del enrutador
with torch.no_grad():
    _, experts = router(tokens).topk(top_k, dim=-1)

# Paralelismo de expertos: los expertos 0-1 están en la GPU 0, los expertos 2-3 en la GPU 1, y así sucesivamente
gpu = experts // (num_experts // num_gpus)

# Distribución: cuenta las asignaciones de tokens a expertos que recibe cada experto y GPU
print(torch.bincount(experts.flatten(), minlength=num_experts).tolist())
print(torch.bincount(gpu.flatten(), minlength=num_gpus).tolist())

La primera línea de la salida muestra la carga de cada experto, de 948 a 1087 asignaciones frente a una cuota equitativa de 1024; la segunda muestra que las cuatro GPU reciben entre 1968 y 2139 de las 8192 asignaciones. Incluso un enrutador inicializado al azar distribuye el trabajo de forma desigual, y los enrutadores entrenados desarrollan expertos populares que desequilibran mucho más la carga.

Equilibrio de carga y capacidad#

Una capa no termina hasta que lo hace la GPU más ocupada, por lo que el desequilibrio del enrutamiento se traduce directamente en hardware inactivo. El entrenamiento MoE lo contrarresta de tres maneras:

  • Pérdida auxiliar de equilibrado: Un término adicional en la función de pérdida recompensa al enrutador por distribuir los tokens de forma uniforme entre los expertos.
  • Factor de capacidad: Cada experto acepta como máximo un número fijo de tokens por lote —por ejemplo, 1,25 veces la parte equitativa— y los tokens que superan el límite omiten ese experto.
  • Equilibrado basado en sesgos: DeepSeek-V3 añade un sesgo por experto a las puntuaciones del enrutador, que solo afecta a la selección de expertos: lo reduce para los expertos sobrecargados y lo aumenta para los inactivos después de cada paso. Así equilibra la carga sin que una pérdida auxiliar compita con el objetivo principal.

Con un límite de capacidad, la ruta de cada token depende de lo ocupados que estén sus expertos:

Un token omitido atraviesa sin cambios la conexión residual de la capa, por lo que descartar muchos tokens perjudica la calidad. DeepSeek-V3 no descarta ningún token durante el entrenamiento y, en su lugar, utiliza el equilibrado basado en sesgos.

La comunicación es el otro coste. Los dos intercambios de todos contra todos se producen en cada capa MoE, así que el paralelismo de expertos funciona mejor dentro de un nodo, donde las GPU comparten conexiones NVLink rápidas, y resulta caro a través de los enlaces más lentos entre nodos. DeepSeek-V3 distribuye los 256 expertos enrutados de cada capa mediante paralelismo de expertos de 64 vías en 8 nodos, envía cada token a expertos de un máximo de 4 nodos y solapa los intercambios con el cálculo.

Combinación de estrategias de paralelismo#

El paralelismo de expertos es una de las varias formas de distribuir el entrenamiento entre dispositivos:

  • Paralelismo de datos: Replica el modelo completo en cada GPU y divide cada lote; sincroniza los gradientes después de cada paso.
  • Paralelismo de tensores: Divide las matrices de pesos individuales entre varias GPU, de modo que todas participan en cada capa.
  • Paralelismo de tuberías: Asigna capas consecutivas a distintas GPU y canaliza micro lotes a través de ellas.
  • Paralelismo de contexto: Divide una secuencia de entrada larga entre varias GPU.

Los modelos densos que caben en una GPU no necesitan nada más que paralelismo de datos, que es como Ultralytics YOLO26 entrena en varias GPU cuando se pasa una lista de dispositivos como device=[0, 1] en modo de entrenamiento. Los modelos MoE grandes combinan varios tipos: DeepSeek-V3 entrenó sus 671.000 millones de parámetros, 37.000 millones activos por token, con paralelismo de canalización de 16 vías, paralelismo de expertos de 64 vías y paralelismo de datos fragmentado, sin paralelismo de tensores. Los motores de inferencia como vLLM aplican la misma división al servir un modelo, de modo que un modelo MoE cuyos expertos superarían la memoria de una GPU se ejecuta en varias, cada una con solo su parte de los expertos.

Explore solutions

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático