Ir para o conteúdo

Scaling

O caminho do texto ao próximo token em sete passos: tokens, embeddings, query/key/value, máscara e cabeças, o bloco, a saída e a geração. ATENÇÃO TRANSFORMERS Tokenstexto → ids Embeddingsids → X Q · K · Vuma cabeça Máscaraduas cabeças BlocoLN · MLP Saídalogits → p Geraçãoescolher texto → → próximo token

Além do exemplo. O brinquedo tem 256 pesos e nunca foi treinado; o GPT-2 small tem 124 milhões e viu cerca de 40 GB de texto. Esta página trata do que acontece quando o mesmo desenho fica maior — e maior em quê. ← O que mudou desde 2017 · Visão geral

Escala: três perguntas diferentes, três respostas diferentes

A propriedade real do Transformer não é nenhuma escolha isolada de projeto; é que a perda cai de forma previsível conforme se acrescenta parâmetros, dados e compute, por muitas ordens de grandeza, sem sinal de parede1. Essa confiabilidade é o que justificou gastar um bilhão de dólares num treino.

Mas "escale" esconde uma pergunta — escalar o quê? O orçamento é o compute \(C\) (medido em FLOPs), que se divide entre o tamanho do modelo \(N\) (parâmetros) e a quantidade de dados \(D\) (tokens de treino):

\[ C \approx 6\,N D \]

O 6 vem de contar: cada parâmetro faz cerca de 2 operações por token na ida (uma multiplicação e uma soma) e 4 na volta. Com \(C\) fixo, dobrar o modelo obriga a cortar os dados pela metade. A pergunta "escalar o quê?" é a pergunta de como repartir \(C\) entre \(N\) e \(D\) — e a resposta mudou duas vezes.

2020, Kaplan et al.1: para um orçamento fixo de compute, faça o modelo maior. O GPT-3 seguiu o conselho: 175B de parâmetros em 300B de tokens, menos de 2 tokens por parâmetro.

2022, Chinchilla2: aquilo estava errado e Hoffmann et al. atribuíram a maior parte do erro ao cronograma de taxa de aprendizado dos experimentos originais, que não acompanhava a duração de cada treino. Refeito direito, o ótimo é escalar parâmetros e dados juntos — cerca de 20 tokens por parâmetro. O Chinchilla, com 70B de parâmetros e 1,4T de tokens, bateu o Gopher de 280B treinado com o mesmo compute. Da noite para o dia, os modelos de todo mundo encolheram e seus conjuntos de dados cresceram.

O painel não usa os números impressos no artigo

O Chinchilla chega à conclusão por três caminhos e o terceiro — o ajuste paramétrico que o painel desenha — foi publicado com coeficientes que implicam cerca de 70 tokens por parâmetro, não 20. Eles discordam das outras duas abordagens do próprio artigo e do modelo que ele de fato treinou. Uma replicação de 2024 atribuiu isso a um otimizador mal convergido e refez o ajuste4; o painel usa os coeficientes reajustados, que voltam para a casa das dezenas. Ainda assim, espere alguma deriva da razão com o orçamento, porque os dois expoentes não são iguais — "20 tokens por parâmetro" é regra de bolso, não constante da natureza.

Hoje: ninguém treina no ótimo do Chinchilla tampouco e o painel mostra por quê. Marque precificar a inferência também. O Chinchilla minimiza o custo de um treino; um modelo em produção é pago por cada token que ele servir e o custo de servir escala com \(N\), não com \(D\). Então a jogada certa é sobretreinar um modelo menor — o Llama-3-8B viu 15T de tokens, cerca de 1900 por parâmetro, quase 100× além do Chinchilla. É ineficiente em compute de treino e muito mais barato de possuir.

Ponha os três na mesma régua com \(C \approx 6ND\):

Modelo \(N\) \(D\) tokens por parâmetro \(C\) (FLOPs)
GPT-3 (2020) 175B 0,3T 1,7 \(3{,}2 \times 10^{23}\)
Chinchilla (2022) 70B 1,4T 20 \(5{,}9 \times 10^{23}\)
Llama 3 8B (2024) 8B 15T ~1900 \(7{,}2 \times 10^{23}\)

O Chinchilla e o Llama 3 8B custaram quase o mesmo para treinar. O segundo é 9× menor, então cada token que ele gera em produção custa cerca de 9× menos — e é isso que se paga bilhões de vezes.

Duas outras correções pertencem aqui:

  • Os dados são finitos. Texto de alta qualidade é um recurso limitado e repeti-lo tem retornos fortemente decrescentes depois de algumas épocas3. Isso é uma restrição real no eixo \(D\) e boa parte do motivo pelo qual dados sintéticos e curadoria são hoje áreas sérias de pesquisa.
  • O compute de treino não é mais o único eixo. Um modelo também pode receber mais compute na inferência — amostrando várias cadeias de raciocínio, buscando, verificando. Essa curva também escala e é o assunto do capítulo 15.

← O que mudou desde 2017 · Visão geral


  1. Kaplan, J., et al. (2020). Scaling Laws for Neural Language Models. As leis de potência — e a conclusão pesada em parâmetros que o Chinchilla derrubou. ↩↩

  2. Hoffmann, J., et al. (2022). Training Compute-Optimal Large Language Models — NeurIPS. Chinchilla; a forma da perda paramétrica do painel acima vem daqui (os coeficientes, da replicação abaixo). ↩

  3. Muennighoff, N., et al. (2023). Scaling Data-Constrained Language Models — NeurIPS. O que repetir seus dados de fato compra e onde para de comprar qualquer coisa. ↩

  4. Besiroglu, T., Erdil, E., Barnett, M., & You, J. (2024). Chinchilla Scaling: A replication attempt. Reconstrói os dados por trás da terceira abordagem de Hoffmann et al., mostra que os coeficientes publicados não os ajustam e refaz o ajuste. ↩