o problema
Em meados de 2024, a distância entre peso aberto e fronteira fechada era medida em ordem de grandeza. O maior Llama 2 tinha 70B de parâmetros treinados em 1,8T tokens. Os modelos de ponta não publicavam nem o tamanho. Quem quisesse rodar algo de qualidade competitiva em infraestrutura própria — por custo, por privacidade, por não querer depender de API — não tinha essa opção.
Havia um segundo problema, menos comentado. Leis de escala predizem loss de próximo token, não acerto em benchmark, e são ajustadas com orçamentos de compute pequenos, o que as torna ruidosas justamente onde você mais precisa delas: na hora de decidir o tamanho de um modelo que vai custar meses de cluster. E ninguém publicava o que quebra quando você liga dezesseis mil GPUs ao mesmo tempo.
a ideia
Três alavancas, nas palavras dos autores: dados, escala e gerenciamento de complexidade. A terceira é a decisão que dá caráter ao trabalho. O orçamento de novidade foi gasto em dados e infraestrutura, e a arquitetura ficou entediante de propósito: Transformer denso, com ajustes pequenos em cima de Llama e Llama 2, em vez de mixture-of-experts. O pós-treino é SFT mais rejection sampling mais DPO, em vez de PPO. Cada uma dessas escolhas troca alguma coisa por estabilidade, e a conta fecha porque, nessa escala, uma divergência custa semanas.
A outra metade da ideia é usar lei de escala como instrumento de decisão, não como observação. O tamanho do modelo, a mistura de dados e até a previsão de desempenho em benchmark saíram de experimentos com modelos pequenos antes de o treino grande começar.
como funciona
O pré-treino do 405B usa 15,6T tokens e 3,8 × 10²⁵ FLOPs, quase 50 vezes mais compute que o maior Llama 2. A mistura final é de aproximadamente 50% conhecimento geral, 25% matemática e raciocínio, 17% código e 8% multilíngue, filtrada por dedup em três níveis (URL, documento com MinHash, linha) e por classificadores de qualidade treinados sobre anotações do próprio Llama 2. Um detalhe contraintuitivo: markdown piora o modelo em dados de web, então os marcadores são removidos.
As mudanças de arquitetura cabem em quatro linhas: GQA com 8 key-value heads para encolher o cache durante decoding, máscara de atenção que impede um documento de olhar para outro na mesma sequência, vocabulário de 128K tokens que melhora a compressão de 3,17 para 3,94 caracteres por token, e base do RoPE elevada para 500.000 para aguentar contexto longo.
A lei de escala foi ajustada com modelos de 40M a 16B parâmetros entre 6 × 10¹⁸ e 10²² FLOPs. O ajuste de tokens ótimos dá N*(C) = AC^α com α = 0,53 e A = 0,29, e a extrapolação sugere 402B parâmetros em 16,55T tokens. Como as curvas IsoFLOPs achatam perto do mínimo em orçamentos grandes, a escolha exata do tamanho importa pouco — daí 405B.
O treino roda em até 16.000 H100 com paralelismo 4D na ordem [TP, CP, PP, DP], ordenada por exigência de banda: o mais interno fica dentro do servidor, o mais externo tolera latência de rede. O MFU em BF16 fica entre 38% e 43%. Depois do pré-treino em contexto de 8K, o contexto sobe para 128K em seis etapas usando cerca de 800B tokens, e o fim é annealing da taxa de aprendizado até zero nos últimos 40M tokens, com média de checkpoints.
O pós-treino são seis rodadas de reward model, rejection sampling (K entre 10 e 30 amostras por prompt), SFT e DPO. Duas correções no DPO merecem nota: tokens de formatação são mascarados da loss, porque aparecem nas duas respostas e criam objetivo conflitante, e há um termo NLL com coeficiente 0,2 sobre a resposta escolhida. Capacidades específicas ganham especialistas: o expert de código é um branch do pré-treino continuado em 1T tokens com mais de 85% de código, usado depois para anotar e amostrar dados dos modelos principais.
o que isso custou
A escolha por densidade é paga na inferência: todos os 405B parâmetros ativam a cada token, e não existe o desconto de um MoE. O paper é explícito de que essa foi uma troca consciente por estabilidade.
Nos resultados, o 405B empata com a versão 0125 do GPT-4 na avaliação humana e tem resultados mistos contra GPT-4o e Claude 3.5 Sonnet, ficando atrás deste último em código e raciocínio. Em MultiPL-E, o desempenho cai bastante fora de Python. Em benchmarks adversariais de QA e matemática, o desempenho fica substancialmente abaixo do não adversarial, e isso vale igualmente para modelos pré-treinados e pós-treinados.
A honestidade mais útil está na análise de contaminação: em várias avaliações, o corpus de pré-treino contém as respostas. Para MMLU, HumanEval e MBPP, o método de sobreposição de 8-gramas nem produz estimativa confiável. Os autores dizem que como fazer essa análise ainda é problema aberto.
O resto é operação. Interrupção diária por manutenção automatizada, variação de 1% a 2% de throughput ao longo do dia por temperatura afetando o clock das GPUs, e flutuações de dezenas de megawatts no datacenter quando as GPUs param juntas para checkpoint. Os modelos multimodais descritos no paper não foram liberados.
onde isso aparece hoje
O 405B abriu o precedente de que um modelo de escala de fronteira pode sair com pesos públicos, e a receita virou referência para quem treina fora dos laboratórios fechados. O caminho oposto no eixo de arquitetura — esparsidade em vez de densidade — foi o escolhido por Mixtral of Experts e, com muito mais agressividade, pelo DeepSeek-V3, que tira exatamente o desconto de inferência que o Llama 3 abriu mão.
O uso de DPO aqui é a validação em escala de um método de 2023 que ainda era, até então, sobretudo acadêmico: a justificativa registrada é que exige menos compute que PPO e vai melhor em instruction following. E a leitura simples de Chinchilla fica relativizada: compute-optimal continua sendo o guia para escolher o modelo maior, mas os modelos menores são treinados muito além disso de propósito, porque quem paga a conta no fim é a inferência. O pipeline de rejection sampling, por sua vez, só é viável com gerenciamento de memória de KV cache do tipo descrito em PagedAttention, que os autores creditam por mais que dobrar a vazão nessa etapa.