Research record

Set the Alarm Above the Floor

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: Can you tell in advance that a model is about to improve? – Yes, repeatedly and by several independent routes -- a probe on the hidden state, gradient statistics, held-out loss, and which earlier word the prediction leans on. The warnings are real; how far ahead they fire varies a great deal.

In plain English

What we asked. Our early-warning probe went off at the very first step on easy versions of a task, before the model had learned anything. To find out why, we trained models on pure noise, so they could learn nothing, and measured what the probe could read from them.

What we found. On the easiest task, a model that had learned nothing already let the probe read the right answer almost 80% of the time, far above the alarm line of 50%. On the hardest, under 20%. When we set each task's alarm just above its own floor, the false warnings disappeared everywhere, although the size of the real warning still varied from task to task.

Why it matters. The general lesson: before trusting any alarm that watches a model, check what it shows on a model that has learned nothing, and set the line above that.

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, twelve noise-trained runs of 900 steps with F2's probe, plus N17's committed curves. The design and kill test were committed (454858b) before any run.

Program v2 Bucket N, item N24. Decisive computation: analysis/probe_floor.py. Output: analysis/probe_floor.json. Reproduce with python analysis/probe_floor.py (about an hour and a quarter on a throttled laptop CPU); --reuse re-derives every endpoint from the saved curves, and was checked to print the identical summary.

The question

N17 found the decode probe's lead at F2's 0.5 level ranges 14.9-49.2 steps across four difficulty columns, and on the two easiest it crosses at steps 1-4, before any learning. L5 had measured why on F2's column: a model trained on noise still reads at 0.29. N24 measures that floor on every column and sets the alarm above it.

What a model that learned nothing already shows depends hugely on the task
What a model that learned nothing already shows depends hugely on the task. Four versions of a copying task, easiest first. Each bar is how well a probe can read the correct answer out of a model trained only on noise, which has learned nothing. Our early-warning alarm used to go off at 0.5 on every task. On the two easiest tasks a model that learned nothing already passes the old 0.5 line, so the alarm went off at once. Set just above each task's own floor, the alarm stops false warnings everywhere, but the warning it gives still differs by task.

On each column, three seeds of L5's noise-trained construction run through F2's own loop: the floor is the mean over seeds of the probe's highest accuracy on a model that cannot learn. The column's level is the floor plus 0.1, and the lead is re-measured on N17's committed curves at that level.

Kill test, fixed before execution: with per-column levels, some pair of columns' lead intervals still fails to overlap -- so calibrating the floor does not make the lead a portable number.

Anchor, in code: the first noise-trained seed on lag4-v32 reproduces L5's committed curve exactly. It does.

Result: the kill test fires

ColumnFloor (noise-trained)LevelLead at the levelLead as share of the model's timeProbe crossings before step 10
lag2-v320.7910.891+34.4 [+27.1, +41.6]47%0
lag4-v80.5320.632+25.1 [+23.4, +26.8]67%0
lag4-v32 (F2)0.2850.385+41.7 [+36.6, +46.8]60%0
lag6-v320.1880.288+31.1 [+26.1, +36.0]40%0
  • The floor is enormous on easy tasks. A model trained on pure noise lets the probe read the true answer at 79% on lag2-v32 and 53% on lag4-v8 -- above F2's alarm level of 0.5 -- which is exactly why N17 saw the probe fire at step 1. On F2's own task it is 29%, and on the hardest 19%.
  • Setting the alarm above the floor removes the false early warnings: no probe crosses before step 10 on any column.
  • But the leads still differ: lag4-v8's [+23.4, +26.8] and lag4-v32's [+36.6, +46.8] do not overlap, so the kill test fires. Calibration makes the probe honest on every task; it does not make its warning the same size.

What stands

  • Kill test fires. With levels set from a noise-trained floor, the lead is 25-42 steps and still task-dependent.
  • A probe's alarm level must be set above what a model that has learned nothing already shows, and that floor ranges from 0.19 to 0.79 across four versions of one task. Set that way, the probe gives a real warning on every task tested.
  • Quote a lead with its task and its level, never as one number. F2's 23.5 is a lag4-v32, 0.5 fact; at lag4-v32's calibrated level (0.385) the same runs give 41.7.

Limits

  • Three noise-trained seeds per column; the margin (0.1) is a choice fixed in advance.
  • Width 48 and one task family; the floor is a property of the architecture as well as the task.

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.
architecture
The blueprint of a model: what components it has and how they connect. Two models can be the same size and completely different architectures.
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.
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.
probe
A small separate model trained to read information out of a bigger model's internals, used as a measuring instrument rather than as a product.
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.