Paralelismo en LLM: ¿en qué se diferencian TP, PP, DP y EP?

Traducción automática

Este artículo se tradujo automáticamente a partir de la versión original en inglés.

El paralelismo de tensores divide las operaciones sobre los pesos. El paralelismo de pipeline divide las capas. El paralelismo de datos en serving ejecuta réplicas independientes del modelo. El paralelismo de expertos distribuye los expertos de un modelo de mezcla de expertos. Elige según la capacidad de memoria necesaria para el modelo, el tráfico y los enlaces entre GPUs.

Estos son cuatro enfoques habituales. Los despliegues grandes pueden combinarlos, y el entrenamiento con contextos largos también puede usar paralelismo de secuencia o de contexto.

¿Qué almacena cada GPU?

EnfoqueDistribución del modeloComunicación que hay que tener en cuenta
Paralelismo de tensores, TPPartes de las matrices de pesosOperaciones colectivas frecuentes durante la ejecución del modelo
Paralelismo de pipeline, PPGrupos de capas consecutivasActivaciones que se transfieren entre etapas
Paralelismo de datos, DPRéplicas completas de servingSin cálculo del modelo entre réplicas para solicitudes independientes
Paralelismo de expertos, EPDistintos expertos de MoETokens dirigidos a los expertos, a menudo mediante un intercambio de todos a todos

El DP de entrenamiento difiere de las réplicas de serving: el entrenamiento combina gradientes, y ZeRO o FSDP pueden repartir el estado de entrenamiento. Los sistemas MoE también pueden coordinar componentes compartidos aunque parte del trabajo se ejecute en paralelo por datos.

El informe de Llama 3 describe el paralelismo combinado para entrenar modelos grandes y la inferencia con paralelismo de pipeline. Su despliegue muestra por qué hay que considerar juntas la distribución del modelo y la topología; no establece una configuración universal.

Elige el grupo más pequeño que pueda atender la carga

Si un modelo de serving cabe en una GPU con suficiente capacidad para el KV cache, empieza probando réplicas independientes. Pueden aumentar el tasa total de procesamiento sin añadir operaciones colectivas a cada solicitud.

Si el modelo necesita varias GPUs, prueba TP dentro de un nodo con enlaces rápidos entre GPU. Dividirlo en más partes puede reducir la memoria por GPU, pero añade comunicación. Si el modelo abarca varios nodos, compara PP y las combinaciones de TP y PP; los tiempos desiguales de las etapas y los periodos de inactividad del pipeline pueden reducir la utilización.

Para un modelo MoE, mide la distribución de expertos, el equilibrio de tokens y el tráfico de interconexión antes de añadir EP. La memoria disponible para los expertos es solo una parte de la decisión.

Mantén constantes los prompts, las longitudes de salida, la precisión y los umbrales de latencia en la comparación. Indica la tasa de procesamiento del grupo completo de serving; dividirlo por el número de GPU no permite predecir cómo escalará otra topología.

La sección sobre paralelismo de la LLM Engineering Guide ilustra las cuatro distribuciones.