Research record 29 of 39

The Experiment We Could Not Run

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. More about this programme.

In plain English

What we asked. Our main finding is that a particular thing happens inside one family of model designs and not others. But every experiment we have run also used the same kind of training task, so we cannot actually tell whether the finding is about how the models are built or about what they were trained to do. This was the attempt to separate those.

What we found. It did not work, and the write-up is about why. The comparison needed a second kind of training task that shows the same sudden jump in ability, and we could not build one. Two of our attempts failed for reasons that were our own fault, and we found both. In the end the model we built already knew the thing we were testing for before training began, so there was no moment of learning to measure.

Why it matters. We are publishing it because the alternative was worse. The failed comparison did produce a number, and that number would have read as though it supported our original claim. It was not evidence about the claim; it was evidence that the task was badly designed. The open question stays open, and is now stated more precisely than before, which is the only thing this bought.

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.
  • Negative results are kept. Roughly half of what is published here says an idea did not work, including several of our own. Those pages are not failures, they are the output. 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, no GPU, no cost. This record reports an experiment that could not be run, and why. No claim is made about architecture or objective.

Program v2 Bucket H, item H7. Decisive computation: analysis/objective_transfer.py. Reproduce with python analysis/objective_transfer.py; the self-supervised arm exits on its own screening rule.

The question, which remains open

E3 concluded the expansion belongs to gated recurrence: nine of nine gated cells clear the materiality floor, zero of three non-gated cells do. That is a claim about architecture.

One task has a moment of learning. The other never does
One task has a moment of learning. The other never does. Our results are all about a moment when a model abruptly gets much better at a task. To find out whether that depends on how the model is built or on what it is trained to do, we needed a second kind of task that also shows such a moment. The blue line is our usual task and the pink line is the new one we built. Both are rescaled onto the same axis because they measure different things, so only shape matters here. The blue line sits flat and then jumps, which is the event everything in this project is about. The pink line rises smoothly and finishes early, with no moment to point at. There is nothing to compare, so the experiment could not answer its question. Worse, the pink model already knew most of what we were testing for before training began. We are publishing the attempt because the failed comparison still produced a number, and that number would have read as support for our original claim when it was really evidence that the new task was badly designed.

But architecture and objective have never been varied independently in this programme. Every run optimises discrete next-token cross-entropy on a delayed-copy sequence, so "it is gated recurrence" and "it is supervised sequence prediction on a discrete vocabulary" fit the evidence equally well.

H7 was to hold the architecture fixed and change the objective: the same GRU trained as a world model on a trajectory, predicting its next observation rather than a next token.

The positive control works

ArmTransitionExpansionMaterial
supervised (delayed-copy)~284+0.2010 [+0.1867, +0.2154]yes

The supervised arm reproduces the programme's standard result comfortably, so the harness is sound and any failure below belongs to the self-supervised arm.

Two design errors, and what each taught

First: the observation contained the answer. The world gave the model [position, 1 - position] while the docstring claimed "position is never observed". The first channel is the position, correlation exactly 1.0. The probe that was supposed to time learning started saturated at R2 = 1.0 with nothing to rise from.

Fixed by making the sensor distance to the nearest wall, which is symmetric: positions 0.2 and 0.8 read identically, so only movement history disambiguates them. Verified, correlation with position fell to -0.099, and a linear probe on a single observation recovers position at R2 = 0.010.

Second: the task was solvable by copying. With a small step size the next observation is nearly the current one, so mean-squared error is minimised by echoing the input:

Held-out prediction loss
trivial "predict no change"0.003740
the trained model, 400 steps0.003736

The model learned nothing at all, and the arm was reporting that faithfully. Raising the step size to 0.25 makes copying a poor strategy: the trained model now beats the trivial baseline by 23%, and the script reports that baseline on every run so a degenerate task cannot pass as a result again.

Why it is still not answerable

With both errors fixed, the arm still has no transition to measure:

StepProbe R2 for positionPrediction loss
1+0.76991.5166
50+0.74020.0234
250+0.74510.0232
500+0.77040.0229

Two things are visible and both block the comparison.

The probe starts at R2 = 0.77 in an untrained network. A randomly initialised GRU already integrates enough motion history to locate the agent, the reservoir effect that F3 measured directly. There is no rise from ignorance to knowledge to time, because the knowledge is there at initialisation.

The prediction loss converges smoothly and almost immediately, essentially flat from step 50 of

  1. It is a gradual fit, not a phase transition.

So the self-supervised arm has no learning event, and **an experiment comparing the expansion at the transition cannot run without one.**

Verdict

H7 is attempted, not answered. The kill test never becomes applicable, because the arm it needed does not exhibit the phenomenon's precondition.

Nothing follows about E3. The confound H7 was written to remove is still there: architecture and objective remain perfectly correlated across every result in this programme, and E3's architectural claim is still untested against a change of objective.

What is learned is narrower and worth recording:

  • A randomly initialised GRU already solves this world's state-estimation problem (R2 = 0.77), which is F3's reservoir result appearing in a second place and for free.
  • A world model on a simple continuous trajectory converges smoothly rather than transitioning. One task is not evidence about self-supervised objectives in general, but it does mean the obvious cheap design does not supply the comparison.

What a future attempt needs

The requirement is now explicit, which it was not before: the alternative-objective task must exhibit an abrupt learning event of its own, and its probe target must be unavailable at initialisation. Concretely:

  • A world whose state-estimation problem a random network cannot already solve: longer horizons, partial observability that compounds, or a target that requires composing several observations.
  • Or a different objective family entirely: contrastive, masked reconstruction, or the reinforcement-learning setting in H8, where game-learning supplies agents that train from scratch.

Both are more than a CPU-budget afternoon, and the second is already on the backlog.

Limits

  • One self-supervised task, one width, one architecture, two screening seeds.
  • The negative here is about this world, not about self-supervised learning. A smooth convergence on a trivially-learnable trajectory is weak evidence about anything else.
  • The supervised arm is unchanged from the programme's standard and is reported only as a control.

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.

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.
baseline
The thing you compare against. A result without one is not a result.
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.
cross-entropy
The standard score a language model is trained to reduce. Lower means the model assigned more probability to what actually came next.
gated
A design where the model has explicit internal switches deciding what to remember and what to discard at each step. GRUs and LSTMs are gated; plain recurrent networks are not.
GRU
Gated Recurrent Unit. A compact design for processing sequences one item at a time, with internal switches controlling what it keeps in memory.
held-out
Data the model was never trained on, kept back specifically to test it. Scoring a model on data it has already seen measures memorisation, not learning.
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.
linear probe
A deliberately simple readout attached to a model's internals to test what information is present in them. Kept simple on purpose: if something complicated can extract the answer, the complicated thing may be doing the work itself.
phase transition
A point in training where a model's performance jumps abruptly from bad to good, rather than improving gradually. Most of this programme is about what happens at that moment.
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.
vocabulary
The set of distinct symbols a model can read and produce.
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.