Capítulo 05 · Arquitetura · 14 min

O Transformer completo

Montando as peças: atenção multi-cabeça, feed-forward, normalização, conexões residuais.

Uma pilha de blocos simples

Um Transformer nao e uma maquina magica. E uma pilha de blocos quase identicos.

Cada bloco recebe uma sequencia de vetores, transforma um pouco essa sequencia e passa o resultado para o bloco seguinte. Repetido 12, 24, 80 vezes, esse padrao produz representacoes cada vez mais ricas: primeiro sinais locais, depois relacoes sintaticas, depois conceitos mais abstratos.

Passe o mouse sobre um sub-bloco para ver seu papel: a attention difunde informação entre tokens, o feed-forward a transforma localmente, a normalização e os residuais estabilizam o resto. Empilhados 32 ou 96 vezes, formam um GPT-4 ou um Claude.

O esqueleto do bloco

Um bloco Transformer moderno contem tres ideias:

  1. Atencao — cada token olha para tokens anteriores e recupera informacao util.
  2. Feed-forward — cada token passa por uma pequena rede que transforma seu vetor de forma independente.
  3. Conexoes residuais e normalizacao — o bloco aprende uma correcao, nao uma reescrita completa, e mantem as ativacoes estaveis.

A atencao mistura informacao entre tokens. O feed-forward calcula dentro de cada token. Normalizacao e residuais permitem empilhar tudo muitas vezes sem quebrar.

Por que repetir?

Um unico bloco ve relacoes simples. Varios blocos permitem construir relacoes sobre relacoes.

Em uma camada inicial, uma head pode detectar que dorme olha para gato. Em outra camada, essa relacao pode influenciar o sentido da frase inteira. Mais acima, o modelo pode usar esse estado para escolher uma continuacao coerente.

Cada camada reescreve a sequencia com um pouco mais de contexto.

Por isso modelos grandes nao tem apenas mais parametros: tem mais profundidade. Essa profundidade da tempo para refinar a representacao antes de produzir o proximo token.

O feed-forward e memoria

A atencao costuma receber toda a atencao, mas uma grande parte dos parametros vive nas camadas feed-forward.

Intuicao util: o feed-forward funciona como uma memoria associativa. Quando o vetor de um token ativa certa direcao, a camada pode adicionar informacao que o modelo aprendeu durante o treinamento.

Ele nao "recupera" um documento literal. Ajusta o vetor para torna-lo mais compativel com padroes vistos milhares de vezes.

Residuais: aprender diferencas

Se cada bloco substituisse completamente sua entrada, treinar dezenas de camadas seria instavel. Conexoes residuais evitam isso:

saida = entrada + mudanca aprendida

O bloco nao precisa reconstruir tudo do zero. So aprende o que deve mudar. Se uma parte da informacao ja esta boa, ela pode passar quase intacta.

A saida: do vetor para a distribuicao

Nesse ponto, o ultimo bloco nos da, para cada posicao, um vetor de alguns milhares de dimensoes. Como voltamos disso para uma distribuicao sobre o vocabulario?

Em uma unica etapa. Multiplicamos esse vetor por uma matriz W_out de dimensoes (d_model × |vocab|) e aplicamos um softmax. O resultado: para cada posicao, uma probabilidade sobre os ~50.000 tokens do vocabulario. E isso a saida de um LLM — uma distribuicao.

Detalhe elegante: na maioria dos modelos, W_out compartilha seus pesos com a matriz de embedding de entrada (weight tying). A mesma transformacao que mapeia o token 5234 para um vetor, em sentido inverso, mapeia um vetor para a probabilidade do token 5234. Economiza parametros e generaliza melhor.

Mixture of Experts: nem todos os parametros disparam

Uma variante arquitetural se tornou dominante nos modelos recentes: Mixture of Experts (MoE). Mixtral, DeepSeek, Llama 4, GPT-4, Gemini — todos a usam.

A ideia: em vez de um unico FFN por bloco, colocamos varios em paralelo (tipicamente 8 a 128 experts). Para cada token, uma pequena rede de roteamento (router) seleciona dois ou quatro — os mais relevantes para aquele token. So esses experts disparam.

Consequencia: um modelo pode ter 400 bilhoes de parametros "totais" mas ativar apenas 50 bilhoes por token. Capacidade de um modelo grande, custo de calculo de um pequeno. E isso que torna o Mixtral 8×7B (47 bilhoes de parametros) competitivo na inferencia com modelos densos bem maiores.

O trade-off: a VRAM precisa caber todos os experts (senao tem que fazer swap), e o roteamento adiciona uma camada de instabilidade no treinamento. Area de pesquisa ainda muito ativa.

O proximo passo

Ja temos a arquitetura: tokensembeddings → atencao → feed-forward → saida. Falta explicar como ela aprende seus pesos. A resposta esta no treinamento: predicao, erro, gradiente, repetidos em escala enorme.

Atualizado em

O Transformer, do início ao fim · Step by Token