O objetivo dominante de pré-treinamento para modelos de linguagem é predição do próximo token: dada uma sequência de tokens, prever o que vem a seguir. O modelo processa trilhões de tokens do corpus de treinamento, e para cada token, computa uma distribuição de probabilidade sobre todo o vocabulário e é penalizado (via cross-entropy loss) por atribuir baixa probabilidade ao próximo token real. Esse objetivo enganosamente simples se revela extraordinariamente poderoso — para prever bem a próxima palavra em contextos diversos, o modelo deve implicitamente aprender gramática, fatos, padrões de raciocínio, convenções de código e muito mais. A loss começa alta (essencialmente chute aleatório em um vocabulário de 32.000-128.000 tokens) e gradualmente diminui à medida que o modelo internaliza a estrutura estatística da linguagem. Para modelos baseados em transformer, essa é a receita padrão. Arquiteturas alternativas como state-space models (Mamba, RWKV) usam o mesmo objetivo mas substituem o mecanismo de atenção por atualizações de estado recorrentes, alcançando qualidade comparável com melhor escalonamento computacional em sequências longas.
A escala do pré-treinamento moderno é impressionante e tem dobrado aproximadamente a cada 6-9 meses. O GPT-3 (2020) treinou em 300 bilhões de tokens. O LLaMA 2 (2023) usou 2 trilhões. O LLaMA 3 (2024) usou mais de 15 trilhões. A computação é medida em operações de ponto flutuante, e uma rodada de pré-treinamento de fronteira pode exigir 10^25 FLOPs — um número que se traduz em milhares de GPUs rodando por meses e custa dezenas de milhões de dólares só em eletricidade e hardware. O treinamento é distribuído entre GPUs usando técnicas como paralelismo de dados (cada GPU processa batches de dados diferentes), paralelismo de tensores (a computação de cada camada é dividida entre GPUs) e paralelismo de pipeline (camadas diferentes ficam em GPUs diferentes). Frameworks como Megatron-LM, DeepSpeed e FSDP (Fully Sharded Data Parallel do PyTorch) lidam com a complexidade de manter milhares de GPUs sincronizadas, mas falhas são comuns — erros de hardware, problemas de rede e instabilidades numéricas significam que grandes rodadas de treinamento exigem checkpointing robusto e recuperação automática.
Nem todo pré-treinamento é igual, e os detalhes da receita de treinamento importam tanto quanto os dados e a computação. O cronograma de learning rate é tipicamente uma fase de warmup (aumentando linearmente a learning rate nos primeiros milhares de passos) seguida por um decaimento cosseno até próximo de zero. O batch size frequentemente aumenta durante o treinamento — começando pequeno para atualizações de gradiente mais frequentes e ruidosas e crescendo para treinamento de estágio final mais estável. O comprimento de sequência (quantos tokens o modelo vê de uma vez) tem grande impacto no que o modelo aprende: sequências mais longas permitem capturar dependências de maior alcance mas custam quadraticamente mais memória para modelos baseados em atenção. Muitas equipes agora usam treinamento progressivo de comprimento de sequência, começando com contextos mais curtos e aumentando para a janela de contexto completa depois. O otimizador é quase universalmente AdamW, embora abordagens mais recentes como SOAP e Muon estejam ganhando tração por suas propriedades de convergência potencialmente melhores.
Pré-treinamento não é mais uma única fase monolítica. Pipelines de treinamento modernos frequentemente incluem múltiplos estágios com diferentes misturas de dados. A fase principal de pré-treinamento usa um corpus amplo, depois uma fase de "mid-training" ou "pré-treinamento continuado" usa uma mistura de dados de maior qualidade ou mais específica de domínio, às vezes com comprimentos de contexto maiores. É assim que modelos aprendem a lidar com documentos longos efetivamente — treinar em sequências de 128K tokens desde o início seria proibitivamente caro, mas uma fase curta de fine-tuning em dados de contexto longo no final funciona surpreendentemente bem. Após o pré-treinamento vem o supervised fine-tuning (SFT) em dados de instrução, depois alinhamento via RLHF ou DPO. Cada estágio constrói sobre o anterior, e as fronteiras entre eles estão cada vez mais borradas. O que costumava ser um pipeline limpo de três passos (pré-treinar, SFT, RLHF) agora é um currículo de múltiplos estágios com misturas de dados, learning rates e objetivos distintos em cada fase.