Scaling Laws & the Compute-Data-Parameters Tradeoff

Suppose you are given a fixed compute budget of 102310^{23} floating-point operations. You are asked to train the best possible language model. Should you build a massive model and train it briefly? Or should you build a small model trained on a flood of text? This question, once answered by intuition and trial and error, is now answered differently. A remarkably clean empirical law provides the answer: test loss falls as a power law in model size, dataset size, and compute. The exponents of these power laws tell you exactly how to split a budget between parameters and data. Scaling laws matter because pretraining a large language model is expensive. It is also essentially non-refundable — a wasted run costs millions of dollars and weeks of cluster time. Before scaling laws were characterized, practitioners guessed at architecture and dataset sizes. They often trained models that were badly imbalanced: too large for the data they saw, or too small to exploit the compute available. The discovery that loss scales predictably changed this. Researchers could run small, cheap experiments, fit a curve, and extrapolate to the regime they actually care about. They could do this without ever training the expensive final model more than once. The big picture is that a pretrained autoregressive language model's test loss is not a mysterious function of architecture tweaks. It is, to a good approximation, governed by three numbers: parameter count NN, training tokens DD, and compute C≈6NDC \approx 6ND. Fixing any two and varying the third produces smooth, predictable curves. These curves hold across many orders of magnitude. This predictability let organizations plan multi-million-dollar training runs with confidence. It also reframed pretraining as an optimization problem over an explicit budget constraint, rather than a craft. This article develops the empirical power-law form of scaling. It derives the compute-optimal allocation between NN and DD under a fixed compute budget. It contrasts the original Kaplan-style scaling laws with the later Chinchilla revision. Finally, it works through the arithmetic that lets you actually plan a training run from a budget alone.

Key takeaways
  • Pretraining loss falls approximately as a power law in parameters NN, data DD, and compute CC, over many orders of magnitude.
  • Compute is well approximated as C≈6NDC \approx 6ND for dense Transformer training with backpropagation.
  • Under a fixed compute budget, there is a compute-optimal split between NN and DD — growing one without the other wastes compute.
  • Early scaling laws (Kaplan et al.) favored large models on relatively little data; the Chinchilla study showed both should scale roughly equally with compute.
  • Undertrained large models (like the original GPT-3) leave performance on the table that smaller, longer-trained models can capture more cheaply.
  • Scaling laws let researchers extrapolate from small, cheap experiments to predict the loss of a model orders of magnitude larger, before ever training it.
The core insight

Pretraining loss is a predictable power law in compute, and for any fixed compute budget there is a specific, computable split between model size and training tokens that minimizes loss.

The idea

A scaling law in this context is an empirical relationship of the form

L(x)≈(xcx)αL(x) \approx \left(\frac{x_c}{x}\right)^{\alpha}

where LL is the cross-entropy test loss (in nats or bits per token) of a Transformer language model, xx is a resource — parameter count NN, dataset size in tokens DD, or training compute CC — and α\alpha and xcx_c are constants fit from data. Plotted on log-log axes, this relationship is a straight line: log⁡L\log L decreases linearly in log⁡x\log x. The exponent α\alpha is the scaling exponent; larger α\alpha means faster returns to additional resource. The crucial move is to hold two of {N,D,C}\{N, D, C\} effectively unconstrained and vary the third, then fit separate power laws L(N)L(N), L(D)L(D), and L(C)L(C). Because these laws hold over several orders of magnitude — often four to five decades of NN or DD — a curve fit on models with 10610^6 to 10910^9 parameters reliably extrapolates to models with 101110^{11} parameters, well outside the fitted range. This is what makes scaling laws practically powerful: they convert an expensive extrapolation question ("how good will a 500B-parameter model be?") into a cheap curve-fitting exercise using dozens of small, fast training runs. The second half of the idea is compute-optimal allocation. Since CC is (approximately) a fixed product of NN and DD, and both L(N)L(N) and L(D)L(D) independently push loss down, a fixed compute budget CC can be spent many ways: a huge model on little data, a tiny model on huge data, or something balanced in between. The scaling laws for L(N)L(N) and L(D)L(D) jointly determine an optimal point N∗(C)N^*(C), D∗(C)D^*(C) that minimizes loss for that budget — and this optimal split itself follows a power law in CC. Two major empirical studies of this optimum — Kaplan et al. (2020) and Hoffmann et al. (2022, the "Chinchilla" paper) — reached different conclusions about the exponents, with major practical consequences, discussed below.

