07 nov 2024
14:00 Defesa de Mestrado auditório do Instituto de Computação
Tema
Paralelismo de Pipeline Assíncrono Adaptativo para Large Language Models
Aluno
Guilherme Mendeleh Perrotta
Orientador / Docente
Lucas Francisco Wanner - Coorientador: Sandro Rigo
Breve resumo
O advento da arquitetura Transformer em 2017 iniciou uma corrida na qual desenvolvem-se modelos 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 completamente 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ística 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.
Banca examinadora
Titulares:
Lucas Francisco Wanner IC/UNICAMP
Hervé Cédric Yviquel IC/UNICAMP
Roberto de Alencar Lotufo FEEC/UNICAMP
Suplentes:
Breno Bernard Nicolau de França IC/UNICAMP
Alexandro José Baldassin IGCE/UNESP