Routing heads step 3: train the multi-head model on the warm-started body #202

Closed
claude wants to merge 13 commits from task/661-routing-heads-step-3-train-the-multi-hea into task/660-router-prompt-destination
Showing only changes of commit ed1730431c - Show all commits
+12 -3
View File
@@ -258,9 +258,18 @@ Recall is 15/15 and world is 5/5. Intent is 93.6% mean over three seeds. That is
clarify class, so the head's fixture is the 88 cases carrying an intent.
**Mood is cut, not deferred.** The enum describes her own reply state, not the
speaker's emotion, and no dataset maps onto it. **BIO slot tags have no
Maven-domain corpus**, so they stay in the MASSIVE body from step 2. Both are
label problems and neither is a GPU problem: the run is under four minutes.
speaker's emotion, and no dataset maps onto it.
**A third head landed the same day** (`docs/evals/2026-08-08-slot-head-three-head.md`).
BIO slot tags had no Maven-domain corpus, which was true of found corpora and
false of made ones. `label_slots.py` distils spans out of gemma-4-12b under a
GBNF closed over Maven's own five slots. A span survives only when it is a
literal substring of the utterance, so the agreement filter costs no second
call. 2178 spans over 1702 rows, 37 dropped, nothing unparsed. Three heads score
intent **92.8%**, destination **82.8%** and slot span F1 **72.4%** over three
seeds. The slot head is free: both other numbers move less than their own seed
spread. Epoch selection reads the intent dev slice alone. Slot F1 is still
climbing when it stops, which costs about 4 points.
The MASSIVE warm-start of step 2 is worth nothing here. Stock e5-small ties it on
intent and leads by a third of a case on destination. Nothing argues for keeping