Mova0.5 pre-release⌕
☰
home / docs / tools / cycle — the SLM teaching cycle

cycle — the SLM teaching cycle

In each round, the SLM parses new school sentences, Haiku corrects the parse, the open parsers and treeagree check the correction, and the next SLM learns from the result. The teacher never sees a bare sentence: it always gets the SLM's parse with it, and the loop goes round.

cargo build --release
cycle run 2 10      # rounds 2..10, stops when the pool is used up
cycle round 4       # one round; steps already done are skipped (a broken round resumes)
cycle report        # cycle.tsv

The GPU draft (2026-10-15)

CYCLE_GPARSE_MODEL=<gparse model dir> makes the GPU parser re-parse the perceptron draft before the open parsers and treeagree. The tags, heads and relations come from gparse. LEMMA and FEATS stay where the tags did not change and are refilled from the agreed school where they did (GP_LEX).

Measured on round 6 (2 088 sentences). The referee is the 50 104 words where Stanza and Trankit give the same head and relation.

draftheadhead + relation
en perceptron92.0489.08
gparse (agreed school)95.9195.02
treeagree over the perceptron draft (rounds 4–7)95.4095.28
treeagree over the gparse draft97.5697.50
Haiku's final trees96.2495.87

Caveat: treeagree votes with Stanza and Trankit, so part of its lead is agreement with the referee itself.

Fast learning (subsets, no full convergence)

Pools

Two flows

One round (post)

  1. Drafts. annot batch-prepare retrains the SLM (en) on the base data (EWT, ESLSpok, the agreed school) plus everything the cycle has agreed so far. It then drafts N random pool sentences that are not yet in the cycle corpus.
  2. Haiku. annot batch-run sends the drafts as patch requests through Message Batches (50% of the API price; 8 sentences per request; the fixed prompt is cached). annot batch-apply applies the patches, runs the UD gates and appends to school-cycle.conllu.
  3. Witnesses. Stanza, Trankit and spaCy trf parse the round's trees on the GPU.
  4. Agreement. treeagree agree produces the agreed trees and appends them to school-cycle-agreed.conllu, the corpus the next SLM trains on.
  5. Row in cycle.tsv:
    • how much of the SLM draft Haiku kept (UAS/LAS). This is the number that should rise as the SLM learns;
    • how much treeagree still changed after Haiku;
    • the cost.

The defaults (cycle-2026-10-15, pool new.tsv: primary-school sentences that are not in the silver). Override them with CYCLE_ROOT, CYCLE_POOL, CYCLE_N, CYCLE_SEED, CYCLE_BASE, CYCLE_CORPUS and CYCLE_AGREED.

Why the draft goes in: the anchoring check (round 1, 2026-10-15)

annot batch-blind sends the same sentences again with no draft, so Haiku annotates them from scratch. The table covers 159 sentences that passed both runs. "Agrees with Stanza ∩ Trankit" means the share of words where Stanza and Trankit agree with each other and the tree takes the same head.

keeps the SLM draft (UAS / LAS)agrees with Stanza ∩ Trankitrefused by the gates
Haiku from scratch73.7 / 67.586.7%34
Haiku with the SLM draft96.1 / 93.792.4%12
after treeagree94.0 / 90.495.6%—

The draft does anchor Haiku. Without it, though, Haiku is worse by the open parsers' vote, refuses more gates and costs 2.2× more per sentence. So the draft stays, and treeagree after Haiku is mandatory.

The same comparison with an SLM trained on EWT only (2026-10-11): Haiku kept its draft at UAS 88.3 / LAS 84.0. The current SLM, trained on the agreed school, is kept at 96.3 / 94.1.

What it gives the SLM student (2026-10-15)

world knowledge course runs the student (PragStudent, reading through frames over the en tree) through all 25 primary courses: 26 992 test questions, four options each. The test questions are never in the parsers' training data (only explain: and fact: lines are). Only the parser model (WORLD_EN_MODEL) changes. Runs are deterministic: repeated runs are byte-identical. Logs are in mmm-school-2026-10-15.

parser the student reads withtests rightquestions understoodright among understoodformal-language exam
EWT + ESLSpok only39.8%56.3%50.5%37.3%
+ agreed school (en-agreed.bin)43.3%62.8%53.5%39.7%
+ parse database after the Haiku rounds (en-db.bin)43.4%62.9%53.6%39.7%

That is +935 questions. The biggest gains are in chemistry (+10.2), physics (+8.9), myths (+7.7) and biology (+5.6 on 4 581 questions). Only english (−1.1) and euphemisms (−0.2) drop, where the questions are about words themselves. The Haiku rounds add nothing on top of the agreed school yet: they were mostly recheck rounds over sentences the parser already had.

Licence

Elamur Cosmic License (Elamur Cosmic License). Third-party data keeps its own terms, as noted where it is used.

This page in Markdown → https://md.mova.elamur.ai/free/en/docs/tools/cycle/