The Loop Nobody Has Built Yet
AlphaGo Zero taught itself to play Go by playing against its own successive checkpoints — each iteration became the teacher for the next. That was 2017. The idea was simple: a model trains, generates data from its improved policy, and that data trains the next version of itself. No human labels. No external judge. Just the model, its own output, and a loop.
Modern LLM research has rediscovered this loop under names like recursive self-improvement, self-play distillation, and on-policy distillation. RISE (2026) constructs a synthetic teacher by extrapolating the displacement between a current checkpoint and a trailing anchor in parameter space, converting sparse outcome rewards into dense token-level targets. SOAR (2026) uses a teacher copy of the model to propose synthetic problems for a student copy, rewarded by measured student improvement on hard problems. SPIRAL (2025) trains models by playing zero-sum games against continuously improving versions of themselves, generating an automatic curriculum of stronger opponents.
But these systems all use transformers — large, discrete-token, attention-based models with enormous parameter counts. What if the architecture itself matters? What if a smaller, continuous-output model is better suited for the recursive loop?
Why GRU RNNs Excel at This
A GRU (Gated Recurrent Unit) character-level language model has three properties that make it uniquely suited for recursive self-improvement:
The Architecture: Three Models in a Loop
The recursive self-improvement system has three roles:
How the Teacher Keeps the Student on Track
The hardest problem in unsupervised self-improvement is: how does the teacher know what "better" means without a human defining it? The research literature identifies several mechanisms:
- Distributional distance — The teacher compares the student's output distribution to its own at each timestep. If the student's per-token softmax diverges too far from the teacher's, the sample is flagged. This is the on-policy distillation approach from RISE: the teacher's logit distribution is the dense target, not just the argmax token.
- Curriculum-anchored grading — The teacher was trained on the same curriculum as the student. It "knows" what the next 20k sequences look like because it already saw them. The teacher can grade student generations by checking: "does this output match the distribution I learned from this region of the curriculum?" This is the implicit curriculum from progressive distillation — intermediate checkpoints encode an easy-to-hard ordering that the final converged model loses.
- Perplexity gating — The teacher computes its own perplexity on student-generated text. If the teacher's perplexity on student output is lower than the teacher's perplexity on its own training data, the student has found something the teacher finds more natural — a genuine improvement. If perplexity is higher, the student has drifted. This is the self-verification approach from Self-Verified Distillation (2026): the model's validator view provides a higher-precision filter than its generator view.
- Capability-selective filtering — The teacher extracts a low-rank "capability subspace" from its own gradients on a calibration set, then projects student generations into that subspace. Generations that align with the capability subspace are kept; those that fall outside it are filtered. This prevents the student from reinforcing capabilities the teacher already considers mastered while preserving novel directions.
The key insight: the teacher doesn't need to be smarter than the student. It needs to be different — frozen at an earlier point in the training trajectory, with a different internal representation. The gap between teacher and student is the signal. RISE formalizes this as extrapolation: the teacher is constructed by extrapolating the displacement between the current checkpoint and a trailing anchor, projecting beyond the student's current state along its own training direction.
Why Continuous Output Matters for Training the Next Model
A transformer LLM generates discrete tokens. When you train a new model on those tokens, you lose the distributional information — you only see the argmax, not the full softmax. This is why iterative self-distillation in transformers suffers from model collapse: each generation loses distributional detail, vocabulary diversity collapses, repetition climbs, and by generation 5 both GPT-4o and Claude lineages converge to the same degraded state.
A GRU character-level model with a 101-token vocabulary outputs a full distribution at every character position. When you save the checkpoint and use it to generate training data, you can save the distribution, not just the sampled token. The next model trains on soft targets — the teacher's per-character probability vector — not hard one-hot tokens. This is knowledge distillation in the classic Hinton sense, but applied recursively: each generation of the model distills its full distributional knowledge into the next.
This is why the continuous output is critical: it preserves the uncertainty of the model. A teacher that is 60% confident the next character is "e" and 30% confident it's "a" transmits both the answer and its confidence. A discrete-token teacher only transmits "e" — the uncertainty is lost. Over many generations, that lost uncertainty accumulates into collapse.
The Flat-Stream Curriculum as Improvement Substrate
Our pretraining pipeline uses a flat-stream approach: the entire 4.3 GB corpus is concatenated into a single token stream (with BOS/EOS delimiters per record) and sliced into fixed 256-token or 1024-token windows. No records are trimmed or dropped — a record longer than the window size spans multiple windows; a shorter one is packed with neighbors. The windows are fed to the model in sequential order with preserve_record_order = true, so the hidden state carries continuously across the entire curriculum.
This matters for recursive self-improvement because it gives the teacher a spatial map of the curriculum. The teacher was trained on windows [0, 20k), then [20k, 40k), then [40k, 60k) — each epoch advanced through the corpus. The teacher knows which regions of the curriculum are "easy" (low loss early in training) and which are "hard" (high loss later). When the student generates text, the teacher can place that text in the curriculum: "this generation resembles the distribution at sequence offset 35,000 — that's a region where I had 1.4 loss. The student is at 1.6 loss there. The student is behind." This spatial grounding is something transformer self-play lacks — transformers shuffle their training data, losing the temporal curriculum structure.
Avoiding Model Collapse: The Asymmetric Loop
The recursive GRU loop avoids collapse through three asymmetries:
- Real data anchoring — The student never trains on only generated data. Each epoch mixes generated data with real corpus windows. The Kazdan (2025) experiments confirmed that accumulating synthetic data alongside real data prevents collapse even as the proportion of real data approaches zero. Our flat-stream curriculum provides the real anchor: the 4.3 GB corpus is always available as the ground truth.
- Teacher-student gap — The teacher is frozen at an older checkpoint, not the same checkpoint as the generator. The teacher has a different internal representation — it saw less data, has different weights, produces different distributions. This asymmetry means the teacher can detect drift the generator cannot see in itself. SOAR calls this "grounded rewards" — the teacher's reward is based on measured student improvement, not intrinsic proxy rewards.
- Distributional targets, not token targets — Because the GRU outputs continuous distributions, the student trains on soft targets (the teacher's per-character probability vector), not hard one-hot tokens. This preserves distributional detail across generations and prevents the mode collapse that plagues discrete-token self-distillation.
Implementation: What We Have Today
Our Cat Chat GPU trainer already has the infrastructure for this loop:
- Checkpoint rotation — Epoch checkpoints (
_e1.binthrough_e5.bin) are saved and can be loaded as frozen teacher models. The trainer supports--resumefrom any checkpoint. - Curriculum windows —
seq_offsetadvances through the corpus in 20k-sequence windows. The teacher was trained on [0, 100k); the student starts at [100k, 120k) — the teacher has seen the student's current region. - Per-timestep logits — The GPU trainer caches per-timestep logits and probability distributions during forward pass. These are the soft targets for distillation.
- Flat-stream packing — The streaming shard builder concatenates all records into a flat token stream and slices fixed windows, preserving order. Generated data from the student can be injected into this stream as additional windows.
- Gradient checkpointing — The trainer supports segment-wise recomputation (V3a A18), enabling long-sequence training within GPU memory limits.
What's missing is the grading loop: a harness that loads a frozen teacher checkpoint, runs the student's generated text through both models, compares per-timestep distributions, and produces a filtered and weighted training set. This is the next implementation step.
The Roadmap
Each cycle, the teacher advances one epoch behind the student. The student always trains on a mix of real corpus data and graded synthetic data from its own recent checkpoint. The teacher always grades against its own older — but different — representation. The loop continues until the student-teacher gap converges: when the teacher can no longer distinguish student generations from its own training distribution, the model has reached the frontier of what self-play can teach it.
That frontier is not a wall. It's the point where the model needs new real data — new human conversations, new text, new knowledge — to continue improving. The recursive loop doesn't replace human data. It amplifies it: each real token in the corpus contributes to multiple generations of model improvement through the distillation loop, extracting more learning per token than single-pass training ever could.
- Verified from source: RISE (arXiv 2609.05295) constructs a synthetic teacher by extrapolating checkpoint displacement in parameter or logit space. SOAR (arXiv 2601.18778) uses asymmetric teacher-student meta-RL with grounded rewards. SPIRAL (arXiv 2506.24119) trains via zero-sum self-play. SCOPE (arXiv 2605.31433) uses a frozen self-judge that writes task-specific rubrics to grade open-ended responses without external labels. SPELL (arXiv 2509.23863) integrates questioner, responder, and verifier roles in a single model for label-free long-context training. Self-Verified Distillation (arXiv 2605.26132) uses multi-stage self-verification where the model's validator view filters its own generator output. Model collapse in iterative self-distillation is documented in Shumailov et al. (Nature, 2024) and the iterative-llm-distillation project. Progressive distillation's implicit curriculum is from arXiv 2410.05464. AlphaGo Zero self-play is from Silver et al. (Nature, 2017). GRU-LSTM comparison is from Chung et al. (arXiv 1412.3555). RNN constant-time inference advantage over transformer KV cache is documented in the nnx-gru project.
- Interpretation / argument: The claim that GRU RNNs are better suited for recursive self-improvement than transformers is this post's thesis, not a proven result. The continuous-output advantage is architecturally motivated — no published experiment directly compares GRU vs transformer self-distillation loops. The curriculum-anchored grading mechanism is a proposed design, not an implemented system. The three-phase loop (Student → Generator → Teacher) is our proposed architecture; it has not been validated experimentally.
- Roadmap status: Phase 1 (pretrain to E5) is complete. Phases 2–5 are roadmap, not implemented. The grading harness, frozen-teacher inference, and mixed real-synthetic training pipeline do not yet exist in the codebase. The per-timestep logit caching and flat-stream packing infrastructure do exist and are described accurately.
- Model collapse mitigation: The claim that continuous distributional targets prevent collapse is theoretically motivated by the difference between soft-label and hard-label distillation. The Kazdan (2025) result on accumulating synthetic data alongside real data is about proportion management, not distributional targets specifically. Our three-asymmetry argument (real anchoring, teacher-student gap, distributional targets) is a design hypothesis, not a proven collapse-prevention guarantee.
- Curriculum spatial map: The claim that the teacher can "place student generations in the curriculum" by comparing distributions is a proposed mechanism. No existing system implements this. The progressive distillation implicit curriculum (arXiv 2410.05464) was demonstrated on sparse parity and PCFGs, not on character-level RNN language models.
