context length, growth

Growing the Wrong Way

Seeding an eight-token model from fully trained four-token weights gave it no head start, and appending new context slots after the most-trained one is a structural cost that inserting them before the oldest one removes.

  • 4 min read
  • 7 sections
  • 1 table

Finding

Growing a four-token model that had plateaued to eight tokens of context gave no recovery in about 100,000 rounds, and growth by appending new position slots after the most-trained one demotes that slot on every grow, whereas inserting new slots before the oldest one keeps it in place.

Which slot reads what was just said

Every position slot has its own trained representation, and the slot at the end of the window means the token just before the one being predicted. Pick how many times the window has grown from four tokens. Appending puts a new untrained slot in that role every time; inserting before the oldest slot keeps the trained one there. The slot ages are counted in grows, not training rounds.

Position slots after 1 growsAfter 1 grow the window has 8 slots. Appending: the slot that reads what was just said is new and has not been trained at all since the last grow, and the most trained slots sit at positions 1 to 4. Inserting before the oldest: that slot is the original one and has been trained for 1 grow, and the most trained slots stay at the end.Append new slots after the last one (8 slots)last slot: new, age 0 growsInsert new slots before the oldest (8 slots)last slot: original, age 1 growsDarker slots are older. The outlined slot is the one just before the prediction. Window grows by doubling from 4 slots.
Data behind the diagram
The slot just before the prediction, by number of grows, when the window doubles from 4 slots. Ages are in grows.
GrowsSlotsAppending: age of the last slotAppending: positions of the original slotsInserting: age of the last slot
0401 to 40
1801 to 41
21601 to 42
33201 to 43
46401 to 44
512801 to 45
625601 to 46
751201 to 47
81,02401 to 48
Drawn from the numbers in this article: the tables below and the figures in its text. Nothing is measured on this page.

Setup

The starting point is the final trained weights of the four-token run described in the article The Four-Token Ceiling, whose top-guess margin had plateaued. A new model is seeded from those weights and its context is grown to eight tokens. The test is whether training a context fully at the smaller size makes the larger one easier to absorb.

The main metric is the same top-guess margin used at four tokens. Other measures are calibration, long-form generation sampled at dozens of checkpoints, and the specialisation of the weight bank that kept changing at four tokens.

Evidence: no payoff from a finished seed

No recovery appeared in the first 20,000 rounds after the grow, or in the next 70,000. The margin oscillated in a wide band for the whole period, past the point where the four-token run's own training life would have finished. Calibration got worse before it improved. Long-form generation stayed collapsed into repeat loops at every checkpoint pulled, dozens of them, spread over nearly 100,000 rounds.

One measure held: the weight bank that specialises at four tokens kept specialising, checkpoint after checkpoint, through the grow. It behaves as a general mechanism and not a context-specific one.

Measures after growing from four to eight tokens
MeasureOutcome
Top-guess marginOscillates in a wide band; no settled recovery in about 100,000 rounds
CalibrationWorse before better
Long-form generationRepeat-loop collapse at every checkpoint, dozens over nearly 100,000 rounds
Specialisation of the general weight bankKeeps rising through the grow

Evidence: the learning rate does not explain the stall

A learning-rate boost that the training engine gives a model after a context grow did not fire in this run, because the fork bypassed the normal path that triggers it. That does not explain the stall. The four-token model produced all of its own improvement at that same floor learning rate, so a starved rate would have stopped the four-token run as well, and it did not.

With the learning rate excluded, the premise is not supported: fully mining a small context before growing did not make the bigger context easier to absorb.

Evidence: growth is not the problem

The one measure that never stopped improving through the eight-token run was the general, non-position-specific structure. Content that is generic should not need a context size to be finished before it is worth having, and the record is consistent with that.

On that basis the schedule was changed from a context tier every 20,000 rounds to a context tier every 200 rounds, on the reasoning that cheap early token-level structure does not need relearning at each size. Comparable capability appeared at comparable round counts to the four-token run, as generic transfer predicts. These early results are not tabulated here.

Evidence: appending slots demotes the most important one

Every position slot in the context window has its own separately trained representation. The highest-indexed slot always means the token immediately before the one being predicted, the most load-bearing position. Growing by appending capacity past that slot demotes it to the middle of the window and puts a new untrained slot in the role that matters most.

This happens on every grow. Pacing the growth more slowly spreads the damage and does not remove it. After growth to a thousand tokens, the slot that reads what was just said has had less training than almost any other slot in the window. The cause is structural, not a training-procedure problem.

The alternative is to insert new capacity before the oldest slot and shift every existing position up. The slot meaning immediately before prediction keeps its trained values through any number of grows, and new capacity lands on context further in the past, where starting from zero is cheapest.

This is safe for a specific reason, checked against the code: the attention mechanism does not work on relative position. The model's sense of position lives in exactly one place, a lookup table added onto each token, so nothing else depends on slot order.

Newly built models use front insertion by default. Existing checkpoints are pinned to the old behaviour when loaded, so a trained model does not change under itself, and old and new can coexist.

What this means for a small model

Do not expect a model converged at a small context to absorb a larger one faster. Treat context growth as its own change and measure it.

Before blaming a stall on the learning rate, check whether a model that did improve ran at the same rate.

When a model will grow repeatedly, insert new position slots before the oldest slot and shift existing slots up. Appending demotes the most trained slot on every grow, however slowly the model grows.

Pin loaded checkpoints to the convention they were trained under, so a change of growth default does not alter a trained model.

Limits

The no-payoff result comes from one seeded run at one grow, from four to eight tokens. Whether a less-settled seed would have absorbed the grow better is a conjecture the run does not test.

The effect of front insertion on the long-form repeat collapse over many grows is unmeasured. A model trained from scratch under the new convention has run for a few hundred rounds. Its generation shows cleanly space-separated word-shaped chunks with the individual words misspelled, and its raw numbers match the old approach at the same age, which is expected because the cost accrues over many grows, not the first.

The faster growth schedule's results are reported in words only.