Folding Tensor and Sequence Parallelism for Memory-Efficient Transformer Training & Inference
Este artigo apresenta a Paralelização de Tensores e Sequências (TSP), uma estratégia de execução inovadora que funde o particionamento de pesos e tokens em um único eixo de dispositivo para reduzir simultaneamente a sobrecarga de memória de parâmetros e ativações, oferecendo uma alternativa eficiente em hardware para o treinamento e inferência de modelos transformer de contexto longo e com restrições de memória.
Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo
Imagine que você está tentando resolver um quebra-cabeça massivo com um grupo de amigos, mas você só tem uma mesa muito pequena (a memória do seu computador) para trabalhar. O quebra-cabeça é tão grande que nenhuma pessoa sozinha consegue segurar todas as peças de uma vez.
Este artigo apresenta uma nova maneira para uma equipe de computadores (GPUs) trabalhar em conjunto para treinar modelos de IA gigantes, que são essencialmente esses quebra-cabeças massivos. Os autores chamam sua nova estratégia de TSP (Paralelismo de Tensor e Sequência).
Aqui está a explicação usando analogias simples:
O Problema: Duas Maneiras Antigas de Compartilhar o Trabalho
Para resolver o quebra-cabeça, a equipe geralmente usa um de dois métodos antigos, mas ambos têm falhas:
O Método "Divisão de Pesos" (Paralelismo de Tensor):
Imagine que as peças do quebra-cabeça são as "regras" do jogo (os pesos do modelo). Neste método, você corta o livro de regras pela metade. A Pessoa A segura a primeira metade das regras, e a Pessoa B segura a segunda metade.- O Bom: Você economiza espaço na mesa porque não está armazenando o livro de regras inteiro duas vezes.
- O Ruim: Se o quebra-cabeça tiver uma história longa (uma sequência longa de palavras), todos ainda terão que segurar a história inteira em suas mãos para jogar. Se a história for enorme, suas mãos (memória) ficam cheias e você trava.
O Método "Divisão de História" (Paralelismo de Sequência):
Imagine que as peças do quebra-cabeça são a própria história. Neste método, a Pessoa A segura a primeira metade da história, e a Pessoa B segura a segunda metade.- O Bom: Você economiza espaço na mesa porque não está segurando a história inteira de uma vez.
- O Ruim: Todos ainda precisam memorizar o livro de regras inteiro. Se o livro de regras for enorme, seu cérebro (memória) fica cheio e você trava.
O Híbrido Antigo: Geralmente, as equipes tentam fazer ambos usando dois grupos separados de amigos. Um grupo divide as regras, e um grupo diferente divide a história. Mas isso é ineficiente porque usa todos os seus amigos apenas para dividir o trabalho, não restando ninguém para ajudar em outras tarefas (como Paralelismo de Dados).
A Solução: O Método "Dobrado" (TSP)
Os autores dizem: "Por que usar dois grupos separados? Vamos dobrar o trabalho em um único eixo."
No TSP, cada pessoa do grupo faz ambas as coisas ao mesmo tempo:
- Eles seguram um fatia do livro de regras (pesos).
- Eles seguram uma fatia da história (sequência).
A Analogia:
Imagine que você está em uma festa de jantar.
- Maneira Antiga: Você tem uma mesa onde uma pessoa passa o cardápio (pesos) enquanto todos leem o livro inteiro. Outra mesa tem pessoas passando o livro (história) enquanto todos memorizam o cardápio inteiro.
- Maneira TSP: Todos à mesa recebem um pequeno pedaço do cardápio e um pequeno pedaço da história.
Como Eles Fazem Isso Funcionar (Os Truques de Mágica)
Como todos têm um pedacinho do cardápio e um pedacinho da história, eles precisam conversar muito entre si para terminar o quebra-cabeça. O artigo descreve duas maneiras inteligentes de fazer isso sem ficar sobrecarregado:
Para as partes da "História" (Atenção):
Imagine que o grupo precisa conhecer a história inteira para entender uma frase específica. Em vez de todos gritarem a história inteira de uma vez, eles se revezam. Uma pessoa transmite sua parte do cardápio para todos. Em seguida, todos calculam sua parte da história e trocam rapidamente suas peças da história (chaves e valores) para reconstruir o contexto completo. É como uma corrida de revezamento onde eles passam o bastão (dados) enquanto correm.Para as partes das "Regras" (MLP):
Imagine que o grupo precisa aplicar regras diferentes às suas peças da história. Em vez de parar para gritar as regras, eles passam as páginas do livro de regras em círculo (um anel). A Pessoa A faz seus cálculos com a Página 1, depois passa a Página 1 para a Pessoa B enquanto a Pessoa B passa a Página 2 para a Pessoa C. Enquanto as páginas estão se movendo, todos estão ocupados fazendo cálculos. Isso mantém o "tráfego" em movimento enquanto o "trabalho" é feito.
Por Que Isso É Melhor?
O artigo afirma que o TSP é uma solução "consciente do hardware", o que significa que foi projetado especificamente para a maneira como os chips de computador modernos conversam entre si.
- Economia de Memória: Como todos seguram um pedaço das regras e um pedaço da história, a memória necessária em cada computador cai significativamente. Isso permite que a equipe lide com histórias muito mais longas (contexto mais longo) sem ficar sem memória.
- Velocidade: Mesmo que estejam passando mais dados de um lado para o outro (o que soa mais lento), eles fazem isso de uma forma que se sobrepõe ao seu pensamento. O "passar" acontece enquanto eles estão "pensando", então o tempo total não aumenta muito.
- Caber na Sala: Em um cluster de computadores, a conexão mais rápida é geralmente entre chips na mesma máquina (como pessoas sentadas à mesma mesa). A conexão mais lenta é entre máquinas diferentes (pessoas em salas diferentes).
- Os métodos antigos frequentemente forçavam a equipe a se dividir em salas diferentes, desacelerando-os.
- O TSP permite que toda a equipe "dividida" caiba em uma única máquina (uma mesa), mantendo-os na pista rápida.
Os Resultados
Os autores testaram isso em um cluster massivo de 1.024 GPUs poderosas (MI300X).
- Memória: O TSP usou a menor quantidade de memória em cada teste, especialmente quando as histórias eram muito longas.
- Velocidade: O TSP foi tão rápido ou mais rápido do que os métodos antigos.
- Escalabilidade: À medida que adicionavam mais computadores ao grupo, o TSP continuou a performar bem, enquanto os métodos antigos começaram a lutar com os limites de memória.
Em resumo: O TSP é uma maneira mais inteligente de organizar uma equipe de computadores. Em vez de dividir as "regras" e a "história" em grupos separados, ele as combina para que cada computador segure um pouco de ambas. Isso economiza espaço, permite histórias mais longas e mantém a equipe trabalhando com eficiência na mesma rede rápida.
Afogado em artigos na sua área?
Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.