Paralelismo em LLM: como diferem TP, PP, DP e EP?

Tradução automática

Este artigo foi traduzido automaticamente a partir da versão original em inglês.

O paralelismo de tensores divide as operações sobre os pesos. O paralelismo de pipeline divide as camadas. O paralelismo de dados em serving executa réplicas independentes do modelo. O paralelismo de especialistas distribui os especialistas de um modelo de mistura de especialistas. Escolha com base na memória necessária para o modelo, no tráfego e nas ligações entre GPUs.

Estas são quatro abordagens comuns. Os grandes sistemas em produção podem combiná-las, e o treino com contextos longos também pode usar paralelismo de sequência ou de contexto.

O que armazena cada GPU?

AbordagemDistribuição do modeloComunicação a ter em conta
Paralelismo de tensores, TPPartes das matrizes de pesosOperações coletivas frequentes durante a execução do modelo
Paralelismo de pipeline, PPGrupos de camadas consecutivasAtivações transmitidas entre etapas
Paralelismo de dados, DPRéplicas completas de servingSem cálculo do modelo entre réplicas para pedidos independentes
Paralelismo de especialistas, EPDiferentes especialistas MoETokens encaminhados para os especialistas, muitas vezes através de uma troca de todos para todos

O DP de treino difere das réplicas de serving: o treino combina gradientes, e ZeRO ou FSDP podem repartir o estado de treino. Os sistemas MoE também podem coordenar componentes partilhados, mesmo quando parte do trabalho usa paralelismo de dados.

O relatório do Llama 3 descreve o paralelismo combinado para treinar modelos grandes e a inferência com paralelismo de pipeline. A sua implementação mostra por que razão é necessário considerar em conjunto a distribuição do modelo e a topologia; não estabelece uma configuração universal.

Escolha o grupo mais pequeno que consiga responder à carga

Se um modelo de serving couber numa GPU com capacidade suficiente para o KV cache, comece por testar réplicas independentes. Podem aumentar o débito total sem acrescentar operações coletivas a cada pedido.

Se o modelo precisar de várias GPUs, teste TP dentro de um nó com ligações rápidas entre GPU. Mais partições podem reduzir a memória por GPU, mas acrescentam comunicação. Se o modelo abranger vários nós, compare PP e combinações de TP e PP; tempos desiguais entre etapas e períodos de inatividade do pipeline podem reduzir a utilização.

Para um modelo MoE, meça a distribuição dos especialistas, o equilíbrio dos tokens e o tráfego de interligação antes de acrescentar EP. A memória disponível para os especialistas é apenas uma parte da decisão.

Mantenha os prompts, os comprimentos de saída, a precisão e os limiares de latência constantes na comparação. Indique o débito do grupo completo de serving; dividi-lo pelo número de GPU não permite prever como outra topologia irá escalar.

A secção sobre paralelismo do LLM Engineering Guide ilustra as quatro distribuições.