Research record

When Length Adds Content

Ongoing research. This is an experimental result from active work, not a settled conclusion. The numbers are what we measured and the method is described so you can judge it, but the programme is still running and later experiments may revise what it means.

A note on the language in these records. This is a working laboratory notebook for research into training AI models more cheaply and efficiently, so you will read that an approach did not work, that a result did not hold up, or that one method was worse than another. That is the research doing its job, not a verdict on the engineering we deliver to clients. Ruling an approach out is how the search narrows, and these are the pages that teach us the most: nearly every technique we now rely on came from understanding why something else fell short. Testing our own ideas at least as hard as anyone else's is the point of publishing them. More about this programme and why we run it.

Part of a bigger question: What actually makes training cheaper? – One thing has worked: stopping part of the training early saved about 7% with no loss of quality. Everything else tested has been matched by a simpler or cheaper method -- and in two cases the clever method was only winning because it was quietly being given more.

In plain English

What we asked. Last time, longer training examples made no difference, but our examples were one short pattern repeated. So we ran the fair version: examples made of random material, where a longer example really does contain more to learn from.

What we found. Now length mattered. Examples eight times longer halved the number of training steps the model needed. That is the direction a recent paper on large language models predicts, at about half the size it reports.

Why it matters. The takeaway: longer training examples help when they carry more new information. Length made of repetition is just cost.

The rest of this page is the technical record: the design, every number, and the limits. It is written for a reviewer, and you do not need it to have understood the result above.

New here? How to read a research record
  • Start at the verdict. Every record states, before the experiment was run, what result would have made us abandon the idea. That is the "kill test". Then it says whether the test fired. Nothing gets reinterpreted after the fact.
  • Numbers in square brackets are uncertainty. 23.4 [18.1, 28.7] means our best estimate is 23.4 and the true value is probably somewhere in that range. If a range includes zero, we cannot claim an effect.
  • Results that rule an idea out are kept. Roughly half of what is published here says an approach did not work, including plenty of our own. Those pages are the output, not a shortfall: knowing which direction is a dead end is what lets the next experiment go somewhere better, and most of what we now rely on came out of understanding why something else fell short. Work that only publishes what worked is not measuring anything.
  • Read the Limits section. Every record ends with what it does not show. It is the most honest part of any experiment and usually the shortest.
  • Pro tip: the figures near the top are designed to carry the result on their own. If you read nothing else, read the caption under each one, which says what it shows and what to take from it.
EXPLORATORY. Not a preregistered study. Local CPU, 32 training runs. The design and kill test were committed (7a3d83f) before any measured run; one throwaway seed was run first and disclosed in the pilot.

Program v2 Bucket T, item T11. Decisive computation: analysis/context_law_stream.py. Output: analysis/context_law_stream.json. Reproduce with python analysis/context_law_stream.py (about twenty minutes on a throttled laptop CPU); --reuse re-derives every endpoint from the saved series.

The question

arXiv 2511.16893 fits the step at which induction heads form as B^-0.37 * C^-0.62. T8 found the batch term holds on J8's recurrent network at a fixed rate. T9 found the context term near zero (-0.021), on a task whose sequences repeat one four-token pattern, so length added no content. T11 reruns T9 on a random stream copied at a fixed lag of 4, where every extra position is new: sequence length 8-64, batch 64, rate 0.006, J8's eight receivers, T8's endpoint and per-receiver slope.

Longer sequences speed learning when the extra length is new material
Longer sequences speed learning when the extra length is new material. The same small model on two copying tasks. In one, each sequence is a short pattern repeated, so a longer sequence holds more copies of the same thing. In the other, each sequence is random, so a longer sequence holds more new material to learn from. With new material, eight times the length halves the steps needed. With repetition, it changes almost nothing. What speeds learning is new content per example, not length.
A language-model law on a tiny model: batch matches, length matches half-way
A language-model law on a tiny model: batch matches, length matches half-way. The two parts of a published law for when language models learn to copy, measured on our small recurrent model at a fixed learning rate. Grey bars are the paper's values; coloured bars are ours. The batch part matches the paper closely. The length part is about half the paper's, and only appears when longer sequences contain new material.

