Capítulo 06 · Treinamento · 10 min

Como aprende

Loss, descida de gradiente, backpropagation. E por que são necessários bilhões de parâmetros.

Aprender é corrigir uma predição

Durante o treinamento, o modelo não conversa. Ele não sabe o que é um usuário. Não tenta ser útil.

Ele recebe trechos de texto e precisa prever o próximo token. Quando erra, medimos o erro, propagamos esse erro para trás e ajustamos um pouco seus parâmetros para que, da próxima vez, o mesmo erro fique menos provável.

A curva de loss desce em degraus — cada degrau corresponde a um novo padrão que o modelo acabou de aprender. Os quatro regimes de learning rate expõem as armadilhas clássicas: baixo demais e o modelo estagna; alto demais e diverge.

A loss

A loss é uma medida de surpresa. Se a resposta correta recebe muita probabilidade, a loss é baixa. Se recebe pouca probabilidade, a loss sobe.

Imagine que a continuação correta seja Brasília:

  • o modelo atribui 80 % a Brasília → pouca surpresa
  • atribui 2 % a Brasília → muita surpresa

Treinar consiste em reduzir essa surpresa, passo após passo, sobre quantidades enormes de texto.

Descida do gradiente

O modelo contém bilhões de parâmetros. Cada parâmetro influencia um pouco as probabilidades finais. Para reduzir a loss, precisamos saber em que direção mover cada parâmetro.

É isso que a descida do gradiente faz: calcula a inclinação da loss em relação a cada peso e dá um pequeno passo morro abaixo.

η (eta) é o learning rate: o tamanho do passo. Pequeno demais, quase não avançamos. Grande demais, passamos do vale e divergimos.

Uma ressalva para evitar mal-entendidos: os valores de learning rate da demonstração acima foram escolhidos para tornar os regimes visíveis. O pré-treinamento de um LLM de verdade gira mais em torno de 1e-4 a 6e-4, ou seja, cem vezes menos. São os regimes que são fiéis, não os números.

Adam: a descida, só que melhor

A equação Parâmetros ← Parâmetros − η × Gradiente descreve a descida de gradiente pura. Na prática, ninguém a usa assim para treinar um LLM.

O otimizador de referência se chama Adam (e sua variante moderna AdamW). A ideia: em vez de avançar cegamente na direção do gradiente atual, mantemos uma memória da direção média recente (o momentum) e da variância das atualizações para cada parâmetro.

  • Parâmetros cujo gradiente aponta sistematicamente na mesma direção dão passos grandes.
  • Os que oscilam (gradiente ruidoso) dão passos pequenos.

Adam se adapta automaticamente a cada parâmetro, enquanto o SGD aplica o mesmo learning rate a todos. É mais estável e converge muito mais rápido na prática. O AdamW (a versão mais usada hoje) ainda adiciona uma regularização chamada weight decay que impede os pesos de explodirem ao longo do treinamento.

O AdamW continua sendo a opção padrão, aquela que se escolhe quando não há motivo para fazer diferente. Mas seu monopólio rachou: desde 2025, o otimizador Muon serviu para treinar modelos de produção de primeira linha (Kimi K2, GLM-4.5), e agora está integrado às grandes bibliotecas de treinamento, incluindo o Megatron da NVIDIA.

Um otimizador não é um detalhe de encanamento: é o que decide a velocidade com que milhões de euros de GPU viram um modelo.

Backpropagation

A backpropagation permite distribuir o erro por todo o modelo.

Se a predição final foi ruim, não basta ajustar a última camada. É preciso descobrir quais embeddings, heads de atenção, camadas feed-forward e normalizações contribuíram para o erro. A regra da cadeia calcula essa responsabilidade, camada por camada, da saída para a entrada.

Escala

Um exemplo de treinamento não ensina muito. Dez milhões também não bastam. Os LLMs modernos aprendem com alguns trilhões até várias dezenas de trilhões de tokens no pré-treinamento (Llama 3: 15 T em 2024; Qwen3: 36 T em 2025). O número sobe a cada geração.

A escala muda a natureza do aprendizado:

  • padrões frequentes se estabilizam
  • padrões raros aparecem vezes suficientes para serem aprendidos
  • capacidades que não foram programadas explicitamente emergem como consequência da predição

O modelo não memoriza cada frase. Ele comprime regularidades estatísticas em seus pesos.

Voltamos a isso em detalhe no capítulo 19 (leis de escala de Kaplan e Chinchilla) — inclusive por que o GPT-3 estava subtreinado em dados e qual é a razão ótima entre parâmetros e tokens.

Batch size: quantos exemplos por vez

Nunca calculamos o gradiente em um único exemplo. Agrupamos várias sequências em um batch, calculamos o gradiente médio sobre o batch inteiro e só então atualizamos os parâmetros uma vez.

Quanto maior o batch, mais estável o gradiente (menos ruído) e maior pode ser o learning rate. Mas é preciso ter memória de GPU suficiente para guardar tudo.

Para os LLMs modernos, o batch size efetivo chega a vários milhões de tokens — em geral obtido combinando:

  • O batch local (por GPU) — limitado pela VRAM.
  • A gradient accumulation — calcular vários batches pequenos e aplicar a atualização só no final.
  • O paralelismo de dados — dividir o batch entre dezenas, centenas, às vezes milhares de GPUs.

O que os engenheiros chamam de global batch size é a quantidade total de dados que contribui para um único passo de otimização. No GPT-4, falamos de milhões de tokens por passo.

Os dados: metade do trabalho

Falamos muito de parâmetros. Falamos menos da preparação dos dados — que toma metade do tempo de qualquer equipe seria que treina um modelo.

  • Filtragem — eliminar conteúdo de baixa qualidade (spam, páginas de erro 404, conteúdo gerado automaticamente, listas de produtos sem contexto).
  • Deduplicação — remover duplicatas. O Common Crawl contém muitas cópias das mesmas páginas; deixá-las faz o modelo aprender de cor em vez de generalizar.
  • Mistura — equilibrar fontes (Wikipédia, livros, código, papers científicos) pelo seu valor pedagógico, não pelo tamanho bruto.
  • Filtragem de qualidade — nas melhores equipes, um classificador avalia cada documento para guardar apenas o que se parece com conteúdo de manual ou artigo bem pesquisado.
  • Descontaminação — verificar que os benchmarks de avaliação (MMLU, HumanEval...) não vazem para o corpus de treinamento.

Resumo brutal de um pesquisador da Meta: «passamos 10% do tempo treinando o modelo, 90% preparando os dados.»

É também por isso que os melhores modelos abertos (Llama, Mistral, DeepSeek) quase nunca revelam os detalhes de sua receita de dados: é a principal vantagem competitiva deles.

O próximo passo

Depois de treinado, o modelo sabe produzir distribuições úteis sobre o próximo token. Mas gerar uma resposta não é simplesmente pegar sempre o máximo. É preciso decidir quanto acaso permitir.

Esse é o tema da geração e da amostragem.

Atualizado em