Evaluation
Table with columns: Checkpoint, Mean binary reward, Scored completions, Truncated completions| Checkpoint | Mean binary reward | Scored completions | Truncated completions |
|---|
| Pinned base model, before environment training | 1.75% | 400 | 17 / 400 (4.25%) |
| SGD parent, update 100 | 12.50% | 400 | 105 / 400 (26.25%) |
| Final SGD expert, update 200 | 41.75% | 400 | 33 / 400 (8.25%) |
The final mean binary reward improved by 40.00 percentage points from this run's own baseline and 29.25 percentage points from its update-100 parent. Each evaluation uses 50 held-out tasks with eight fixed sampled completions per task, for 400 scored completions and zero unscored completions. This is the mean over all scored completions, not best-of-eight or pass-at-eight. Truncated responses remain in the denominator. The endpoint is the final checkpoint.
The native final aggregate records 33 truncated and 367 unknown raw outcome categories. Those category labels are preserved separately from the binary reward; a correctness count is not inferred from the reward mean. This publication does not claim a new raw-trace rescore.
The bank contains 400 training cases and 50 separate held-out validation cases. The validation bank was inspected during training, with scheduled evaluations every ten updates; there is no separate final confirmation set. Results establish held-out performance within this environment, not cross-environment transfer or broad reasoning improvement.
Training and generation settings
Table with columns: Setting, Value| Setting | Value |
|---|
| Training | Full-weight GRPO with SGD |
| Learning rate / schedule | 0.05, constant |
| Momentum / weight decay | 0.0 / 0.0 |
| Gradient norm clipping | 0.5 |
| Policy clip epsilon / upper epsilon | 0.2 / 0.28 |
| KL / entropy coefficients | 0.0 / 0.0 |
| Batch per optimizer update | 8 questions × 16 completions = 128 responses |
| Total consumed training completions | 25,600 |
| Precision | BF16 model training and sampling |
| Thinking | Enabled; reasoning_effort="medium" |
| Sampling | Temperature 1.0, top-p 0.95, top-k 20 |
| Maximum generated tokens / context | 16384 / 32768 |
| Checkpoint / validation interval | Every 10 optimizer updates |
| Async consumption | Ordered batches; maximum completed-update lag of 1 |
Training resumed from the parent's complete iteration-99 state, restoring model, SGD optimizer/FP32 masters, scheduler, RNG and async data cursor. The continuation added 100 updates and 12,800 consumed completions. An earlier startup attempt failed before native training and contributed no updates. The final inference snapshot is step_199; the resumable iteration-199 full state remains in the platform archive.
For comparable generation, use the supplied tokenizer and chat template with the settings above. This checkpoint contains the trained language tensors and preserves the source conditional-generation configuration. For text inference, use the pinned SGLang runtime with --json-model-override-args '{"language_model_only":true}' as an inference-time override. This is a supported publication loading path, not a claim that this flag was enabled in the historical training run. Vision and video were not trained or evaluated. Runtime versions and the text-loading override are documented in the provenance file.
Comparison with the Adam expert
The Adam Figlet expert also completed 200 optimizer updates. Adam used eight completions per training prompt and consumed 12,800 training completions; this SGD run used sixteen and consumed 25,600. Equal update counts therefore do not establish an optimizer-only comparison. Both runs' own baselines and final endpoints must be retained when interpreting the curves.
Intended use and limitations
This is a specialized research checkpoint for the frozen text task and generation contract. Broader transfer, multimodal behavior, production safety and retention of unrelated base-model capabilities have not been established. Inference weights and assets are provided here; optimizer state remains archived separately.
License
Apache-2.0, following the pinned base model. See LICENSE.
Training and validation curves
Both experts below completed 200 optimizer updates. Adam used K=8 and 12,800 consumed training completions; SGD used K=16 and 25,600. Matching update counts does not isolate the optimizer's effect.
Training plots retain all 200 recorded raw-reward points on the original rollout/step axis 0–199, corresponding to the batches consumed by updates 1–200. The displayed running average uses a window of 10 with the original series visible and full-fidelity data. Validation is unsmoothed and includes the baseline plus every ten completed updates through 200; the final points come from verified native evaluation receipts where the original scalar histories omit them. The images show W&B-rendered plots of the recorded data; no training, evaluation or rescore was performed to produce them.
Adam training and validation
Adam final-200 weights


SGD training and validation
SGD final-200 weights


Adam and SGD comparison


Chart provenance, raw values and settings. Raw outcome categories are retained separately from mean binary rewards; these images do not imply a new correctness-count reconstruction.