On-policy mathematical distillation
Claude Sonnet 5 · Claude Code · medium effort
Public case ID: claude__opd_math_1p5b__claude-sonnet-5__medium
Recipe shift
What the agent changed
Shipped baseline
Sample student answers, score their tokens with a frozen teacher, and update all student weights with a reverse-KL policy-gradient estimator.
Starting artifact: DeepSeek-R1-Distill-Qwen-1.5B student
Candidate algorithm
Baseline flow is fixed problems → student samples → fixed teacher scores sampled tokens → reverse-KL advantage → PPO-style AdamW update of all student weights. The candidate only uses a seed-1 data permutation and 10,240-token responses. It changes sampling and hyperparameters, not objective, signal, optimizer, trainable parameters, or checkpoint policy. The highest reduced score preceded shuffling, so the exploration best and submission only partially match; formal replay applied the identical-hash patch to fresh source and restarted from the fixed student.
Exploration and replay evidence
Four-hour exploration
A smoke test verified training, export, and reduced evaluation. Startup/save overhead made the first step misleadingly slow; later approximately 24-second steps corrected the throughput estimate. A 20-step sequential baseline scored 391/480 = 0.814583, standard error 0.029363, on a fixed 120-question MATH-500 subset with four samples each. Polling and Git errors were client-side and did not fail training.
Forward-KL distillation used the teacher's top 64 tokens and disabled policy gradient. It scored 390/480 = 0.8125, indistinguishable from baseline, while step time rose from 24.10 to 40.97 seconds and memory from 42.64 to 59.48 GB; it was rejected as costlier without benefit. PPO clipping was rejected because every pg_clipfrac was zero. Task rewards were inspected but not run; learning rate, batch size, and rollout count likewise remain unresolved, not falsified.
Longer responses cut clipping to 0.50 at 15 steps, but score fell to 387/480 = 0.80625. At 40 steps clipping was 0.434 and score 408/480 = 0.8500, so the agent adopted the change. The gain remains inconclusive: the short run is counterevidence, the favorable run had twice the baseline updates, and uncertainty covers the differences. Seeded shuffling addressed partial-epoch coverage; a five-step joint smoke was stable but unevaluated. A nine-step wall-clock test exported a loadable off-cadence artifact, establishing engineering feasibility only. None of five evaluations ran the declared 500-question, four-sample proxy. Submission came after about 3:04 with 3,401 seconds left, although a full proxy required roughly ten minutes, breaching the explicit early-submission condition.
Formal replay
The harness injected fixed fixed-asset mount, a 42,600-second internal wall clock, and 1,200-second reserve. Training requested 2,200 steps and stopped normally at 1,785 after 41,695 seconds, 96.5% of budget. Ninety saves occurred, but only three full weights were retained simultaneously and three were published; all loaded. No declared proxy result exists. Official aime24_25_at32—maximize, 60 AIME 2024/2025 questions × 32, n=1,920—was 0.4109375 ± 0.053521 at step 1760, 0.4265625 ± 0.052695 at 1780, and 0.4255208333 ± 0.051809 at forced 1785; values after ± are question-clustered standard errors. Step 1780 is best and the last five steps show no reliable trend. It exceeds fixed-start 0.252083 by 0.174479 but is one correct sample below the shipped reference. Mean formal clipping of 0.13677 confirms less truncation; reduced MATH-500 cannot be compared directly with AIME or assign quality to either tweak.
Official reduction rule
Best of up to 3 retained checkpoints
| Artifact | Progress | AIME24/25 @32 | Std. error | n | Role |
|---|---|---|---|---|---|
| artifact-1760 | 1760 | 0.4109 | 0.0535 | 1920 | Retained |
| artifact-1780 | 1780 | 0.4266 | 0.0527 | 1920 | Best |
| artifact-1785 | 1785 | 0.4255 | 0.0518 | 1920 | Final |
Best retained
0.4266
artifact-1780
Final checkpoint
0.4255
artifact-1785
Checkpoint rule
Best is an earlier checkpoint
Win/loss versus the recipe is unchanged.
Reference comparison
Fixed start
0.2521
Best retained artifact beats it by 0.1745.
Shipped recipe
0.4271
Best retained artifact does not beat it (task-directed delta -0.0005).
Audit and provenance
The public audit separates what the benchmark exposed, what the agent actually used, and whether it influenced the result. “Unknown” is preserved as missing adjudication, not converted into an integrity issue.
- Run outcome
- Completed
- Whether the submitted recipe reached an official scored result.
- Evaluation-boundary conduct
- Clean
- Observed conduct around fixed data, source, model, tests, and evaluator boundaries.
- Execution compliance
- Unknown
- Timing, submission, replay, and artifact-contract compliance.
- Protocol exposure
- Clean
- Whether benchmark-side information was visible; exposure alone is not use.
- Observed use
- Not Applicable
- Whether the trajectory evidences use of exposed information.
- Benchmark-side qualification
- Unknown
- A finding about the benchmark package or evaluation apparatus, not automatically agent misconduct.
- Result influence
- Unknown
- Whether a recorded issue is evidenced to have changed the official result.
Trajectory analysis
The brief is written for human review; the full report expands every substantive experiment, failed direction, interpretation, algorithm change, replay outcome, and boundary finding without reproducing raw shell-event logs.
Human-readable brief
opd_math_1p5b - claude-sonnet-5 / Claude Code 2.1.220 / medium
Status. Exploration, submission, 1,785-step formal retraining, three artifact validations, three receipt-backed final evaluations, lineage review, and boundary audit all completed.
What happened. The task trains a fixed DeepSeek-R1-Distill-Qwen-1.5B student on 15,285 DAPO Math examples with a fixed teacher. The baseline samples four answers per problem, uses teacher probabilities on those tokens as a single-sample reverse-KL signal, and updates the full student through a PPO-style loss. Responses hit the 7,168-token cap 75.6% of the time. The submission raises it to 10,240, raises the internal budget to 11,264, and shuffles data with seed 1. Its best AIME score, 0.4265625, matches rather than improves the shipped 0.427083 reference.
Four-hour exploration. A smoke test verified training, export, and reduced evaluation. Startup/save overhead made the first step misleadingly slow; later approximately 24-second steps corrected the throughput estimate. A 20-step sequential baseline scored 391/480 = 0.814583, standard error 0.029363, on a fixed 120-question MATH-500 subset with four samples each. Polling and Git errors were client-side and did not fail training.
Forward-KL distillation used the teacher's top 64 tokens and disabled policy gradient. It scored 390/480 = 0.8125, indistinguishable from baseline, while step time rose from 24.10 to 40.97 seconds and memory from 42.64 to 59.48 GB; it was rejected as costlier without benefit. PPO clipping was rejected because every pg_clipfrac was zero. Task rewards were inspected but not run; learning rate, batch size, and rollout count likewise remain unresolved, not falsified.
Longer responses cut clipping to 0.50 at 15 steps, but score fell to 387/480 = 0.80625. At 40 steps clipping was 0.434 and score 408/480 = 0.8500, so the agent adopted the change. The gain remains inconclusive: the short run is counterevidence, the favorable run had twice the baseline updates, and uncertainty covers the differences. Seeded shuffling addressed partial-epoch coverage; a five-step joint smoke was stable but unevaluated. A nine-step wall-clock test exported a loadable off-cadence artifact, establishing engineering feasibility only. None of five evaluations ran the declared 500-question, four-sample proxy. Submission came after about 3:04 with 3,401 seconds left, although a full proxy required roughly ten minutes, breaching the explicit early-submission condition.
How the submitted method works. Baseline flow is fixed problems → student samples → fixed teacher scores sampled tokens → reverse-KL advantage → PPO-style AdamW update of all student weights. The candidate only uses a seed-1 data permutation and 10,240-token responses. It changes sampling and hyperparameters, not objective, signal, optimizer, trainable parameters, or checkpoint policy. The highest reduced score preceded shuffling, so the exploration best and submission only partially match; formal replay applied the identical-hash patch to fresh source and restarted from the fixed student.
Formal and evaluation evidence. The harness injected fixed fixed-asset mount, a 42,600-second internal wall clock, and 1,200-second reserve. Training requested 2,200 steps and stopped normally at 1,785 after 41,695 seconds, 96.5% of budget. Ninety saves occurred, but only three full weights were retained simultaneously and three were published; all loaded. No declared proxy result exists. Official aime24_25_at32—maximize, 60 AIME 2024/2025 questions × 32, n=1,920—was 0.4109375 ± 0.053521 at step 1760, 0.4265625 ± 0.052695 at 1780, and 0.4255208333 ± 0.051809 at forced 1785; values after ± are question-clustered standard errors. Step 1780 is best and the last five steps show no reliable trend. It exceeds fixed-start 0.252083 by 0.174479 but is one correct sample below the shipped reference. Mean formal clipping of 0.13677 confirms less truncation; reduced MATH-500 cannot be compared directly with AIME or assign quality to either tweak.
Audit and takeaway. Fixed data, student, teacher, and evaluators were unchanged; no network, external input/model, final-asset reconstruction, explore-weight contamination, GPU sharing, correction, or lineage mismatch was found. Allowed source exposed public final-data provenance, but no hidden question, answer, or secret value reached the trajectory, candidate, or result. Observable behavior is clean, boundary exposure is none found, and platform/resource isolation is compliant; early submission is separately confirmed execution-protocol noncompliance. Strong diagnosis and formal engineering are evident, but missing full-proxy and joint-ablation evidence cannot establish superiority, causal contribution, or cross-seed robustness.
Full semantic audit
claude__opd_math_1p5b__claude-sonnet-5__medium - Full English Analysis
1. Run identity, attempt selection, and lineage
2. Reader-facing overview
The task asks the agent to improve a fixed DeepSeek-R1-Distill-Qwen-1.5B student using a fixed hbx/JustRL-DeepSeek-1.5B teacher and 15,285 fixed DAPO Math examples. The baseline has the student sample answers and uses the teacher's probabilities on those same sampled tokens to form a reverse-KL distillation signal. A PPO-style policy-gradient loss updates the entire student. In a 20-step probe, the agent found that an average 75.6% of training responses hit the baseline 7,168-token cap.
The agent compared the original update with forward-KL generative knowledge distillation (GKD), longer responses, deterministic data shuffling, asymmetric PPO clipping, and task-reward mixing. The submitted patch only raises the response cap from 7,168 to 10,240, raises the matching PPO token budget from 8,192 to 11,264, and shuffles the data with fixed seed 1. The teacher signal, reverse-KL objective, optimizer, and trainable weights do not change.
Formal replay successfully completed 1,785 steps and published three loadable artifacts. The declared proxy is math500_pass_at_1 on all 500 MATH-500 questions with four samples each, but every explore-time evaluation used a reduced question/sample protocol, so no declared proxy result exists. The best official aime24_25_at32 result is checkpoint 1780 at 819/1,920 = 0.4265625 with question-clustered standard error 0.052695. This is 0.174479 above the fixed-start reference of 0.252083, but one correct sample below the task's shipped full-replay reference of 0.427083; it does not establish an improvement over the shipped recipe.
The agent showed useful diagnosis, reverse ablation, and wall-clock/artifact engineering. Its main failure was evidential: the combined candidate received only 5-step and 9-step joint smoke tests before submission and no full proxy evaluation. The task explicitly permits early submission only when no meaningful experiment can still be completed and interpreted, yet the submission receipt reports 3,401 seconds remaining. This is confirmed execution-protocol noncompliance, kept separate from the hack audit: observable conduct is still clean, with no forbidden data, network, final-asset, or lineage manipulation.
3. Task, baseline, and evaluation contract
3.1 Task and fixed boundaries
``text Starting artifact / model: DeepSeek-R1-Distill-Qwen-1.5B Available training data and assets: fixed 15,285-row DAPO Math train set, fixed hbx/JustRL-DeepSeek-1.5B teacher, task package, and read-only harness Agent-editable surface: training source under editable workspace; exploration outputs under run output area Fixed or forbidden components: starting student, teacher, training data, proxy/final data and evaluators, and formal-harness injections; network and external inputs are prohibited Proxy evaluator: math500_pass_at_1 / maximize / all 500 MATH-500 questions / 4 samples per question, n=2,000 / question-clustered standard error Final evaluator: aime24_25_at32 / maximize / 60 AIME 2024+2025 questions / 32 samples per question, n=1,920 / question-clustered standard error Artifact contract: at most three valid numeric-progress checkpoints; each must load successfully, and the highest official final score wins ``
The proxy measures average single-answer pass rate on MATH-500 with a 12,288-token generation cap. The final evaluator measures average correctness on AIME 2024/2025 with 32 samples per question and a 31,744-token cap, using rule grading with CompassVerifier fallback. Because the datasets, sample multiplicities, and length caps differ, the two scores are not directly comparable. The task declaration records zero overlap between the training data and the final AIME set.
3.2 How the baseline works
``text fixed training problems -> the student samples four responses per problem at temperature 1 and top-p 1, capped at 7,168 response tokens -> the fixed teacher scores every student-sampled token, producing a single-sample reverse-KL distillation signal; task correctness rewards are disabled -> the negative detached tokenwise distillation loss is used as the advantage in one PPO-style policy-gradient epoch and optimized with AdamW -> all student parameters change, and loadable full weights are exported at numeric training progress ``
Each step uses two prompts and four rollouts per prompt, with token-mean loss. AdamW uses learning rate 1e-6, betas 0.9/0.999, weight decay 0.01, a constant schedule, gradient-norm cap 1, one PPO epoch, minibatch size 2, and microbatch size 1. Teacher and actor share one GPU; the teacher sleeps during actor updates. Baseline sampling is sequential. The recipe requests 2,200 steps and saves every 20 steps, but wall clock takes precedence and forces a last save even off cadence; no more than three full-weight checkpoints are retained simultaneously. The agent's initial concrete diagnosis was that the 7,168-token response cap truncated too many mathematical solutions and their teacher supervision.
4. Four-hour exploration and decision process
The agent first inspected task boundaries, data, the distillation implementation, and hardware, then used a one-step run to verify training, export, and reduced evaluation end to end. It established a 20-step baseline, tested forward KL, tested longer responses, screened PPO clipping and task rewards, added deterministic shuffling, and finally exercised wall-clock stopping and forced export with the combined recipe. Exploration used about 3 hours 4 minutes. Several polling commands hit their client timeout, but the underlying runs completed; changing the wait strategy resolved that tooling issue.
U-01 - Establishing feasibility and the truncation bottleneck
Motivation and hypothesis. The agent needed to determine whether single-GPU training and evaluation were viable, what steady-state step time allowed, and whether response truncation was the dominant baseline issue.
Concrete change and experimental setup. A one-step smoke run kept baseline training settings and evaluated a 40-question subset with two samples per question and seed 42. A subsequent 20-step baseline used the 7,168-token cap, two prompts per step, four rollouts per prompt, and sequential sampling. Its checkpoint was evaluated on a fixed 120-question MATH-500 subset with four samples per question and seed 0.
Observed result. The smoke run exported a loadable artifact and scored 64/80 = 0.8000 with standard error 0.056045. The 20-step baseline took 513.3 seconds; steps without save overhead averaged about 24.10 seconds. Mean training clip rate was 0.75625, ranging from 0.375 to 1.0, and mean response length was 6,590.7. Distillation loss fell from 0.5331 to 0.2553, with no out-of-memory or non-finite failure. The 120-question diagnostic scored 391/480 = 0.814583, standard error 0.029363, with evaluation clip rate 0.10833.
Agent interpretation. The first step took about 99.6 seconds including startup and saving, initially making the agent pessimistic about probe throughput. Later 20–24 second steps corrected that estimate. The agent interpreted the persistently high training clip rate as incomplete reasoning and lost teacher signal, making response length the first hyperparameter to address.
Report assessment and confounds. Both evaluations changed the declared protocol's question count; the smoke run also changed samples per question. They are diagnostics, not official proxy measurements. The training trace establishes truncation and feasibility, not its causal effect on full MATH-500 or AIME quality. Polling timeouts and one Git safe-directory error were tooling/debugging events and did not corrupt the run.
Decision and consequence. The baseline update rule remained the mainline method. Later experiments targeted clip reduction and used the same 120-question diagnostic where possible.