Kill test, fixed before execution: the exponent interval lies entirely outside [-0.93, -0.31].

Result: the kill test does not fire

Sequence lengthStep to 0.5, random stream (T11)Step to 0.5, repeated pattern (T9)
8194.3 [184.0, 204.6]75.5
16166.3 [157.3, 175.3]75.3
32117.7 [112.9, 122.5]73.8
6498.5 [94.0, 102.9]72.4
Exponent-0.344 [-0.371, -0.316]-0.021 [-0.034, -0.009]

When length adds content, longer sequences bring the transition sooner: eight times the length halves the steps. The exponent is -0.344, inside the band but only just (its upper end, -0.316, sits 0.006 inside -0.31), and about half the paper's -0.62. Paired on the same receivers, it is -0.322 [-0.343, -0.301] steeper than T9's.

Measured against scored positions instead of length, the exponent is -0.262 [-0.284, -0.240]: the task scores length - 4 positions per sequence, so positions grow faster than length at the short end.

What T8, T9 and T11 say together

  • The paper's batch term travels to a 17K-parameter recurrent network at a fixed rate (-0.315 against -0.37), and is moved by the rate rule (T8, T10).
  • Its context term travels in direction but at about half the size (-0.344 against -0.62), and only when the extra length carries new content (T9 against T11).
  • The two terms measure different kinds of data: more examples per step (batch) and more distinct content per example (context). Padding an example with repetition is neither.

What stands

  • Kill test does not fire. On a random stream the context exponent is -0.344 [-0.371, -0.316].
  • The content, not the length, is what counts: -0.322 steeper than on the repeated-pattern task, same model, receivers and rate.
  • The margin to the band is small (0.006) and the band was set around the paper's value; say "the same sign and about half the size", not "the paper's exponent".

Limits

  • One substrate, one lag, one batch, one rate. A recurrent model does not look further back with a longer sequence, so what a longer sequence adds here is more scored positions of new content per example -- not a longer look-back, as it would be for a transformer.
  • Whether the batch and context terms combine multiplicatively, as the paper's law assumes, is untested here (T13).

CORRECTED 2026-09-27 by T14. This task scores length - 5 positions per sequence, not length - 4: the announcement occupies position 0, so the first target is at lag + 1. The exponent against scored positions, recomputed with the correct count, is -0.237 [-0.257, -0.217] (not -0.262). The length exponent, the kill test and the paired difference from T9 are unaffected. T14 also found the first scored position is learned early, which makes the shortest sequences look faster and, if anything, flattens the context effect reported here. Text and numbers above unchanged.

Terms on this page

Every piece of vocabulary this record uses, in plain language. Generated from the text above, so it cannot drift out of step with it.

exponent
The number in a power law that says how strongly one quantity responds to another. A bigger exponent means a steeper response to the same doubling.
induction
A model's ability to spot that a sequence is repeating and copy what came next last time. A standard early skill in language models.
kill test
A condition written down before running the experiment that says what result would make us abandon the idea. Fixing it in advance is what stops a disappointing result being reinterpreted as an encouraging one.
recurrent
A design that reads a sequence one item at a time, carrying memory forward. The main alternative is attention, which looks at everything at once.
seed
The number that fixes all the randomness in a training run. Same seed, same run. Running several seeds is how you tell a real effect from a lucky one.
slope
How steeply one quantity changes as another does. A slope of one between a warning and the event it predicts means the warning shifts exactly in step with the event.
transformer
The architecture behind most modern large language models. It uses attention to look at every part of the input at once, rather than reading in order.

Want this measured on your data?

We build private models our clients own and run on their own infrastructure, and every engagement proves measured lift on the client's own tasks before we call it done. Start free with a readiness scorecard that tells you whether your data can support it, or book a short call.