Architecture vs Computing Power

Last updated:
Created:

There's a long debate in AI about the relative importance of architectural choices vs raw computing power.

This idea can be expressed as a scaling law:

L(C)≈E+ACαL(C) \approx E + \frac{A}{C^\alpha}

In this equation:

  • CC is the amount of computing power we have for training in terms of floating point operations.
  • LL is our loss on on a held out dataset.
  • L(C)L(C) is the lowest test loss we can reach with a training budget of CC. Because it's expressed in terms of FLOPs the size of the model and the amount of data we can train on have to be traded off against each other.
  • EE is the loss a model approaches as its compute goes to infinity. In theory it is the same for every architecture (assuming they have access to the same information e.g. same context length). We can think of it like entropy or the unpredicatability that would remain even if you knew the distribution of a dataset perfectly.
  • A/CαA / C^\alpha is the reducible loss: how much loss is still left to remove at a given compute budget.
  • AA is how much reducible loss we start with. A larger AA means more loss left to remove at every compute budget. If two architectures have the same α\alpha but different AA, the worse one always needs a fixed multiple of the other's compute to reach the same loss, (AX/AY)1/α(A_X / A_Y)^{1/\alpha}. With α=0.15\alpha = 0.15, an architecture with twice the AA needs about 100 times the compute, at every scale.
  • α\alpha is how fast extra compute pays off. Each time we double CC, the reducible loss is multiplied by 2−α2^{-\alpha}. With α=0.15\alpha = 0.15, each doubling removes about 10% of the loss that's left.
012345E10181020102210241026Training compute, FLOPs (C)Loss (L)Architecture YArchitecture X

To match Y at 1020 FLOPs, X needs

4.4× the compute

To match Y at 1025 FLOPs, X needs

4.4× the compute

Architecture X: each doubling removes 10%

Architecture Y: each doubling removes 10%

The strong form of the Bitter Lesson / Big Blog of Compute hypothesis is that for any reasonable architecture the only parameter that varies significantly is AA. Reasonable in this context means anything that provides things stable gradients, parallelism and no information bottlenecks.

Emperical evidence

CNNs vs Vision transformers

RNNs vs transformers


Todo:

  • Can we go wackier?

Tags: AI