Capítulo 19 · Escala · 9 min

Maior é sempre melhor?

As leis de escala de Kaplan e Chinchilla. Por que GPT-3 estava subtreinado, e a razão ótima de 20 tokens por parâmetro.

Uma intuição enganosa

Por anos, a indústria de IA viveu sob uma crença simples: um modelo duas vezes maior é melhor. GPT-2 (1,5 bilhão de parâmetros) foi superado por GPT-3 (175 bilhões). PaLM, Megatron, Gopher — a corrida pelos parâmetros parecia sem fim.

Então, em 2022, uma equipe da DeepMind publicou um paper que mudou tudo. A tese deles: os grandes modelos da época estavam massivamente subtreinados. Não pequenos demais — subnutridos em dados.

O modelo que demonstrou essa tese se chamava Chinchilla.

A lei de Kaplan: a primeira formulação

Em 2020, a OpenAI publica um paper de Jared Kaplan e colegas — "Scaling Laws for Neural Language Models" — que mostra algo notável. Em dezenas de modelos treinados em tamanhos diferentes, a perda de validação segue uma lei de potência simples:

L ≈ L∞ + (C₀ / C)^α

Decodificando a fórmula:

  • C — o compute total injetado no treinamento (em FLOPs).
  • L — a perda de validação no fim.
  • L∞ — a perda irredutível: o piso abaixo do qual não dá para descer, mesmo com compute infinito. É a entropia natural da linguagem humana — sempre existe uma parte de imprevisibilidade na próxima palavra.
  • C₀ — uma constante de normalização que depende da arquitetura.
  • α ≈ 0,05 — o expoente da lei de potência.

Em termos claros: dobrar o compute reduz a perda numa quantidade previsível. A lei é surpreendentemente robusta em 7 ordens de grandeza.

Kaplan tira disso uma conclusão que vai guiar a indústria por dois anos: dado um orçamento de compute, aloque a maior parte ao tamanho do modelo, pouco aos dados.

Foi exatamente o que a OpenAI fez com o GPT-3. 175 bilhões de parâmetros, mas "apenas" 300 bilhões de tokens de treinamento.

Chinchilla muda o jogo

Em 2022, Hoffmann et al. (DeepMind) refazem o experimento com uma metodologia diferente. Em vez de fixar o tamanho do modelo e variar o compute, eles exploram sistematicamente o plano (N, D) com compute constante.

A conclusão deles contradiz diretamente Kaplan: N e D devem crescer na mesma velocidade. Para minimizar a perda dado um orçamento de compute fixo, é preciso treinar um modelo de tamanho modesto em muitos dados.

Mais precisamente, a razão ótima é:

D ≈ 20 × N

Para um modelo de 70 bilhões de parâmetros, o ótimo é da ordem de 1,4 trilhão de tokens. GPT-3 (175 bilhões de parâmetros, 300 bilhões de tokens) tinha uma razão de 1,7 — cerca de doze vezes menos que o ótimo.

A DeepMind provou isso treinando o Chinchilla: 70 bilhões de parâmetros, 1,4 trilhão de tokens. Menor que o GPT-3, mais tokens, e melhor em todos os benchmarks.

O mapa do compute

Dois controles, um ponto no mapa. Coloque-o primeiro em um modelo grande e mal alimentado (N alto, D baixo), depois faça o inverso. Fique de olho na razão D / N e na perda estimada a cada deslocamento: todo o debate entre Kaplan e Chinchilla está no que esse número faz quando você se mexe.

No gráfico log-log, a loss decresce em lei de potência com o compute. Os sliders N (parâmetros) e D (tokens) mostram a iso-compute curve: para um orçamento dado, existe uma proporção N/D ótima — cerca de 20 tokens por parâmetro segundo Chinchilla.

Mova o ponto para explorar o plano (N, D). A diagonal Chinchilla é a linha onde cada dólar de compute é gasto de forma ótima. Acima, você treinou tempo demais um modelo pequeno demais; abaixo, você fez o oposto.

