Research record

The Room Was There

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. Our last test of letting a small model decide how long to think ended in a tie with a fixed thinking budget, because the puzzle was too easy: a fixed three steps already solved it. So we built a harder puzzle, checked in advance that no fixed amount of thinking came close to solving it, and tried again with the same recipe: train the model to give an answer at every step, then let it stop when it is confident.

What we found. The room was real: more fixed thinking kept helping, reaching about 83%. But the model trained with the recipe never learned the puzzle at all, staying near 57% however long it thought. Training every step to answer made sense when early steps could mostly get it right; on the harder puzzle, early steps cannot, and asking them to anyway swamped the learning.

Why it matters. The lesson is a real tension, not a bug: the step that makes early answers trustworthy is the same step that stops the model learning, and the two collide exactly on the problems where deciding how long to think would pay off. The next test gives early steps less weight.

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, six seeds. The design, kill test and the calibration that chose the task were committed (a43635e) before any measured run.

Program v2 Bucket S, item S15. Decisive computation: analysis/thinking_room.py. Output: analysis/thinking_room.json. Reproduce with python analysis/thinking_room.py (about forty minutes on a throttled laptop CPU); --reuse re-derives every endpoint.

The question

S13 closed the thinking-budget thread on 10-entry parity: with every thinking step's answer trained ("deep supervision") and a stop-when-confident rule, adaptive thinking was both ordered and calibrated, and tied a fixed budget -- because a fixed three steps already scored 0.999, leaving nothing to win.

A harder puzzle leaves room for smarter thinking, and the recipe does not train
A harder puzzle leaves room for smarter thinking, and the recipe does not train. A harder version of the thinking puzzle, chosen so that no fixed amount of thinking gets close to perfect. The grey line is a fixed budget; the dots are the recipe that matched a fixed budget on the easier puzzle: train every step to answer, stop when confident. The room is there: more fixed thinking keeps helping, up to about 83%. But the recipe never learns this puzzle at all, sitting near 57% however long it thinks. Training every step to answer costs too much when the early steps cannot possibly be right. The thing that made its answers trustworthy stopped it learning.

S15 builds the room. Calibrated on a throwaway seed before it was written: 16-entry parity, where no fixed budget comes near the ceiling and the hard half of the inputs needs more thinking than the easy half. Same recipe as S13, up to 12 thinking steps.

Kill test, fixed before execution: at matched mean thinking steps, confidence halting does not beat the fixed-budget frontier, paired over six seeds.

Prior recorded in advance: moderate.

The room was there

Fixed budget1234681012
accuracy0.5190.5280.5500.6780.7810.8160.8330.810

The calibration held on the measurement seeds: the best fixed budget reaches 0.833, well below the 0.95 the script required, and accuracy keeps rising with thinking up to ten steps. This is the task S13 lacked.

Result: the kill test fires -- because the adaptive model never learned

ThresholdAccuracyMean stepsAgainst the fixed-budget frontier
0.60.57010.05-0.245 [-0.313, -0.176]
0.90.57511.30-0.239 [-0.316, -0.162]
0.990.57511.86-0.238 [-0.321, -0.154]

The deep-supervised model scores 0.575 at every threshold, using nearly all twelve steps, where a fixed budget of ten scores 0.833. Even its easy half reaches only 0.647. The halting rule is not what failed: the model it halts did not learn the task, whatever it is allowed to think.

Why: deep supervision taxes the steps that cannot yet answer

S13's recipe trains every thinking step's answer with equal weight. On 10-entry parity that was harmless -- two or three steps answer almost everything, so most steps' losses are easy to drive down. On 16-entry parity the early steps cannot answer the hard inputs, whatever the network does, and their losses stay high throughout training. With twelve steps weighted equally, most of the gradient is spent asking early steps for answers they cannot give, and the fixed-budget models -- trained only on the answer at their final step -- learn the task that the deep-supervised model does not.

This is the calibration requirement from the other side. S9 showed early answers must be trained to be trustworthy; S15 shows that training them equally, on a task where they cannot be right, costs the model its ability to learn. The two needs pull against each other exactly where adaptive thinking has room to matter.

What stands

  • The kill test fires, and the reason is a confound in the recipe, not a verdict on adaptive thinking. The room existed (0.833 best fixed); the deep-supervised model did not train (0.575).
  • S13's recipe does not scale to a task with room. Uniform deep supervision is affordable only when the early steps can mostly answer -- which is when there is nothing for adaptivity to win.
  • The next test is the obvious one: supervision weighted toward later steps, or introduced as training proceeds, so early steps are trained to be calibrated without taxing learning. That is S16.

Limits

  • One weighting. Uniform weight over twelve steps is the simplest deep-supervision scheme and the one S13 used; PonderNet-style and step-increasing weightings were not tried here.
  • One width and budget. A wider cell or a longer run might learn despite the tax; the fixed-budget models, at the same width and steps, did.
  • Parity is a single task family. The task was built to have room, which it does; whether other reasoning-like tasks show the same tension is untested.

QUALIFIED 2026-09-26 by S18. The room this record built exists at its 4000 training steps and closes with longer training: retrained to 7000 steps on the same seeds, a fixed thinking budget of six reaches 0.995 (against this record's best 0.833). The fixed budgets here had not converged. Text and numbers 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.

accuracy
The fraction of answers a model gets right on questions it was not trained on.
calibrated
A model is calibrated when its confidence matches how often it is right: answers it gives with 90% confidence should be right about 90% of the time.
calibration
Working out an instrument's settings from runs whose answer you already know, so it can be used on a run whose answer you do not.
confound
A second explanation you did not control for. If bigger models both learn faster and score higher, then 'fast learners score higher' may be entirely about size and not about speed.
deep supervision
Training a model to give a correct answer at every intermediate stage, not only at the end, so an early answer can be trusted.
gradient
The direction and amount by which each of a model's internal numbers should change to do slightly better. Training is repeatedly following it.
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.
parity
Whether a count is odd or even. A classic test puzzle for models, because the answer flips with every single item and cannot be guessed from a rough impression.
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.
width
How many internal numbers a model uses at each layer. The usual way we vary model size in these experiments.

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.