How it works

Step 1: Fix the compute-loss relationship. For a dense Transformer trained with the standard forward-plus-backward pass, the compute cost per training token is approximately 6N6N FLOPs: roughly 2N2N for the forward pass (one multiply-add per parameter, per token, dominated by matrix multiplications) and roughly 4N4N for the backward pass (twice the forward cost, since gradients must be computed with respect to both activations and weights). Training on DD tokens for one epoch (or DD total token-steps, possibly with repetition) therefore costs

C≈6NDFLOPs.C \approx 6ND \quad \text{FLOPs}.

This holds independent of the exact split between NN and DD — it only assumes a dense architecture where the forward pass cost per token scales linearly in NN (true for standard Transformers when the token count is large relative to attention's quadratic term, which is usually small next to the linear feed-forward and projection costs).

Step 2: Fit the marginal power laws. Train a family of models varying NN (holding DD effectively unlimited, i.e., large enough not to bottleneck), and separately vary DD (holding NN large enough not to bottleneck). Fit

L(N)=(NcN)αN,L(D)=(DcD)αDL(N) = \left(\frac{N_c}{N}\right)^{\alpha_N}, \qquad L(D) = \left(\frac{D_c}{D}\right)^{\alpha_D}

using least squares on the log-log data. Empirically (Kaplan et al.), αN≈0.076\alpha_N \approx 0.076 and αD≈0.095\alpha_D \approx 0.095 for GPT-2/GPT-3-style Transformers, meaning loss decreases slowly but steadily and predictably as either resource grows — a factor of 10 in NN buys roughly a 100.076≈1.19×10^{0.076} \approx 1.19\times reduction in loss's excess over its floor, all else fixed.

Step 3: Combine into a joint law. A common joint form (Kaplan et al.) is

L(N,D)=[(NcN)αN/αD+DcD]αDL(N, D) = \left[ \left(\frac{N_c}{N}\right)^{\alpha_N/\alpha_D} + \frac{D_c}{D} \right]^{\alpha_D}

which reduces to the marginal laws in the appropriate limits and captures the fact that once one resource is abundant, the other becomes the bottleneck (diminishing returns saturate against whichever resource is scarcer).

Step 4: Solve the compute-optimal allocation problem. Given a compute budget CC, minimize L(N,D)L(N, D) subject to C=6NDC = 6ND. This is a constrained optimization: substitute D=C/6ND = C / 6N into L(N,D)L(N,D) and minimize over NN alone (a one-dimensional calculus problem, solvable by setting dL/dN=0dL/dN = 0). The solution takes the power-law form

N∗(C)∝Ca,D∗(C)∝Cb,a+b=1N^{*}(C) \propto C^{a}, \qquad D^{*}(C) \propto C^{b}, \qquad a + b = 1

(the exponents must sum to one because N⋅D∝CN \cdot D \propto C and both N∗N^* and D∗D^* are themselves power laws in CC). The value of aa (equivalently b=1−ab = 1-a) is the crux of the entire debate: Kaplan et al. found a≈0.73a \approx 0.73 (model size should absorb most of a compute increase, data barely grows), while Hoffmann et al.'s Chinchilla analysis found a≈0.5a \approx 0.5 (parameters and data should scale in equal proportion).

Step 5: Use the law to plan a real run. Given a compute budget (often fixed by hardware-hours available), compute N∗(C)N^*(C) and D∗(C)D^*(C) from the fitted exponents, then choose an architecture (depth, width, number of heads) that hits the target N∗N^* and a training corpus of size D∗D^* tokens. This turns the “what should we train?” design question into arithmetic. ```

# Fitting and using a compute-optimal scaling law function FIT_SCALING_LAW(models):

# models: list of (N_i, D_i, C_i, loss_i) from completed small-scale training runs

# Step 1: fit marginal laws holding one resource near-unconstrained (alpha_N, N_c) <- LEAST_SQUARES_LOGLOG( x = [m.N for m in models if m.data_unconstrained], y = [m.loss for m in models if m.data_unconstrained]) (alpha_D, D_c) <- LEAST_SQUARES_LOGLOG( x = [m.D for m in models if m.model_unconstrained], y = [m.loss for m in models if m.model_unconstrained])

# Step 2: fit joint law L(N, D) on the full grid of runs (alpha_N, alpha_D, N_c, D_c) <- FIT_JOINT_LOSS(models, init=(alpha_N, alpha_D, N_c, D_c)) return (alpha_N, alpha_D, N_c, D_c) function COMPUTE_OPTIMAL_SPLIT(C, alpha_N, alpha_D, N_c, D_c):

# Minimize L(N, C/(6N)) over N == solve dL/dN = 0 analytically or numerically best_loss <- INFINITY best_N <- NONE for N in LOG_SPACE(low=1e6, high=1e13, num_points=10000): D <- C / (6 N) loss <- JOINT_LOSS(N, D, alpha_N, alpha_D, N_c, D_c) if loss < best_loss: best_loss <- loss best_N <- N N_star <- best_N D_star <- C / (6 N_star) return (N_star, D_star, best_loss) function PLAN_TRAINING_RUN(compute_budget_flops, alpha_N, alpha_D, N_c, D_c): (N_star, D_star, predicted_loss) <- COMPUTE_OPTIMAL_SPLIT( compute_budget_flops, alpha_N, alpha_D, N_c, D_c) architecture <- CHOOSE_ARCHITECTURE(target_params = N_star) corpus <- SELECT_CORPUS(target_tokens = D_star) return (architecture, corpus, predicted_loss) ``` The pseudocode has two honest edge cases worth flagging. `LEAST_SQUARES_LOGLOG` requires strictly positive losses above an irreducible floor (an "entropy floor" L0L_0 representing the true entropy of natural language); fits are usually done on L−L0L - L_0, and if L0L_0 is misestimated the whole exponent shifts. `COMPUTE_OPTIMAL_SPLIT`'s grid search is a stand-in for the closed-form solution obtainable by calculus — real implementations solve dL/dN=0dL/dN = 0 analytically for whichever joint-loss functional form they've chosen, since a grid search over 10,000 points is not exact and can miss the true minimum between points.

Figure
Compute-optimal frontier: as budget C grows, both N and D grow as power laws, with slope determined by the fitted exponents
Compute-Optimal Allocation: log N* and log D* vs log C log₁₀(Compute C, FLOPs) log₁₀(Resource) 20 22 24 26 N* (Kaplan, slope≈0.73) D* (Kaplan, slope≈0.27) N* (Chinchilla, slope≈0.5) D* (Chinchilla, slope≈0.5, overlaps) Kaplan: most new compute → bigger model Chinchilla: split compute equally, grow data as much as model size

Complexity & correctness

Fitting cost. Fitting a single marginal power law L(x)=(xc/x)αL(x) = (x_c/x)^\alpha is ordinary least squares in log-log space after the substitution log⁡L=αlog⁡xc−αlog⁡x\log L = \alpha \log x_c - \alpha \log x: this is a linear regression with two parameters, solvable exactly in O(k)O(k) time for kk data points via the normal equations, or O(k)O(k) per gradient step for iterative fitting. The joint law over (N,D)(N, D) has more parameters (αN,αD,Nc,Dc\alpha_N, \alpha_D, N_c, D_c, sometimes an irreducible floor L0L_0) and is fit by nonlinear least squares (e.g., L-BFGS), typically converging in tens of iterations over a grid of a few hundred training runs — negligible compute compared to the runs themselves. The dominant cost of the whole scaling-law methodology is running the family of small models used to generate the fitting data, but these are chosen to be orders of magnitude cheaper than the target run, which is the entire point.

Why the exponent-sum identity holds. Given C=6NDC = 6ND and the two candidate solutions N∗(C)∝CaN^*(C) \propto C^a, D∗(C)∝CbD^*(C) \propto C^b, correctness of a+b=1a + b = 1 follows directly from substitution:

C=6 N∗(C) D∗(C)∝Ca⋅Cb=Ca+bC = 6\,N^*(C)\,D^*(C) \propto C^{a} \cdot C^{b} = C^{a+b}

For this to hold as an identity in CC (not just at one point), the exponents on both sides must match, forcing a+b=1a + b = 1. This is not an empirical finding but an algebraic constraint — any correctly fit compute-optimal frontier must satisfy it, and it serves as a sanity check on fitted exponents (Chinchilla's a≈b≈0.5a \approx b \approx 0.5 and Kaplan's a≈0.73,b≈0.27a \approx 0.73, b \approx 0.27 both satisfy it).

Deriving the optimal split via Lagrange multipliers. To see why an interior optimum exists (rather than "always spend everything on NN" or vice versa), consider the joint loss in the simplified additive-in-logs form

log⁡L(N,D)≈−αNlog⁡N−αDlog⁡D+const\log L(N, D) \approx -\alpha_N \log N - \alpha_D \log D + \text{const}

as a local approximation when neither resource dominates. Minimizing subject to log⁡C=log⁡6+log⁡N+log⁡D\log C = \log 6 + \log N + \log D via a Lagrange multiplier λ\lambda:

∂∂log⁡N[−αNlog⁡N−αDlog⁡D−λ(log⁡N+log⁡D)]=0  ⇒  αN=λ,αD=λ\frac{\partial}{\partial \log N}\left[-\alpha_N \log N - \alpha_D \log D - \lambda(\log N + \log D)\right] = 0 \;\Rightarrow\; \alpha_N = \lambda,\quad \alpha_D = \lambda

This naive additive approximation actually predicts αN=αD\alpha_N = \alpha_D at the optimum, which is not quite the empirical picture — the real joint loss function is not additive but has the "harmonic-sum" saturating shape from Step 3, where increasing NN alone with fixed DD eventually saturates (loss bottoms out at the DD-dependent floor). Solving the true constrained optimization on the saturating form yields

a=αDαN+αD,b=αNαN+αDa = \frac{\alpha_D}{\alpha_N + \alpha_D}, \qquad b = \frac{\alpha_N}{\alpha_N + \alpha_D}

which is why the ratio of the fitted marginal exponents αN/αD\alpha_N/\alpha_D, not their absolute values, determines the compute-optimal split — a small change in how αN\alpha_N and αD\alpha_D are estimated (e.g., using a bigger, more diverse validation set, or correcting for learning-rate schedule artifacts) can swing aa substantially, which is exactly what happened between the Kaplan and Chinchilla studies.

Why Chinchilla revised Kaplan's exponent. The Chinchilla paper (Hoffmann et al., 2022) identified two methodological issues in the earlier fit: Kaplan et al. fit L(N)L(N) using models trained with a learning-rate schedule tuned for a fixed, large number of steps regardless of NN, which understates the achievable loss of smaller models (they were effectively undertrained relative to their optimal schedule), and it fit over a narrower range of DD at each NN. Correcting the learning-rate schedule per model size and training over three independent methodologies (fixing NN and varying DD; fixing training FLOPs and varying NN; and fitting a parametric joint loss surface directly) all converged on a≈b≈0.5a \approx b \approx 0.5, i.e., parameters and data should scale at the same rate as compute grows — a substantially more data-hungry prescription than Kaplan's.

Honest tradeoffs. Scaling laws are extrapolations, not proofs; they assume the power-law form continues to hold far outside the fitted range, an assumption that can break down (e.g., data quality bottlenecks, or the eventual exhaustion of high-quality text corpora, mean DD cannot grow indefinitely in practice regardless of what the law prescribes). They also describe training loss/perplexity, not downstream task accuracy directly — a compute-optimal model by the scaling-law criterion is not automatically the best model for every deployment (inference cost, latency, and fine-tuning behavior are separate constraints the law does not model, since a smaller model trained longer is often cheaper to serve even at equal training loss).

Worked example

Suppose a lab has a fixed budget of C=3×1023C = 3 \times 10^{23} FLOPs and wants to compare what the Kaplan-style law and the Chinchilla-style law each prescribe.

Step 1 — Kaplan-style split (a≈0.73a \approx 0.73, b≈0.27b \approx 0.27). Using the fitted proportionality constants from Kaplan et al. (approximately, reading off their published fits):

NKaplan∗(C)≈1.3×109⋅(C6×1018)0.73  parametersN^*_{\text{Kaplan}}(C) \approx 1.3 \times 10^9 \cdot \left(\frac{C}{6 \times 10^{18}}\right)^{0.73} \;\text{parameters}

Plugging in C=3×1023C = 3\times10^{23} gives a ratio C/6×1018≈5×104C / 6\times10^{18} \approx 5\times10^4, and (5×104)0.73≈3,000(5\times10^4)^{0.73} \approx 3{,}000, so NKaplan∗≈1.3×109×3000≈3.9×1012N^*_{\text{Kaplan}} \approx 1.3\times10^9 \times 3000 \approx 3.9 \times 10^{12} parameters — roughly a 4-trillion-parameter model. This is (deliberately, to illustrate the point) an extreme figure, larger than any model actually deployed, because Kaplan's fit was later shown to overweight parameter growth; real GPT-3-scale planning under this law targeted the hundreds-of-billions range with correspondingly modest data.

Step 2 — corresponding data budget under Kaplan. DKaplan∗=C/(6N∗)=3×1023/(6×3.9×1012)≈1.3×1010D^*_{\text{Kaplan}} = C / (6N^*) = 3\times10^{23} / (6 \times 3.9\times10^{12}) \approx 1.3 \times 10^{10} tokens — about 13 billion tokens, strikingly small for a multi-trillion-parameter model (for comparison, GPT-3, at 175B parameters, was trained on roughly 300B tokens, already showing the tension: Kaplan's own prescription, taken to its logical extreme, implies models even more undertrained-relative-to-size than GPT-3 actually was).

Step 3 — Chinchilla-style split (a=b=0.5a = b = 0.5). Hoffmann et al.'s fitted law gives approximately

NChinchilla∗(C)≈0.6(C1)0.5,DChinchilla∗(C)≈0.3(C1)0.5N^*_{\text{Chinchilla}}(C) \approx 0.6 \left(\frac{C}{1}\right)^{0.5}, \qquad D^*_{\text{Chinchilla}}(C) \approx 0.3 \left(\frac{C}{1}\right)^{0.5}

(constants fit in Hoffmann et al.'s Table 3; units chosen so CC is in FLOPs). Plugging in C=3×1023C = 3\times10^{23}: 3×1023≈5.5×1011\sqrt{3\times10^{23}} \approx 5.5\times10^{11}, giving NChinchilla∗≈0.6×5.5×1011≈3.3×1011≈330N^*_{\text{Chinchilla}} \approx 0.6 \times 5.5\times10^{11} \approx 3.3\times10^{11} \approx 330 billion parameters and DChinchilla∗≈0.3×5.5×1011≈1.65×1011≈165D^*_{\text{Chinchilla}} \approx 0.3 \times 5.5\times10^{11} \approx 1.65\times10^{11} \approx 165 billion tokens.

Step 4 — sanity check via the constraint. Verify C=6NDC = 6ND for the Chinchilla answer: 6×3.3×1011×1.65×1011≈3.27×10236 \times 3.3\times10^{11} \times 1.65\times10^{11} \approx 3.27\times10^{23}, matching the budget to within rounding — the constraint holds, confirming the split is a valid point on the compute frontier (not merely a plausible-looking pair of numbers).

Step 5 — compare implied predictions. The actual Chinchilla model, trained by Hoffmann et al. at a smaller compute budget than GPT-3's successor Gopher, used 70 billion parameters and 1.4 trillion tokens (a compute-matched comparison to Gopher's 280 billion parameters trained on only 300 billion tokens) and outperformed the much larger, more compute-equal Gopher on nearly every downstream benchmark — the empirical confirmation that at fixed compute, Gopher-style large-and-undertrained was suboptimal relative to smaller-and-longer-trained.

QuantityKaplan-style prescriptionChinchilla-style prescription
N∗N^* at C=3×1023C=3\times10^{23}≈3.9×1012\approx 3.9 \times 10^{12}≈3.3×1011\approx 3.3\times10^{11}
D∗D^* at C=3×1023C=3\times10^{23}≈1.3×1010\approx 1.3\times10^{10}≈1.65×1011\approx 1.65\times10^{11}
Tokens per parameter≈3.3\approx 3.3≈500\approx 500
Practical verdictSeverely undertrained modelsBalanced, matches observed optimum

The "tokens per parameter" row is the number practitioners actually remember: the Chinchilla result is often summarized as "train on roughly 20 tokens per parameter" (165B/330B ≈0.5\approx 0.5 in this toy example's units works out closer to 20 with the paper's exact fitted constants) — a rule of thumb directly derived from setting a=b=0.5a = b = 0.5 in the frontier equations.

Common pitfalls & traps

PitfallWhy it happensConsequence
Confusing C≈6NDC \approx 6ND with an exact hardware FLOP countThe formula ignores attention's quadratic cost, embedding lookups, and hardware utilization (MFU)Underestimates true compute for long-context models; real MFU is often 30-50%, not 100%
Extrapolating a fitted power law far beyond the fitted range without re-checking assumptionsPower laws are empirical fits, not physical laws; they can bend at extreme scale ("emergent" breaks)Silent mispredictions for frontier-scale runs unless periodically re-validated with new data points
Ignoring the learning-rate-schedule confound (the original Kaplan bug)Small models trained with a schedule tuned for large models look artificially undertrainedSkews αN\alpha_N vs αD\alpha_D ratio, biasing the compute-optimal split
Treating "compute-optimal" as "best for deployment"The law optimizes training loss only, not inference cost or latencyA compute-optimal model per Chinchilla may still be worse to serve than a smaller, longer-trained, slightly higher-loss model
Assuming infinite high-quality data is available to hit D∗D^*Chinchilla-optimal D∗D^* grows with CC; text corpora are finiteForces either data repetition (with diminishing or even harmful returns past a few epochs) or accepting a data-constrained, suboptimal NN

Pioneers & history

Origins · 1 minJared Kaplan and how this was discovered
JK
Jared Kaplan
b. 1982 · Theoretical physicist turned AI researcher; led the first systematic scaling-law study for language models

Trained as a theoretical physicist, Kaplan brought power-law thinking from statistical physics and quantum field theory to neural-network training curves, co-authoring "Scaling Laws for Neural Language Models" (2020) at OpenAI, which established that Transformer loss follows smooth power laws in parameters, data, and compute across seven orders of magnitude — reframing model design as a fitting problem rather than pure architecture search.

History
2020
— Kaplan et al. publish "Scaling Laws for Neural Language Models," establishing power-law loss scaling in NN, DD, CC for GPT-style Transformers.
2020
— OpenAI trains GPT-3 (175B parameters) partly informed by the Kaplan-style compute-optimal heuristics of the time.
2021-2022
— DeepMind trains Gopher (280B parameters) as a large-scale test of the prevailing "bigger model" scaling philosophy.
2022
— Hoffmann et al. publish the Chinchilla paper, revising the compute-optimal exponent to an equal NN-DD split and demonstrating a 70B-parameter model outperforming Gopher at matched compute.
2022-2023
onward — "Chinchilla-optimal" training-token ratios (roughly 20 tokens per parameter) become an industry-standard planning heuristic for large language model pretraining.

Where this matters

Scaling laws are now a standard planning tool at every organization training frontier language models. Compute budgets for models like GPT-4-class systems, PaLM, LLaMA, and their successors are allocated using compute-optimal (or deliberately inference-optimal, over-trained-beyond-Chinchilla) heuristics derived directly from this line of research; LLaMA's authors, for instance, explicitly chose to train smaller models on far more tokens than Chinchilla-optimal would suggest, because a slightly higher training loss was an acceptable price for a model cheap enough to serve at scale — a direct, documented application of the tradeoff analyzed here. Cloud providers and AI labs use scaling-law extrapolation to decide, months in advance, how many GPU-hours to reserve and how large a training corpus to curate, since the fitted curves let them predict the final loss (and, empirically, downstream benchmark performance) of a run before it starts. The same methodology — small, cheap proxy experiments extrapolated via power-law fits — has since been extended to vision Transformers, multimodal models, reinforcement-learning-from-human-feedback pipelines, and even to predicting the compute needed to reach a target level of "emergent" capability on reasoning benchmarks, making scaling-law analysis a load-bearing part of nearly every large-scale pretraining pipeline built on top of the autoregressive language modeling paradigm.

Ask the tutor: How would the compute-optimal split change if we account for the fixed extra cost of inference at deployment, not just training?

Are scaling laws a proof that bigger models are always better?

No. Scaling laws describe how pretraining loss changes as resources grow, holding the resource allocation optimal for the budget; they do not claim that an arbitrarily large model is better than a well-matched smaller one. In fact, the central lesson of the Chinchilla study is the opposite: an oversized model trained on too little data can be worse, at equal compute, than a smaller model trained longer. Scaling laws are best read as "if you're going to spend compute CC, here is the loss-minimizing way to spend it," not "more parameters is unconditionally good." Downstream task performance, inference cost, and deployment constraints are separate axes the basic scaling law does not directly optimize.

Why does the compute formula use 6N rather than something architecture-specific?

The factor of 6 comes from counting multiply-accumulate operations in the forward and backward passes of a dense Transformer, where nearly all compute is spent in matrix multiplications whose cost per token scales linearly with the parameter count NN. The forward pass costs about 2N2N FLOPs per token (one multiply and one add per parameter), and backpropagation costs roughly twice that, about 4N4N, because gradients must be computed with respect to both weights and activations. This total of 6N6N per token is architecture-agnostic in the sense that it holds for any dense Transformer dominated by linear layers; it becomes a looser approximation for models with very long context, where the attention mechanism's quadratic cost in sequence length can become non-negligible.

What is an "irreducible loss" or entropy floor, and why does it matter for fitting?

Natural language has some intrinsic unpredictability — even a perfect model cannot achieve zero cross-entropy loss, because human language contains genuine ambiguity and randomness. This floor, often denoted L0L_0, is the loss an ideal model would asymptotically approach as N,D→∞N, D \to \infty. Scaling-law fits typically model the excess loss L−L0L - L_0 as the power-law quantity, since fitting the raw loss directly would bias the exponent estimate — the power law describes how quickly you approach the floor, not the floor's value itself. Misestimating L0L_0 shifts the fitted exponents and can distort extrapolations, which is one reason scaling-law papers report careful ablations over how L0L_0 is estimated.

How does the compute-optimal frontier relate to the idea of "emergent abilities" in large language models?

Emergent abilities refer to capabilities (like multi-step arithmetic or certain reasoning benchmarks) that appear to activate suddenly past some model scale, rather than improving smoothly. Scaling laws describe smooth, continuous improvement in pretraining loss, and that smooth loss improvement is the mechanism underlying emergence — many "sudden" capability jumps are better explained as a continuous underlying loss improvement crossing a discrete evaluation threshold (e.g., getting an entire multi-step answer exactly right), rather than a true discontinuity in the model's internal competence. Scaling laws are silent on which specific capabilities will emerge at which scale; they only govern the aggregate loss, and predicting which downstream benchmarks track loss closely remains an active empirical question.

Do scaling laws apply the same way to fine-tuning as to pretraining?

Pretraining scaling laws describe loss on a broad, diverse corpus and generally require very large token counts to be informative; fine-tuning operates on much smaller, task-specific datasets and behaves differently, often saturating quickly or overfitting well before the pretraining-style power law would predict. Some scaling-law-style analyses exist for fine-tuning and transfer (relating pretraining loss to downstream fine-tuned performance), but the clean NN-DD-CC power law derived for pretraining does not transfer directly to the fine-tuning regime without separate calibration, since fine-tuning data is typically far more limited and far less diverse than pretraining corpora.

Why did GPT-3-era models train on relatively few tokens per parameter compared to later Chinchilla-informed models?

GPT-3 (175B parameters, roughly 300B training tokens, about 1.7 tokens per parameter) was trained before the Chinchilla study, guided partly by the earlier Kaplan-style scaling laws, which — due to the learning-rate schedule confound discussed above — implied that scaling parameters mattered more than scaling data. Under that earlier guidance, spending a fixed compute budget mostly on parameter count seemed compute-optimal. The Chinchilla correction showed this was a significant underinvestment in data; models trained after 2022 (LLaMA and its successors, for instance) systematically use far higher tokens-per-parameter ratios, often 20 or more, directly incorporating the revised exponent.

Can scaling laws predict loss for a completely new architecture before training it at scale?

Only partially, and with caution. Scaling laws are typically fit separately for each architecture family, since different architectures (dense Transformers, mixture-of-experts models, state-space models) can have different exponents and different effective compute-per-parameter relationships (e.g., a mixture-of-experts model activates only a subset of parameters per token, breaking the simple C≈6NDC \approx 6ND formula unless NN is reinterpreted as "active parameters"). Researchers routinely refit scaling laws for each new architecture family using small-scale proxy runs before trusting extrapolations, precisely because the exponents are empirical and architecture-dependent rather than universal constants.

Before this