Você vai notar algo interessante: o LLaMA-3 está bem acima da diagonal. Com 70 bilhões de parâmetros treinados em 15 trilhões de tokens em 2024, sua razão é de 214 — dez vezes acima do ótimo Chinchilla. Era impressionante na época; desde então, a tendência ao sobretreinamento só se acentuou, e os modelos pequenos passam dessa razão rotineiramente.

Por quê? Porque a Meta otimizou para outra coisa que não a eficiência de compute de treinamento. Eles otimizaram para o custo de inferência. Um modelo menor treinado por mais tempo custa mais caro para treinar (um pouco) mas muito mais barato para servir em produção. Em bilhões de requisições, a economia é massiva.

Além dos parâmetros: a qualidade dos dados

As scaling laws não são o fim da história. Vários limites aparecem.

A quantidade de dados de alta qualidade é finita. Common Crawl, Wikipédia, GitHub, ArXiv, livros escaneados — o inventário de texto realmente limpo na internet não é infinito. Por muito tempo se anunciou um "muro dos dados" iminente: treinar um modelo de 1 trilhão de parâmetros no ótimo Chinchilla exigiria 20 trilhões de tokens. Esse muro vem recuando. A filtragem de qualidade (FineWeb e seus sucessores), o multilíngue, a repetição controlada em várias épocas e os dados sintéticos tornaram corriqueiros os treinamentos com 15 ou 30 trilhões de tokens. O que falta já não é texto — é o bom texto.

A qualidade vence a quantidade, mas só até certo ponto. Filtrar um corpus para manter apenas os dados de alta qualidade (manuais, livros técnicos, código limpo) melhora o modelo mais do que adicionar dados medianos. Mas filtrar de forma agressiva demais acaba empobrecendo a distribuição e prejudicando a generalização.

As capacidades emergentes embaralham a curva. Para certas tarefas (raciocínio multi-etapa, matemática complexa, instruções raras), o desempenho fica plano até um certo limiar de tamanho — e então sobe abruptamente. Essas "emergent abilities" são controversas: alguns pesquisadores (Schaeffer et al., 2023) mostram que elas desaparecem quando se escolhe uma métrica mais continua. Mas o fenômeno prático permanece: modelos pequenos não conseguem fazer certas coisas, não importa quanto fine-tuning.

A lição prática

Você provavelmente nunca vai treinar um modelo por conta própria. Mas essas leis explicam o formato da paisagem em que você escolhe os seus.

Por que os modelos que você usa são pequenos e sobretreinados. Com orçamento de compute fixo, o ótimo de treinamento é uma razão D/N próxima de 20. Quase ninguém mais se atém a isso — e é deliberado. Um modelo menor alimentado por mais tempo custa um pouco mais para treinar, mas muito menos para servir. Em bilhões de requisições, é essa segunda conta que decide. Daí os 8B e os 70B por toda parte, treinados bem além de Chinchilla, em vez de monstros de 500 bilhões de parâmetros.

Por que um modelo pequeno esbarra em certas tarefas, faça o que fizer. As capacidades emergentes só aparecem acima de um limiar de tamanho. Se um modelo falha em toda uma classe de problemas, nenhum prompt e nenhum fine-tuning vão resgatá-lo: é preciso trocar de modelo, não de método.

Por que as novas gerações progridem sem crescer. Há alguns anos, a margem já não vem dos parâmetros e sim dos dados: filtragem, diversidade, qualidade. Um modelo do mesmo tamanho de um de um ano atrás pode ser bem melhor sem ter ganhado um único parâmetro — o que mudou foi o que ele leu.

As scaling laws não dizem que é preciso crescer indefinidamente. Elas dizem que existe uma razão certa entre parâmetros e dados — e que passamos anos errando o lado.

Resta que essas leis descrevem uma curva, não um mecanismo. Elas preveem que um modelo mais bem alimentado errará menos, sem dizer nada do que ele terá aprendido para chegar lá. O que há de fato dentro desses bilhões de parâmetros — existe algo legível ali, ou apenas um mingau de números que funciona? O próximo capítulo tenta abrir a caixa.

Atualizado em