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?
| Abordagem | Distribuição do modelo | Comunicação a ter em conta |
|---|---|---|
| Paralelismo de tensores, TP | Partes das matrizes de pesos | Operações coletivas frequentes durante a execução do modelo |
| Paralelismo de pipeline, PP | Grupos de camadas consecutivas | Ativações transmitidas entre etapas |
| Paralelismo de dados, DP | Réplicas completas de serving | Sem cálculo do modelo entre réplicas para pedidos independentes |
| Paralelismo de especialistas, EP | Diferentes especialistas MoE | Tokens 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.