The study Can a System One model become its own teacher? (pre-registered plan, round 1)

Can a System One model become its own teacher? (pre-registered plan, round 1)

Rendered from layatown/docs/SELF-IMPROVE.md in the project repository, 22 September 2026, word for word. Laya is an open model by Convai Innovations (Apache-2.0); Jev is TypeSafe's model. Not affiliated with either. Cited result files are listed in the study.

Written and committed on 23 September 2026, before any round-1 label is generated or any student is trained. Changes after this commit are dated amendments at the end; the text above them stays as first written.

Question

Layatown v1 was taught by Jev (TypeSafe's paid model). Can it improve without Jev, from signals that do not come from Jev, and without getting worse at what it already does? Round 1 tests the cheapest such signal: self-consistency distillation. The teacher is v1 itself asked several equivalent ways; the student is v1 fine-tuned to give, from one view, the answer the views agree on.

Why it could work

Level D of the Layatown study measured that v1 is far more consistent than Jev under option reordering (top choice changes 1% against 14%) but not perfectly (mean TVD 0.015 across option orders, 0.053 across state-key orders). Averaging equivalent views cancels view-specific quirks; distilling the average into one view should make the model more consistent and possibly more rule-following, at no loss of fidelity. It could also fail: averaging can blur sharp, correct answers, and training on its own outputs can amplify its own biases (a model can become confidently wrong).

Systems

idwhat
v1Layatown v1, frozen (checkpoints/v1, SHA-256 27f210cb…)
v1-viewsv1 at inference with the same K views averaged (the teacher itself: K times the cost)
self-1v1 fine-tuned on the round-1 self-consistency labels

Data (no Jev labels anywhere in round 1)

Training

Fine-tune from v1 (not from base Laya), KL to the teacher target on a single random view per example, the same recipe as v1 (layatown/train.py), one epoch. To fit beside the live city's model server on the 12 GB GPU without stopping it, the lower encoder layers may be frozen; the frozen depth is recorded in an amendment before training. Temperatures are refitted on the validation split, as for v1.

Evaluation (identical suites to the Layatown study, same held-out data)

  1. Fidelity to Jev, held-out day (test_production, 238,779 decisions; sheets; jurors), tick-bootstrap 95% CIs.
  2. Level D suites (bench/beyond): D1 written-rule compliance (400 pairs), D2 option-order and state-key invariance (100 items x 4 orders), D3 human-labelled sets. Laya-only; no new Jev calls.
  3. Village runs: lab-siege-v2 baselines and one Survival v2 run, compared descriptively with v1.
  4. Cost: GPU time to label and to train; inference cost unchanged (one view).

Pre-registered criteria (self-1 against v1, paired where possible)

self-1 counts as an improvement only if all hold:

If S1 fails, round 1 is reported as a negative result. If S1 passes but S2 or S3 fails, it is reported as a trade-off, not an improvement, and self-1 is not deployed. Deployment to the live city needs all of S1-S3 and the owner's yes.

Threats to validity

Later rounds (not pre-registered here)

Round 2: rewards from lived outcomes in the simulation, weighted by each villager's personality. Round 3: players' choices, with consent. Each gets its own plan before it runs.

Amendments

A1, 2026-09-22 04:00 UTC: the state pool and the sample (written before any label was generated)

A2, 2026-09-22 05:25 UTC: labels, frozen depth and hyperparameters (written before training and before any evaluation)

A3, 2026-09-22 06:25 UTC: the trained checkpoint (written before any evaluation)

A4, 2026-09-22 08:35 UTC: outcome record (written after evaluation; changes nothing above)