Arquitetura Transformer: como funciona o mecanismo que sustenta GPT e BERT
Entenda self-attention, multi-head, positional encoding e por que o paper Attention Is All You Need aposentou as RNNs.
Em junho de 2017, oito pesquisadores do Google publicaram Attention Is All You Need.
O título entregava a tese: dava para construir um modelo de sequência sem RNN e sem CNN, usando apenas atenção.
O artigo introduziu o Transformer e o aplicou à tradução automática, com resultados melhores que os modelos recorrentes da época e treinamento mais paralelizável.
O problema que o Transformer resolve é estrutural.
Redes recorrentes processam a sequência token por token, na ordem.
Isso cria duas limitações: o treinamento não paraleliza bem, porque cada passo depende do anterior, e o gradiente precisa atravessar muitos passos até chegar aos tokens distantes, o que dificulta capturar dependências longas.
O Transformer elimina a recorrência e conecta todos os tokens entre si em uma única operação. ## Self-attention: o coração da arquitetura Self-attention é o mecanismo em que cada token da sequência olha para todos os outros tokens e decide quanto peso dar a cada um.
A implementação usa três matrizes aprendidas: Query (Q), Key (K) e Value (V).
Cada token gera um vetor Q, um K e um V.
O score de atenção entre dois tokens é o produto escalar entre o Q de um e o K do outro.
Esses scores passam por uma softmax e viram pesos.
A saída de cada token é a soma ponderada dos vetores V de todos os tokens, com os pesos calculados.
Na prática, isso é a fórmula Attention(Q, K, V) = softmax(QKᵀ/√d_k)V, em que d_k é a dimensão das chaves e a divisão por √d_k evita que os produtos escalares cresçam demais e saturem a softmax.
O ganho é direto: o caminho entre dois tokens quaisquer tem comprimento constante, independente da distância na frase.
Em uma RNN, a informação entre o primeiro e o último token de um parágrafo longo passa por dezenas de estados intermediários. ## Multi-head: várias atenções em paralelo Uma única atenção captura um tipo de relação por vez.
O Transformer usa multi-head attention: em vez de uma atenção com dimensão d_model, ele roda h cabeças em paralelo, cada uma com dimensão d_model/h, e concatena os resultados.
O paper original usou h = 8.
Cada cabeça aprende um padrão diferente.
Em modelos treinados, é comum encontrar cabeças que ligam pronomes a seus antecedentes, cabeças que seguem a sintaxe e cabeças que rastreiam repetições.
A concatenação passa por uma projeção linear final que devolve o vetor à dimensão original. ## Positional encoding: como o modelo sabe a ordem Sem recorrência e sem convolução, o Transformer não tem noção de posição.
A solução é somar ao embedding de cada token um vetor de positional encoding.
O paper usou funções seno e cosseno de frequências diferentes, o que permite ao modelo inferir posições relativas por combinações lineares.
Modelos posteriores adotaram variantes.
O BERT usa embeddings posicionais aprendidos.
Muitos LLMs recentes usam RoPE (Rotary Position Embedding), que aplica rotações ao vetor de Q e K e melhora a extrapolação para contextos mais longos que os vistos no treino. ## O bloco completo: atenção, feed-forward e residual Um bloco do encoder tem dois subcomponentes: multi-head self-attention e uma rede feed-forward posicional, aplicada a cada token de forma independente.
Cada subcomponente tem conexão residual e layer normalization.
O decoder acrescenta um terceiro: cross-attention, em que as queries vêm do decoder e as keys e values vêm da saída do encoder.
No decoder, a self-attention é mascarada para impedir que o token atual veja os tokens futuros, o que preserva a geração autorregressiva.
O paper original empilhou 6 blocos no encoder e 6 no decoder, com d_model = 512 e 8 cabeças.
Os modelos atuais escalam isso em ordens de magnitude.
O GPT-3 tem 96 camadas e 96 cabeças, com 175 bilhões de parâmetros.
O Gemini 1.5 Pro trabalha com janela de contexto de até 1 milhão de tokens, viabilizada por variantes de atenção eficiente. ## Por que o Transformer venceu Três propriedades explicam a adoção.
Primeiro, paralelismo: todos os tokens são processados ao mesmo tempo no treino, o que aproveita GPUs e TPUs de forma muito mais eficiente que RNNs.
Segundo, escalabilidade: a arquitetura responde bem ao aumento de dados e parâmetros, comportamento documentado nos scaling laws.
Terceiro, generalidade: o mesmo bloco serve para texto, imagem (ViT), áudio e proteínas, bastando mudar a tokenização.
O custo é o crescimento quadrático da atenção com o tamanho da sequência.
Dobrar o contexto quadruplica o custo de self-attention.
Isso motivou variantes como atenção esparsa, sliding window e FlashAttention, que reorganiza o cálculo na memória da GPU para reduzir o gargalo de banda. ## O que veio depois do paper O Transformer de 2017 era encoder-decoder para tradução.
A partir de 2018, a arquitetura se dividiu em três famílias.
O BERT usa só o encoder e é treinado com masked language modeling, prevendo tokens ocultos.
O GPT usa só o decoder e é treinado para prever o próximo token.
O T5 volta ao encoder-decoder e trata toda tarefa como texto para texto.
Essa divisão explica diferenças práticas.
Modelos encoder-only brilham em classificação, busca e extração.
Modelos decoder-only dominam geração de texto e viraram a base dos assistentes conversacionais.
O Transformer deixou de ser um modelo específico e passou a ser a infraestrutura sobre a qual a IA generativa atual foi construída.
