Escalando o Treinamento de LLMs: De um Único Chip a um Data Center. Capítulo 4. Treinando um Transformer
O capítulo revisa quatro tipos de paralelismo para treinar transformers em múltiplos aceleradores: paralelismo de dados, paralelismo de dados totalmente fragmentado (FSDP), paralelismo de tensor e paralelismo de pipeline. Discute suas vantagens, desvantagens e quando combiná-los, enfatizando a importância de alcançar desempenho limitado por computação para escalabilidade.
O artigo explica como treinar um transformer de forma eficiente e em larga escala. Ele introduz a notação para as dimensões do modelo (D, F, B, T, L) e hardware (C, W, X, Y, Z). Os quatro tipos de paralelismo são descritos: paralelismo de dados divide o lote entre os aceleradores, exigindo AllReduce para a agregação de gradientes, e é eficaz quando o modelo cabe em um único acelerador. FSDP (ZeRO) divide os pesos do modelo, gradientes e estados do otimizador, usando AllGather e ReduceScatter, e é limitado por computação com tamanhos de lote pequenos. O paralelismo de tensores divide as matrizes de pesos, trocando ativações, e é melhor combinado com FSDP para reduzir o tamanho das ativações em relação aos pesos. O paralelismo de pipeline divide o modelo em camadas, minimizando a transferência de dados, mas introduzindo 'bolhas de pipeline', que podem ser mitigadas com microbatching ou sobreposição de computações. O artigo observa que a combinação FSDP+TP é quase sempre limitada por computação, e o pipeline é comum em clusters de GPUs. Conclui-se que o objetivo é escalar enquanto se gerencia a sobrecarga.
Fonte: Habr — хаб ИИ —
original
