o problema
Em 2022 a receita para melhorar um modelo de linguagem era uma só: aumentar o número de parâmetros. GPT-3 tinha 175 bilhões, Jurassic-1 tinha 178, Gopher 280, MT-NLG 530. E todos eles, sem exceção, foram treinados em torno de 300 bilhões de tokens. O tamanho dos modelos variou por um fator de três em dois anos; a quantidade de dados, praticamente nada.
Isso não era descuido. Kaplan et al. (2020) mediram uma lei de potência entre tamanho e loss e concluíram que, multiplicando o compute por 10, o modelo deveria crescer 5,5× enquanto os dados cresciam apenas 1,8×. A leitura prática era óbvia: gaste em parâmetros. O problema é que um modelo desses é treinado uma vez só. O orçamento chega pronto — tantos aceleradores por tantas semanas — e errar a divisão entre tamanho e dados queima o orçamento inteiro sem chance de repetir.
a ideia
Em vez de perguntar “quão grande dá para treinar”, os autores escrevem uma otimização com restrição: minimizar a loss final L(N,D) sujeito a FLOPs(N,D) = C, onde N é o número de parâmetros, D é o número de tokens vistos e C é o orçamento. Como FLOPs ≈ 6ND, tamanho e dados são os dois lados de uma mesma balança: cada parâmetro a mais é um token a menos.
A parte cara é descobrir onde fica o mínimo. Eles mapeiam a fronteira empiricamente com mais de 400 modelos pequenos e médios — de 70 milhões a mais de 16 bilhões de parâmetros, treinados de 5 a 500 bilhões de tokens — ajustam leis de potência a essas curvas e extrapolam. Depois apostam a fronteira num único run grande, para ver se a previsão se sustenta.
como funciona
São três estimadores independentes, e a força do argumento vem de eles concordarem.
O primeiro fixa famílias de modelos e varia o horizonte de treino, extraindo a envoltória de loss mínima por FLOP. O segundo usa perfis isoFLOP: fixa nove orçamentos de compute (de 6×10^18 a 3×10^21 FLOPs), varia o tamanho do modelo dentro de cada um e ajusta uma parábola para achar o vale de loss. O terceiro ajusta uma função paramétrica a todas as losses finais, L(N,D) = E + A/N^α + B/D^β, com Huber loss e L-BFGS — o ajuste dá E = 1,69, α = 0,34 e β = 0,28, e a fronteira eficiente sai em forma fechada.
Escrevendo N_opt ∝ C^a e D_opt ∝ C^b, os três métodos dão a = 0,50/0,49/0,46 e b = 0,50/0,51/0,54. Kaplan dava 0,73 e 0,27.
A divergência tem explicação concreta. Kaplan usou um cosine schedule fixo para todos os runs e leu losses intermediárias ao longo da curva. Só que uma loss intermediária de um schedule longo é pior do que a loss final de um schedule calibrado para aquele número de passos — o learning rate ainda não decaiu. Isso penaliza sistematicamente o regime de poucos tokens. Aqui, cada run tem o ciclo do cosine casado com seu horizonte; passar de 25% do alvo já degrada a loss de forma clara.
O teste é Chinchilla: 70B de parâmetros, 1,4 trilhão de tokens, o mesmo orçamento de FLOPs que Gopher (5,76×10^23). Mesma arquitetura e mesmo dataset de Gopher, com AdamW no lugar de Adam, tokenizer sem normalização NFKC e cópia float32 dos pesos no optimizer state. Resultado: 67,6% em MMLU 5-shot contra 60,0% de Gopher, perplexidade 7,16 contra 7,75 no WikiText-103, e vantagem em 51 das 57 tarefas de MMLU e em 58 das 62 de BIG-bench.
o que isso custou
Os autores listam as limitações e elas são sérias. Em escala grande existem só dois runs comparáveis, Chinchilla e Gopher — nenhum ponto intermediário. A fronteira é assumida como lei de potência, mas eles observam concavidade em log(N_opt) nos orçamentos altos, o que significa que a própria estimativa pode ainda estar superestimando o tamanho ótimo. E toda a análise vive abaixo de uma época: o regime de múltiplas passadas nos mesmos dados não foi tocado.
Nas avaliações, o ganho em language modeling vem com ressalva dos próprios autores: com 4× mais dados, contaminação treino/teste fica mais provável, e por isso eles preferem apoiar o argumento em MMLU e BIG-bench. Os métodos também discordam entre si onde mais importa — a abordagem paramétrica projeta 40B como ótimo para o orçamento de Gopher, as outras duas puxam para 70B.
O que o treino compute-ótimo não entrega: toxicidade. Média e percentil 95 de toxicidade em geração não-condicionada são iguais entre os dois modelos. Em Winogender, Chinchilla resolve pronomes melhor que Gopher em todos os grupos, mas o ganho é desigual — 3,2% em pronomes masculinos contra 8,3% e 9,2% em femininos e neutros. Loss melhor não é comportamento melhor.
onde isso aparece hoje
“Chinchilla-optimal” virou vocabulário, e o sweep isoFLOP antes do run caro virou etapa normal de planejamento. O efeito mais duradouro, porém, foi deslocar o gargalo: a Tabela 3 do paper projeta 21,2 trilhões de tokens para um modelo de 1 trilhão de parâmetros, e é dessa aritmética que nasce boa parte da discussão posterior sobre esgotamento e qualidade de dados.
Há uma ironia útil no resultado. O ponto compute-ótimo é ótimo para treinar, não para servir — os autores já observam que o custo de energia é amortizado no uso, e que Chinchilla ser 4× menor barateia inferência e fine-tuning. Quem paga a conta de servir levou o argumento além do que o paper mede, treinando modelos pequenos muito depois do ponto ótimo de treino porque o compute que importa é o de todo dia.