| # Teacher bake-off — Model G (solution generator) |
|
|
| Data-driven teacher selection. 40 NuminaMath-CoT problems, one solution each, |
| graded by boxed-answer equivalence (`scripts/teacher_bakeoff.py`). |
|
|
| scripts/teacher_bakeoff.py --models gpt-5.6-sol claude-opus-4-8 claude-sonnet-5 --n 40 |
| |
| | model | keep-rate | median tok | p90 tok | % over 2048 | sec/ex | |
| |---|---|---|---|---|---| |
| | **claude-opus-4-8** | **57%** | 155 | 703 | 0% | 6.7 | |
| | gpt-5.6-sol | 32% | 103 | 324 | 0% | 10.4 | |
| | claude-sonnet-5 | 12% | 224 | 691 | 0% | 9.9 | |
|
|
| **Winner: `claude-opus-4-8`** — highest keep-rate (most usable data per call), |
| fastest, and traces fit the 4096-token student ceiling with room to spare. |
|
|
| `claude-fable-5` was requested but **excluded**: 403 on both routes (AWS Bedrock |
| Marketplace access not granted on this gateway account). |
|
|
| **Caveats:** n=40 is noisy; absolute keep-rates are depressed by NuminaMath |
| difficulty + strict grading + format adherence, not just model capability — the |
| *relative* ranking is the signal. For the real G build, rejection sampling with |
| `--max-attempts > 1` lifts the effective keep-rate. |
|
|
| ## Teacher assignments |
| - **Model G** (solution generator): `claude-opus-4-8`. |
| - **Model V** (critique writer; label already known from PRM800K → easier job): |
| `claude-haiku-4-5` (cheaper) is sufficient; use `claude-opus-4-8` if budget allows. |
|
|