Loading…
gathering yarn balls…
Cat Game Research
Frontier
Dev-log transmissions from the expedition

Recursive Self-Improvement: When a GRU Trains Its Own Successor

A small GRU character-level language model can generate training data for the next iteration of itself, graded by a frozen teacher checkpoint — a recursive self-improvement loop that avoids model collapse through continuous output distributions and curriculum-anchored grading.

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:

1. Continuous Output Distribution
At every timestep, the GRU outputs a full probability distribution over the vocabulary (softmax over 101 tokens in our setup). This is a continuous signal — not just a single argmax token. When the model generates training data for its successor, the distribution itself carries richer information than the sampled token. A teacher can grade not just "was the right token produced" but "how confident was the model, and where was its probability mass concentrated?" This per-timestep distribution is the raw material for distillation.
2. Constant-Size Hidden State
A transformer's KV cache grows linearly with sequence length — each new prediction requires more memory and compute. A GRU's hidden state is a fixed-size vector (2048 floats in our run 1 config). The time complexity of each prediction is O(1) — constant regardless of context length. This means a GRU can generate arbitrarily long training sequences without memory blowup — critical when the model is generating its own curriculum and sequence lengths are unbounded.
3. Stateful BPTT and Curriculum Continuity
Our GRU uses stateful backpropagation-through-time (BPTT): the hidden state carries across batch boundaries in sequential order. When training on a flat-stream curriculum (all corpus tokens concatenated and sliced into fixed windows), the model learns in order — window 0 flows into window 1 flows into window 2. This sequential structure mirrors the recursive improvement loop: each checkpoint's knowledge is a continuous trajectory, not a random sample.

The Architecture: Three Models in a Loop

The recursive self-improvement system has three roles:

Student — the active pretrain model
→
Generator — student checkpoint, frozen, produces training data
→
Teacher — older checkpoint, frozen, grades and scores
↻
Student — updated with graded data
Studentactive pretrainGeneratorfrozen checkpointTeacherfrozen, gradescheckpointgeneratesgradesnext iter
The recursive self-improvement loop: Student checkpoints become Generators; an older checkpoint serves as Teacher.

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:

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.

60%
TTR Drop by Gen 5
2x
Repetition Rate Increase
Gen 5
Convergent Collapse

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 Collapse Problem
Shumailov et al. (Nature, 2024) proved that models trained on recursively generated data suffer irreversible defects — tails of the original distribution disappear. The iterative-llm-distillation project confirmed this empirically: by generation 5, vocabulary diversity drops 60%, repetition doubles, and both GPT-4o and Claude lineages converge to the same broken state.

The recursive GRU loop avoids collapse through three asymmetries:

Implementation: What We Have Today

Our Cat Chat GPU trainer already has the infrastructure for this loop:

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

Phase 1: Pretrain student to convergence (E1–E5, done)
→
Phase 2: Freeze E3 as teacher, generate from E5
→
Phase 3: Grade generations, build filtered dataset
→
Phase 4: Train E6 on mixed real + graded synthetic
↻
Phase 5: Rotate teacher to E5, generate from E6, repeat

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.

Caveats and Limitations
  • 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.
Distillation Farming →
← All transmissions