O Cisma e a Batalha da Eficiência

por Frank de Alcantara em 25/05/2025

O Cisma e a Batalha da Eficiência

O Cisma: Quando o Codificador e o Decodificador Seguiram Caminhos Diferentes

Ao longo da nossa jornada, a engenhosa leitora acompanhou a montagem completa da arquitetura proposta por Vaswani et al. em “Attention is All You Need”. Vimos como o Codificador constrói representações bidirecionais e como o Decodificador gera respostas auto-regressivas. Juntos, eles formam uma arquitetura neural para tarefas sequência a sequência, originalmente demonstrada em tradução automática.

No entanto, a história da Inteligência Artificial raramente caminha em linha reta. Pouco tempo após a publicação do artigo original, a comunidade de pesquisa percebeu algo extraordinário: talvez não precisássemos de toda a arquitetura para todas as tarefas. Ocorreu então o grande “Cisma dos Transformers”, dividindo a pesquisa em duas grandes filosofias.

A Via da Compreensão: BERT (Apenas Codificador)

Em 2018, pesquisadores do Google apresentaram o BERT (Bidirectional Encoder Representations from Transformers), uma arquitetura baseada apenas no Codificador, pré-treinada para produzir representações úteis em diferentes tarefas de linguagem.

O BERT não usa o Decodificador da arquitetura original. Em vez de combinar dois modelos direcionais independentes, cada camada de auto-atenção condiciona a representação de um token ao contexto disponível à esquerda e à direita. No objetivo MLM (Masked Language Modeling), alguns tokens são ocultados ou perturbados, e o modelo tenta recuperá-los usando esse contexto bidirecional.

Essa representação bidirecional tornou o BERT especialmente adequado, após ajuste fino, a tarefas como classificação de sentimentos, resposta extrativa a perguntas e reconhecimento de entidades.

A Via da Geração: GPT (Apenas Decodificador)

Em outra linha de desenvolvimento, a OpenAI apresentou a família GPT (Generative Pre-trained Transformer), baseada em blocos do Decodificador.

O GPT não usa o Codificador nem a Atenção Cruzada (Cross-Attention) da arquitetura original. Ele mantém a Auto-Atenção Causal: a máscara aditiva com $-\infty$ impede que cada posição consulte tokens futuros. Seu objetivo autoregressivo básico é: dados os tokens anteriores, prever o próximo token.

Com o aumento da escala de dados, parâmetros e computação, modelos autoregressivos passaram a exibir maior fluência e adaptação a exemplos no contexto (few-shot learning). O desempenho em tarefas chamadas de raciocínio também melhora em diversos testes, mas esses resultados não demonstram, por si só, raciocínio equivalente ao humano.

A diferença estrutural entre modelos bidirecionais e unidirecionais fica evidente aqui. Perspicaz leitora, alterne entre as arquiteturas BERT e GPT neste simulador para entender o que cada modelo pode (ou não pode) ‘ver’ durante o treinamento.

O Pesadelo Quadrático: A Explosão do $O(N^2)$

Tanto o BERT quanto o GPT herdaram uma maldição profunda da arquitetura original: o custo computacional da Auto-Atenção.

Como a atenta leitora deve se recordar, para calcular os pesos de atenção de uma sequência, cada Query precisa calcular seu produto escalar contra todas as Keys. Se você tem uma frase de 10 palavras, a matriz de atenção terá $10 \times 10 = 100$ cálculos.

Mas o que acontece quando queremos analisar não apenas uma frase, mas um artigo científico inteiro? Ou um livro de 10.000 tokens ($N = 10000$)?

O tamanho da matriz de atenção cresce quadraticamente com o comprimento da sequência: $O(N^2)$.

\[\text{Complexidade Espacial} \approx O(N^2 \cdot \text{Cabeças} \cdot \text{Batch Size})\]

Para 10.000 tokens, cada cabeça produz logicamente $100.000.000$ (cem milhões) de pontuações de similaridade por camada. Implementações ingênuas materializam essa matriz e podem provocar erros de “Out of Memory” (OOM) nas GPUs. Esse custo foi um dos principais fatores que restringiram as primeiras janelas de contexto, ao lado da capacidade do hardware, do custo de treinamento e das escolhas de arquitetura.

Atenção Esparsa (Sparse Attention): A Arte de Não Olhar para Tudo

Como, então, alguns modelos processam sequências muito mais longas? Não existe uma única resposta. Uma possibilidade é explorar o fato de que nem toda tarefa exige todas as conexões entre tokens.

A Atenção Esparsa é uma dessas soluções. Abordagens como Longformer e BigBird definem padrões que limitam quais pares de tokens podem interagir. Com uma janela local de largura fixa e poucos tokens globais, o número de conexões pode crescer linearmente com $N$; o custo exato depende do padrão escolhido.

  1. Atenção Janela-Deslizante (Sliding Window): As palavras não precisam olhar para os cantos mais remotos do livro para entender sua gramática imediata. Permite-se que cada palavra atenda apenas a uma vizinhança local, digamos, 50 palavras à esquerda e 50 à direita. Na matriz, isso cria uma banda diagonal estreita.
  2. Atenção Global em Tokens Especiais: Para garantir que o texto não perca seu sentido global (do que o livro se trata afinal?), designamos um punhado seleto de tokens (geralmente os iniciais) para funcionarem como “hubs”. Eles atendem a todos e são atendidos por todos.
  3. Atenção Aleatória ou Dilatada: Espaçamos as consultas locais usando padrões matemáticos, permitindo que o foco “pule” algumas palavras para alargar a visão periférica sem aumentar a densidade dos cálculos.

A atenção completa é pesada demais para textos longos. Por fim, curiosa leitora, explore este simulador de Sparse Attention e veja como ignorar conexões irrelevantes permite que modelos processem milhares de palavras sem explodir a memória.

Atenção Densa Exata com Menor Uso de Memória

Nem toda melhoria de eficiência torna a atenção esparsa ou aproximada. O FlashAttention, por exemplo, calcula a mesma atenção densa exata em blocos, evitando materializar toda a matriz intermediária na memória de alta largura de banda. Isso reduz a movimentação de dados e a memória adicional, embora o número de produtos entre queries e keys continue quadrático em $N$. Outras técnicas atacam gargalos diferentes: Multi-Query Attention e Grouped-Query Attention, por exemplo, reduzem o cache de keys e values durante a inferência autoregressiva.

Conclusão: O Limite da Escalabilidade

O cisma arquitetônico produziu famílias com vieses distintos para compreensão e geração. Todas ainda precisam administrar o custo da atenção. Padrões esparsos e implementações exatas eficientes ampliam o comprimento de sequência que cabe no orçamento de memória e computação, mas fazem isso com propriedades e compromissos diferentes.

Arquiteturas como Mamba, baseadas em modelos de espaço de estados (State Space Models, SSMs), oferecem custo linear no comprimento da sequência em sua operação principal. Escalabilidade linear, contudo, não implica contexto útil infinito: memória finita do estado, qualidade de recuperação, dados, hardware e avaliação continuam impondo limites. Esse é um assunto para além desta série inicial.

Agradeço por viajar comigo pelas engrenagens mecânicas e matemáticas dos Transformers. Até a próxima!

Referências

(Updated: )