Adaptive asynchronous pipeline parallelism for large language models
Guilherme Mendeleh Perrotta
DISSERTAÇÃO
Inglês
T/UNICAMP P429a
[Paralelismo de pipeline assíncrono adaptativo para grandes modelos de linguagem]
Campinas, SP : [s.n.], 2024.
1 recurso online (67 p.) : il., digital, arquivo PDF.
Orientadores: Guido Costa Souza de Araújo, Sandro Rigo
Dissertação (mestrado) - Universidade Estadual de Campinas (UNICAMP), Instituto de Computação
Resumo: O advento da arquitetura Transformer em 2017 iniciou uma corrida na qual desenvolvem- se Large Language Models (LLMs) com cada vez mais parâmetros para obter resultados no estado da arte em uma ampla gama de aplicações. À medida que o tamanho dos modelos aumentou exponencialmente nos últimos...
Ver mais
Resumo: O advento da arquitetura Transformer em 2017 iniciou uma corrida na qual desenvolvem- se Large Language Models (LLMs) com cada vez mais parâmetros para obter resultados no estado da arte em uma ampla gama de aplicações. À medida que o tamanho dos modelos aumentou exponencialmente nos últimos anos, da mesma forma aumentou-se o requisito de memória para treiná-los. Por outro lado, a capacidade de memória dos aceleradores (e.g. GPUs) aumenta em um ritmo muito mais lento, e um único acelerador atual tem capacidade insuficiente para treinar modelos com bilhões de parâmetros. Para aproveitar a capacidade de memória de múltiplos dispositivos no treinamento, esses modelos são particionados usando paralelismo de modelo. O modelo particionado é executado como um pipeline, conhecido como paralelismo de pipeline. Contudo, a natureza bidirecional do backpropagation, usado para o treinamento, resulta em um pipeline com stalls e baixa utilização do hardware. Uma formulação alternativa é o paralelismo de pipeline assíncrono, que remove com- pletamente esses stalls, mas introduz erro aos gradientes computados. Mesmo utilizando técnicas para mitigação de erro, treinar com este método pode reduzir a eficiência estatís- tica do passo de otimização, resultando em um treinamento mais lento mesmo com tempo por passo muito menor. Neste trabalho introduzimos o paralelismo de pipeline adaptativo (ou AdaPipe), que alterna entre fases síncronas e assíncronas durante o treinamento. A taxa de convergência é medida durante o treinamento, e uma heurística é utilizada para selecionar a fase que no momento resulta em mais progresso. Experimentos mostram que a utilização do AdaPipe resulta em menor time-to-perplexity do que simplesmente utilizar um pipeline assíncrono, em todos os casos. Em comparação com o pipeline síncrono, a técnica mostra speedups de 4 a 40%, dependendo da profundidade do pipeline e do batch size
Ver menos
Abstract: The advent of the Transformer architecture in 2017 started a race of developing Large Language Models (LLMs) with an ever-growing number of parameters to obtain state-of- the-art results for a wide range of applications. As the model size increased exponentially over the last few years, so...
Ver mais
Abstract: The advent of the Transformer architecture in 2017 started a race of developing Large Language Models (LLMs) with an ever-growing number of parameters to obtain state-of- the-art results for a wide range of applications. As the model size increased exponentially over the last few years, so has the memory requirement to train these models. On the other hand, the memory capacity of accelerators (e.g. GPUs) increases at a much slower pace, and a single modern accelerator has insufficient capacity for training billion-scale models. To leverage the memory capacity of multiple devices for training, these models are partitioned using model parallelism. The partitioned model is executed in pipelined man- ner, known as pipeline parallelism. However, the bidirectional nature of backpropagation, used for training, results in a pipeline with stalls and low hardware utilization. An alternative formulation is the asynchronous pipeline parallelism, which completely removes these stalls but introduces errors to the gradients computed. Even using error mitigation techniques, training with this method may reduce the statistical efficiency of the optimization step, resulting in slower training despite the much faster step time. In this work, we introduce the adaptive pipeline parallelism (or AdaPipe), which al- ternates between synchronous and asynchronous phases during training. It measures the convergence rate during training and uses a heuristic to select dynamically the algorithm that yields more progress. Experiments show that using AdaPipe results in lower time- to-perplexity than simply using an asynchronous pipeline for all cases. Compared to the synchronous pipeline, it shows 4 to 40% speedups, depending on pipeline depth and batch size
Ver menos
Requisitos do sistema: Software para leitura de arquivo em PDF
Aberto
Araújo, Guido Costa Souza de, 1962-
Orientador
Rigo, Sandro, 1975-
Coorientador
Wanner, Lucas Francisco, 1981-
Avaliador
Lotufo, Roberto de Alencar, 1955-
Avaliador
Yviquel, Hervé Cédric, 1986-
Avaliador
Adaptive asynchronous pipeline parallelism for large language models
Guilherme Mendeleh Perrotta
Adaptive asynchronous pipeline parallelism for large language models
Guilherme Mendeleh Perrotta