Parallelization Strategies for Dense LLM Deployment: Navigating Through Application-Specific Tradeoffs and Bottlenecks

Este artigo investiga estratégias de paralelização para a implantação de modelos de linguagem densos, demonstrando que o Paralelismo de Tensores (TP) otimiza a latência enquanto o Paralelismo de Pipeline (PP) favorece a vazão, e que a combinação híbrida dessas técnicas permite gerenciar eficazmente o compromisso entre esses dois indicadores de desempenho.

Burak Topcu, Musa Oguzhan Cim, Poovaiah Palangappa, Meena Arunachalam, Mahmut Taylan Kandemir

Publicado Mon, 09 Ma
📖 5 min de leitura🧠 Leitura aprofundada

Each language version is independently generated for its own context, not a direct translation.

Imagine que você tem um gênio superinteligente (um Modelo de Linguagem Grande, ou LLM) que consegue escrever códigos, resumir livros e responder a qualquer pergunta. O problema é que esse gênio é gigantesco. Ele é tão grande que não cabe na memória de um único computador, nem mesmo nos computadores mais potentes do mundo.

Para usar esse gênio, os pesquisadores tiveram que dividi-lo entre vários computadores (chamados de GPUs) que trabalham juntos. A pergunta que este artigo faz é: qual é a melhor maneira de organizar essa equipe para que o gênio responda rápido (baixa latência) ou para que ele atenda a muitas pessoas ao mesmo tempo (alta capacidade)?

Os autores, da Universidade Estadual da Pensilvânia e da AMD, testaram duas estratégias principais e descobriram que não existe uma "solução mágica" única; tudo depende do que você precisa.

Aqui está a explicação simplificada usando analogias do dia a dia:

1. O Cenário: O Gênio Gigante

Pense no modelo de IA (como o Llama 3.1) como um livro de receitas com 405 bilhões de páginas.

  • O Problema: Um único cozinheiro (uma GPU) não consegue segurar o livro inteiro e ainda ter espaço para os ingredientes (memória) que ele precisa usar enquanto cozinha.
  • A Solução: Você precisa dividir o livro entre vários cozinheiros. Mas como você divide o trabalho?

2. Estratégia A: "Corte de Fatias" (Tensor Parallelism - TP)

A Analogia: Imagine que você precisa cortar uma pizza gigante.

  • Como funciona: Em vez de um cozinheiro cortar a pizza inteira, você divide a pizza em fatias e dá uma fatia para cada cozinheiro. Todos cortam suas fatias ao mesmo tempo e depois juntam os pedaços para servir o prato.
  • O Efeito na Velocidade: Como todos estão trabalhando na mesma tarefa ao mesmo tempo, o prato sai muito mais rápido.
  • O Resultado no Papel: Essa estratégia (TP) é a campeã de velocidade de resposta. Se você quer que o gênio responda "Oi" o mais rápido possível, use TP. É como ter 8 pessoas digitando a mesma frase juntas para terminar em segundos.
  • O Contra: É como se os cozinheiros tivessem que gritar uns para os outros o tempo todo para combinar as fatias. Se houver muitos cozinheiros, o tempo de gritar (comunicação) começa a atrasar um pouco, mas ainda é o melhor para respostas rápidas.

3. Estratégia B: "Linha de Montagem" (Pipeline Parallelism - PP)

A Analogia: Imagine uma linha de montagem de carros ou uma corrida de revezamento.

  • Como funciona: O livro de receitas é dividido por capítulos. O Cozinheiro 1 faz o Capítulo 1, passa para o Cozinheiro 2, que faz o Capítulo 2, e assim por diante.
  • O Truque: Enquanto o Cozinheiro 2 está fazendo o Capítulo 2 do Carro A, o Cozinheiro 1 já pode começar o Capítulo 1 do Carro B.
  • O Efeito na Capacidade: Isso permite que você processe muitos carros (pedidos) ao mesmo tempo. A linha nunca para.
  • O Resultado no Papel: Essa estratégia (PP) é a campeã de quantidade (throughput). Se você tem 1.000 pessoas esperando respostas e não se importa se a primeira demora um pouquinho mais, mas quer que todas sejam atendidas rapidamente no total, use PP.
  • O Contra: O primeiro carro (a primeira resposta) demora mais para sair, porque precisa passar por toda a linha de montagem antes de chegar ao fim.

4. O Grande Conflito: Velocidade vs. Quantidade

O artigo mostra que existe um balanço difícil:

  • Se você focar em velocidade (usando mais fatias/TP), você atende uma pessoa super rápido, mas não consegue atender muitas ao mesmo tempo.
  • Se você focar em quantidade (usando mais etapas na linha/PP), você atende muita gente, mas a primeira resposta demora um pouco mais.

A Descoberta Principal:
Os pesquisadores descobriram que você pode misturar as duas coisas!

  • Você pode usar a "Linha de Montagem" para dividir o trabalho entre grupos de computadores.
  • E dentro de cada grupo, usar o "Corte de Fatias" para acelerar a tarefa.
  • Isso permite que você ajuste o sistema: quer mais velocidade? Aumente o "Corte de Fatias". Quer atender mais gente? Aumente a "Linha de Montagem".

5. O Que Isso Significa para Nós?

Para o futuro da Inteligência Artificial:

  • Para conversas em tempo real (como um chatbot): Precisamos de TP (Corte de Fatias) para que a resposta seja quase instantânea.
  • Para processar milhares de documentos de uma vez (como um servidor de banco de dados): Precisamos de PP (Linha de Montagem) para processar tudo sem travar o sistema.

Resumo Final:
Não existe uma única forma de organizar a equipe de cozinheiros. Se você quer o prato pronto agora, divida a pizza (TP). Se você quer servir um banquete inteiro, organize uma linha de montagem (PP). O segredo do sucesso é saber qual estratégia usar dependendo se você está com pressa ou se está com muita gente esperando.