Scaling Laws
As leis de escala são ajustes de leis de potência que preveem como a perda diminui à medida que aumentam os parâmetros do modelo, os dados e a computação. Abrange Kaplan, Chinchilla e escalabilidade no momento do teste.
As leis de escala neural são relações empíricas de lei de potência que preveem como a perda de um modelo diminui à medida que três recursos aumentam: o número de parâmetros (N), a quantidade de dados de treinamento em tokens (D) e o poder computacional de treinamento em operações de ponto flutuante (C). As curvas permanecem suaves ao longo de muitas ordens de grandeza, então os laboratórios as ajustam usando execuções pequenas e baratas e extrapolam para escolher o tamanho e o orçamento de dados de uma execução grande antes de investir nela. O relatório da OpenAI sobre o GPT-4, por exemplo, previu aspectos do desempenho do modelo final usando modelos treinados com no máximo 1/1.000 do seu poder computacional. As leis mais conhecidas descrevem a modelagem de linguagem, e o mesmo método se aplica a modelos de visão, fala e raciocínio.
Leis de escala de Kaplan#
Pesquisadores da OpenAI liderados por Jared Kaplan publicaram Scaling Laws for Neural Language Models em 2020. Eles descobriram que a perda de entropia cruzada de um modelo de linguagem Transformer segue uma lei de potência em N, D e C, com algumas tendências que abrangem mais de sete ordens de grandeza, enquanto a largura, a profundidade e outros detalhes arquitetônicos têm efeitos mínimos dentro de uma ampla faixa. Modelos maiores também eram mais eficientes em termos de amostras, então o artigo concluiu que o treinamento com uso eficiente de computação emprega modelos muito grandes com dados relativamente modestos e é interrompido bem antes da convergência. O GPT-3 seguiu essa receita, com 175 bilhões de parâmetros treinados em 300 bilhões de tokens.
Chinchilla e treinamento com computação ótima#
O estudo Chinchilla da DeepMind treinou mais de 400 modelos, de 70 milhões a mais de 16 bilhões de parâmetros, com 5 a 500 bilhões de tokens, e chegou a uma conclusão diferente: para um orçamento fixo de computação, o tamanho do modelo e os tokens de treinamento devem crescer na mesma proporção, de modo que cada duplicação dos parâmetros exige a duplicação dos dados. O próprio Chinchilla usou a mesma computação que o Gopher, de 280 bilhões de parâmetros, mas tinha 70 bilhões de parâmetros e cerca de quatro vezes mais dados; ainda assim, superou o Gopher, o GPT-3 e o Megatron-Turing NLG, de 530 bilhões de parâmetros. O estudo ajustou a perda como L(N, D) = E + A / N^α + B / D^β, em que E é a perda irredutível do texto natural e os outros dois termos diminuem com o tamanho do modelo e a quantidade de dados. O treinamento custa cerca de 6 FLOPs por parâmetro por token, então C ≈ 6ND; minimizar a perda ajustada para um dado C resulta no modelo ótimo em termos de computação:
import numpy as np
# Chinchilla loss fit L(N, D) = E + A / N^alpha + B / D^beta, as re-estimated by Besiroglu et al. (2024)
E, A, B, alpha, beta = 1.8172, 482.01, 2085.43, 0.3478, 0.3658
# Training costs about 6 FLOPs per parameter per token, so a budget C fixes D = C / (6N)
N = np.logspace(8, 13, 10_000)
for C in [1e21, 1e23, 5.76e23, 1e25]:
D = C / (6 * N)
loss = E + A / N**alpha + B / D**beta
best = loss.argmin()
print(
f"C={C:.2e} FLOPs: {N[best] / 1e9:6.1f}B params, {D[best] / 1e12:5.2f}T tokens, "
f"{D[best] / N[best]:.0f} tokens/param, loss {loss[best]:.3f}"
)Os coeficientes vêm da reprodução do ajuste de Chinchilla feita pela Epoch AI, que corrigiu a terceira estimativa do artigo original. Com o orçamento de Chinchilla, de 5.76 × 10^23 FLOPs, o ajuste escolhe 72,2 bilhões de parâmetros e 1,33 trilhão de tokens, valores próximos dos 70 bilhões e 1,4 trilhão reais de Chinchilla; além disso, todos os orçamentos entre 10^21 e 10^25 FLOPs resultam em 17 a 22 tokens por parâmetro, em linha com a regra comum de cerca de 20.
Além da computação ótima#
A regra de Chinchilla minimiza apenas a computação de treinamento, enquanto o custo de um modelo implantado é pago a cada consulta. Modelos menores treinados muito além do ponto ótimo em termos de computação são mais baratos de servir: a Meta observou que a quantidade de dados ótima de Chinchilla para um modelo de 8 bilhões de parâmetros é de cerca de 200 bilhões de tokens, mas o Llama 3 8B continuou melhorando log-linearmente até 15 trilhões de tokens, motivo pelo qual os modelos de linguagem pequenos (SLMs) são rotineiramente treinados em excesso. A disponibilidade de dados é o outro limite. Um estudo de 2023 sobre escala limitada por dados descobriu que treinar por até quatro épocas com dados repetidos alterava a perda de forma insignificante em comparação com dados únicos, e os dados sintéticos ampliam ainda mais a disponibilidade de dados de treinamento.
Escala de computação em tempo de teste#
Um segundo eixo investe computação na inferência. Modelos de raciocínio, como o o1 da OpenAI, geram longas cadeias de pensamento antes de responder, e a OpenAI relatou em 2024 que a precisão do o1 aumentava tanto com mais computação de aprendizado por reforço quanto com mais tempo dedicado ao raciocínio. Um estudo do Google DeepMind e da UC Berkeley sobre escala de computação em tempo de teste descobriu que estratégias de computação ótima, como pesquisar com um modelo de recompensa de processo (PRM), eram mais de quatro vezes mais eficientes do que a amostragem best-of-N; também constatou que, em problemas nos quais um modelo pequeno tem uma probabilidade de sucesso não desprezível, a computação adicional em tempo de teste permitia que ele superasse um modelo 14 vezes maior com a mesma quantidade de FLOPs.
Escala em visão computacional#
Os modelos de visão seguem o mesmo padrão. O estudo Scaling Vision Transformers do Google treinou um Transformer de visão (ViT) de 2 bilhões de parâmetros que alcançou 90,45% de precisão top-1 no ImageNet. O Ultralytics YOLO26 cria seus cinco tamanhos a partir de um YAML do modelo, cujas entradas scales definem multiplicadores de profundidade e largura e um limite de canais, de n: [0.50, 0.25, 1024] a x: [1.00, 1.50, 512]. No COCO, a precisão média média (mAP) aumenta de 40,9 para o YOLO26n, com 2,4 milhões de parâmetros, para 57,5 para o YOLO26x, com 55,7 milhões: um aumento de 23 vezes nos parâmetros para mais 16,6 pontos de mAP50-95.










