← Últimos artigos
🤖 machine learning

Tile-Level Activation Overlap for Efficient LLM Inference

Este artigo introduz dois kernels especializados baseados em CUTLASS para SM90 que fundem a ativação SwiGLU com a multiplicação de matrizes ao nível de tile para eliminar o overhead de materialização de tensores intermediários, alcançando até 2,47x de aceleração e 79,5% de utilização de pico em GPUs NVIDIA H100 enquanto supera tanto o PyTorch quanto o cuBLAS em eficiência e precisão numérica.

Autores originais: Abhinav Jangda, Tyler Sorensen, Sebastian Burckhardt, Jianlan YE, Chaoyin Li, Atul Gupta

Publicado 2026-07-07
📖 5 min de leitura🧠 Leitura aprofundada

Autores originais: Abhinav Jangda, Tyler Sorensen, Sebastian Burckhardt, Jianlan YE, Chaoyin Li, Atul Gupta

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á administrando uma fábrica de alta velocidade que constrói robôs complexos (esses robôs são Modelos de Linguagem de Grande Escala, como os que alimentam os chatbots). Para construir cada robô, sua fábrica possui uma linha de montagem específica chamada MLP (uma parte central do cérebro do robô).

Por muito tempo, esta linha de montagem teve uma ineficiência importante. Aqui está o problema e a solução apresentada neste artigo, explicados de forma simples.

O Problema: O Gargalo do "Intermediário"

Nas fábricas de robôs modernas, um passo específico chamado SwiGLU é usado para tornar os robos mais inteligentes. Pense no SwiGLU como um controle de qualidade que requer dois cálculos separados:

  1. Cálculo A: Medir o estado atual do robô.
  2. Cálculo B: Medir o potencial do robô.
  3. A Cola: Combinar essas duas medições para obter o resultado final.

O Jeito Antigo (O Gargalo):
Na configuração padrão da fábrica (como a usada pelo PyTorch), após realizar o Cálculo A, os trabalhadores têm que anotar os resultados em um quadro branco gigante no corredor (Memória de Alta Largura de Banda). Então, eles têm que caminhar até lá, ler esse quadro branco, fazer o Cálculo B, escrever esse resultado em um segundo quadro branco e, finalmente, caminhar de volta para ler ambos os quadros brancos para realizar a etapa da "Cola".

O artigo descobriu que para robôs menores (modelos de IA menores), esse "caminhar até o quadro branco" consome de 30% a 37% do tempo total. É como um chef que passa metade do tempo caminhando até a despensa para pegar um único tempero, em vez de cozinhar.

A Solução: Duas "Supercozinhas" Novas

Os autores construíram duas novas cozinhas personalizadas (chamadas de Kernels) que eliminam os quadros brancos completamente. Em vez de escrever os resultados e caminhar de volta, os trabalhadores mantêm os ingredientes em suas mãos (nos Registradores) e fazem tudo em um movimento contínuo.

Eles criaram duas estratégias diferentes para diferentes tamanhos de fábrica:

1. A Cozinha "Ping-Pong" (Kernel-1)

  • Como funciona: Imagine uma corrida de revezamento. Enquanto um trabalhador busca o próximo lote de ingredientes (carregando dados), outro trabalhador já está misturando o lote atual.
  • O Truque: Eles usam um cronograma de "Ping-Pong". Enquanto a máquina está ocupada buscando o segundo conjunto de ingredientes, os trabalhadores usam exatamente esse tempo para fazer a matemática da "Cola" no primeiro conjunto.
  • Melhor para: Fábricas que produzem robôs gigantes (Modelos Grandes) ou executam muitos robôs ao mesmo tempo (Lotes Grandes). É como uma linha de montagem massiva onde você tem trabalhadores suficientes para manter as grandes máquinas totalmente ocupadas.

2. A Cozinha "Intercalada" (Kernel-2)

  • Como funciona: Imagine que você está embalando caixas. Em vez de embalar todos os itens vermelhos e depois todos os azuis, você embala um item vermelho, depois um azul, depois um vermelho, alternando-os perfeitamente.
  • O Truque: Eles misturam as duas matrizes de pesos (as "receitas" para os cálculos) antes de começar. Isso permite que os trabalhadores peguem um ingrediente "vermelho" e um "azul" simultaneamente e os processem juntos imediatamente.
  • Melhor para: Fábricas que produzem robôs menores ou executam menos robôs por vez (Lotes Pequenos). Este método é tão eficiente que mantém o chão da fábrica totalmente preenchido com trabalhadores, evitando que alguém fique parado esperando.

Os Resultados: Velocidade e Precisão

Os autores testaram essas novas cozinhas em chips NVIDIA H100 (os processadores de IA mais poderosos disponíveis) usando vários tamanhos de robôs (desde modelos minúsculos de 0.5B até massivos de 72B).

  • Acelerações Massivas: Para os robôs menores, as novas cozinhas foram 2,47 vezes mais rápidas que o padrão antigo. É como reduzir uma tarefa de 10 minutos para 4 minutos.
  • Mudança de Gargalo: O sistema antigo era "Limitado por Memória" (gastando muito tempo caminhando até o quadro branco). O novo sistema é "Limitado por Computação" (passando todo o tempo realmente fazendo a matemática). Eles atingiram 79,5% da velocidade teórica máxima do chip.
  • O Compilador Não Consegue Fazer Isso: Os autores tentaram usar o software de "piloto automático" padrão (o torch.compile do PyTorch) para corrigir isso automaticamente. Ele falhou. O piloto automático foi de 3 a 7 vezes mais lento que as cozinhas customizadas deles. Isso prova que, para este problema específico, você precisa de um especialista humano para criar a solução manualmente; o computador ainda não consegue descobrir isso sozinho.
  • Melhor Precisão: Surpreendentemente, as novas cozinhas customizadas também foram mais precisas do que o método padrão. O método padrão apresentou pequenos erros matemáticos em 4,5% a 11% dos resultados, enquanto as novas cozinhas tiveram zero erros.

Resumo

O artigo mostra que, ao reorganizar como o trabalho no chão da fábrica ocorre — especificamente ao impedir que os trabalhadores caminhem constantemente até o quadro branco para ler/escrever notas intermediárias —, podemos fazer com que os modelos de IA funcionem significativamente mais rápido, especialmente para modelos menores usados em dispositivos de borda (como telefones ou laptops). Eles provaram que as ferramentas de software padrão não conseguem replicar essa eficiência, exigindo códigos especializados e escritos à mão para alcançar esses resultados.

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.

Experimentar Digest →