Transformers 9, O Cisma e a Batalha da Eficiência
por Frank de Alcantara em 25/05/2025
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 compreende o contexto bidirecional e como o Decodificador gera respostas auto-regressivas. Juntos, eles formam a máquina de tradução perfeita.
Índice da Série: Transformers
- 1. Transformers - Você Pensa Como Fala
- 2. Multiplicação de Matrizes
- 3. Transformers - A Temida Matemática
- 4. Transformers - A Vetorização Básica
- 5. Transformers - Redes Neurais Artificiais para Word Embedding
- 6. Transformers - embeddings Distribuídos
- 7. Transformers - Word2Vec, a Ponte para o Contexto
- 8. Transformers- Desvendando a Modelagem de Sequências
- 9. Transformers - Prestando Atenção
- 10. Transformers, Do Código à Geração
- 11. Transformers 9, O Cisma e a Batalha da Eficiência (Você está aqui)
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)
O Google, focado em entender profundamente a intenção das buscas e a semântica dos textos, olhou para o bloco Codificador e viu ali o Santo Graal da compreensão de linguagem. Nasceu assim o BERT (Bidirectional Encoder Representations from Transformers).
O BERT descartou completamente o Decodificador. Sua genialidade reside em treinar o modelo para ler uma frase simultaneamente da esquerda para a direita e da direita para a esquerda (Bidirecionalidade). O treinamento (MLM - Masked Language Modeling) consiste em esconder algumas palavras no meio de uma frase e forçar o modelo a adivinhar o que falta usando todo o contexto ao redor.
Por ler as frases por inteiro e de uma só vez, o BERT é excepcional em tarefas analíticas: classificação de sentimentos, resposta a perguntas de múltipla escolha e extração de dados.
A Via da Geração: GPT (Apenas Decodificador)
Em contrapartida, a OpenAI olhou para o Decodificador e viu ali a essência da criatividade computacional. Nasceu a linhagem GPT (Generative Pre-trained Transformer).
O GPT descartou o Codificador e sua Atenção Cruzada (Cross-Attention). Ele manteve apenas a Auto-Atenção Mascarada. Como estudamos no artigo anterior, a máscara de infinito negativo ($-\infty$) impede o modelo de olhar para o futuro. O GPT foi treinado exclusivamente com um objetivo simples, mas poderoso: dadas as palavras anteriores, preveja a próxima palavra.
Ao escalar massivamente essa arquitetura puramente auto-regressiva, o GPT adquiriu não apenas fluência gramatical, mas raciocínio emergente e capacidade de adaptação (few-shot learning).
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, a matriz de atenção requer calcular e armazenar $100.000.000$ (cem milhões) de pontuações de similaridade para cada camada de atenção e para cada cabeça. Esse crescimento insaciável causa os famigerados erros de “Out of Memory” (OOM) nas GPUs. É por esse exato motivo matemático que os primeiros modelos de linguagem tinham janelas de contexto restritas a parcos 512 ou 2048 tokens.
Atenção Esparsa (Sparse Attention): A Arte de Não Olhar para Tudo
Se a computação quadrática é um beco sem saída, como modelos modernos conseguem ler livros inteiros? A resposta veio com a constatação de que, na linguagem natural, nem tudo importa igualmente. A Auto-Atenção densa (onde todos olham para todos) é, em grande parte, redundante.
A solução é “esvaziar” a matriz de atenção, tornando-a Esparsa. Diversas abordagens (como Longformer e BigBird) criaram padrões predefinidos que decidem onde o modelo tem permissão para focar sua atenção, limitando a complexidade a uma escala mais próxima do linear $O(N)$.
- 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.
- 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.
- 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.
Conclusão: O Limite da Escalabilidade
O cisma arquitetônico nos presenteou com especialistas em compreensão e mestres em geração. Contudo, todos repousam sobre o custo brutal do mecanismo de atenção. As soluções esparsas aliviam o peso das GPUs, permitindo que tenhamos LLMs capazes de reter resumos de livros em memória RAM.
A criatividade da comunidade não para. Novas arquiteturas como Mamba e Redes de Estado (SSM - State Space Models) prometem quebrar a barreira quadrática de vez, possivelmente abrindo portas para janelas de contexto “infinitas”. Mas esse, cara leitora, é um assunto para um futuro muito além desta série inicial.
Agradeço por viajar comigo pelas engrenagens mecânicas e matemáticas dos Transformers. Até a próxima!
Índice da Série: Transformers
- 1. Transformers - Você Pensa Como Fala
- 2. Multiplicação de Matrizes
- 3. Transformers - A Temida Matemática
- 4. Transformers - A Vetorização Básica
- 5. Transformers - Redes Neurais Artificiais para Word Embedding
- 6. Transformers - embeddings Distribuídos
- 7. Transformers - Word2Vec, a Ponte para o Contexto
- 8. Transformers- Desvendando a Modelagem de Sequências
- 9. Transformers - Prestando Atenção
- 10. Transformers, Do Código à Geração
- 11. Transformers 9, O Cisma e a Batalha da Eficiência (Você está aqui)
(Updated: )