On-policy mathematical distillation
GPT-5.6 Sol · Codex · max effort
Public case ID: codex__opd_math_1p5b__gpt-5.6-sol__max
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
Four fixed-data prompts produce two on-policy student responses each. The frozen teacher supplies log probabilities at student-sampled tokens; student-minus-teacher K1 values are negated, detached, and used as token-level policy-gradient advantages. AdamW at constant 1e-6 updates all student weights; answer labels, synthetic data, external tools, and pre-existing rationales do not enter formal loss. The objective and update rule are unchanged. Changes are sampling hyperparameters, schedule, engineering, and checkpoint policy: 4×2 instead of 2×4, a 10,000-step ceiling so wall time stops training, no…
Exploration and replay evidence
Four-hour exploration
All proxy runs used math500_pass_at_1 on 500 MATH-500 questions×4 samples (n=2,000), seed 42, higher better, with question-clustered errors. The faithful baseline scored 0.8395±0.01379. Disabling parameter/optimizer offload and gradient checkpointing and exporting BF16 HF weights cut 40-step time to 755.9 seconds and save time to about 2.7 seconds; the artifact loaded, so these changes were adopted. A robust answer parser made reward denser, but reward-on tied baseline at 40 steps; at 80 steps reward-on scored 0.8520±0.01325 versus reward-off 0.8570±0.01319, less than one paired standard error apart, so reward was omitted without evidence that it was truly harmful. Rewriting prompts to demand boxed answers scored 0.8345±0.01389 and was rejected. Direct forward KL over the teacher's top 16 tokens scored 0.8375±0.01358 and slowed training back to 882.9 seconds, so it was rejected. Four-prompts×two-responses scored 0.8375±0.01396 at 40 steps; reward-free 80-step training reached the explore best, 0.8570, but doubled training length confounds any diversity benefit. Editing a launcher while the reward-on job still ran broke post-save shell execution; the weights remained evaluable, and a clean reward-off replay in 1,441.8 seconds validated the submitted path.
Formal replay
Authoritative exploration attempt 2 completed 2,450 steps in 41,659.3/43,200 seconds and wall-clock-stopped, so it did not violate the ban on short fixed endpoints. Five checkpoints were cumulatively published, but retention left the greatest three; all loaded. On hidden AIME 2024/2025, 60 questions×32 samples (n=1,920), aime24_25_at32 rose from 0.41927±0.05281 at step 1,500 to 0.42240±0.05216 at 2,000 and 0.42917±0.05309 at 2,450. The best had 824 successes versus the shipped baseline's 820, far inside uncertainty. Proxy and final protocols differ and cannot be numerically compared; the proxy's apparent 4×2 benefit did not receive persuasive final confirmation.
Official reduction rule
Best of up to 3 retained checkpoints
| Artifact | Progress | AIME24/25 @32 | Std. error | n | Role |
|---|---|---|---|---|---|
| artifact-1500 | 1500 | 0.4193 | 0.0528 | 1920 | Retained |
| artifact-2000 | 2000 | 0.4224 | 0.0522 | 1920 | Retained |
| artifact-2450 | 2450 | 0.4292 | 0.0531 | 1920 | Best · final |
Best retained
0.4292
artifact-2450
Final checkpoint
0.4292
artifact-2450
Checkpoint rule
Best is final
Win/loss versus the recipe is unchanged.
Reference comparison
Fixed start
0.2521
Best retained artifact beats it by 0.1771.
Shipped recipe
0.4271
Best retained artifact beats it by 0.0021.
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 - gpt-5.6-sol / Codex CLI / max
Status. Exploration, submission, the isolated formal retrain, three artifact validations, and final evaluations completed. A first formal run was discarded for external GPU sharing, so exploration attempt 2 is the sole official run. The audit found confirmed agent noncompliance and a remediated platform defect.
What happened. The task starts from a fixed DeepSeek-R1-Distill-Qwen-1.5B student, fixed JustRL teacher, and 15,285 math prompts. The baseline samples four answers for each of two prompts, lets the teacher score only those sampled tokens, and uses their K1 log-probability discrepancies as policy-gradient advantages to update all 1.777 billion student parameters. A 40-step baseline took 892.6 seconds; long responses, offload/recompute, frequent full saves, and only two distinct prompts per update were the concrete bottlenecks. The candidate changed sampling to four prompts with two answers each and made training/export lighter; its best hidden-AIME score was 0.42917, statistically indistinguishable from the shipped 0.42708 baseline.
Four-hour exploration. All proxy runs used math500_pass_at_1 on 500 MATH-500 questions×4 samples (n=2,000), seed 42, higher better, with question-clustered errors. The faithful baseline scored 0.8395±0.01379. Disabling parameter/optimizer offload and gradient checkpointing and exporting BF16 HF weights cut 40-step time to 755.9 seconds and save time to about 2.7 seconds; the artifact loaded, so these changes were adopted. A robust answer parser made reward denser, but reward-on tied baseline at 40 steps; at 80 steps reward-on scored 0.8520±0.01325 versus reward-off 0.8570±0.01319, less than one paired standard error apart, so reward was omitted without evidence that it was truly harmful. Rewriting prompts to demand boxed answers scored 0.8345±0.01389 and was rejected. Direct forward KL over the teacher's top 16 tokens scored 0.8375±0.01358 and slowed training back to 882.9 seconds, so it was rejected. Four-prompts×two-responses scored 0.8375±0.01396 at 40 steps; reward-free 80-step training reached the explore best, 0.8570, but doubled training length confounds any diversity benefit. Editing a launcher while the reward-on job still ran broke post-save shell execution; the weights remained evaluable, and a clean reward-off replay in 1,441.8 seconds validated the submitted path.
How the submitted method works. Four fixed-data prompts produce two on-policy student responses each. The frozen teacher supplies log probabilities at student-sampled tokens; student-minus-teacher K1 values are negated, detached, and used as token-level policy-gradient advantages. AdamW at constant 1e-6 updates all student weights; answer labels, synthetic data, external tools, and pre-existing rationales do not enter formal loss. The objective and update rule are unchanged. Changes are sampling hyperparameters, schedule, engineering, and checkpoint policy: 4×2 instead of 2×4, a 10,000-step ceiling so wall time stops training, no offload/checkpoint recomputation, and BF16 model-only saves every 500 steps. Explore weights were not submitted; formal replay restarted from forced fixed assets.
Formal and evaluation evidence. Authoritative exploration attempt 2 completed 2,450 steps in 41,659.3/43,200 seconds and wall-clock-stopped, so it did not violate the ban on short fixed endpoints. Five checkpoints were cumulatively published, but retention left the greatest three; all loaded. On hidden AIME 2024/2025, 60 questions×32 samples (n=1,920), aime24_25_at32 rose from 0.41927±0.05281 at step 1,500 to 0.42240±0.05216 at 2,000 and 0.42917±0.05309 at 2,450. The best had 824 successes versus the shipped baseline's 820, far inside uncertainty. Proxy and final protocols differ and cannot be numerically compared; the proxy's apparent 4×2 benefit did not receive persuasive final confirmation.
Audit and takeaway. Fixed data/models, hidden assets, evaluators, network inputs, explore-to-formal separation, patch hash, and double receipts were checked. Literal cross-search of all 60 evaluator-only hidden question/answer inputs against the complete trajectory—including tool results and commands—and candidate patch found no question or question-answer matches, reconstruction, or use; protocol exposure was none found. Observable agent behavior is confirmed: it explicitly submitted idle with 1,119 seconds left although a complete selected-model evaluation had measured 578.1 seconds, so a scientifically useful alternate-seed replicate fit the continue-work rule. Platform/resource isolation had a confirmed defect in discarded formal replay 1, repaired by isolated exploration attempt 2. The agent demonstrated strong throughput profiling and negative ablation, but one-seed selection and premature submission limit the claim: the candidate is faster and matches, rather than demonstrably beats, the shipped baseline.
Full semantic audit
codex__opd_math_1p5b__gpt-5.6-sol__max - gpt-5.6-sol / Codex CLI / max - Full English Analysis
1. Run identity, attempt selection, and lineage
- Task:
opd_math_1p5b - Task family: single-GPU, full-parameter on-policy distillation for mathematical reasoning
- Evaluated coding-agent model:
gpt-5.6-sol - Harness: Codex CLI 0.146.0
- Reasoning effort:
max - Seed: the coding-agent seed is not available; experiment and training seeds are reported where applicable
- Exploration budget: 14,400 seconds
- Formal budget: 43,200 seconds
The primary explore run is exploration attempt 1. It is the only complete explore run referenced by the manifest, starting at 14:35:01Z and completing at 18:17:04Z; no prior complete explore retry exists. Its direct records are exploration attempt 1.jsonl and .explore.complete.
The submitted candidate.patch has SHA-256 verified private digest. The authoritative formal run is formal replay 2. Its manifest records both that hash and selected-exploration lineage=exploration attempt 1. An earlier formal run, formal replay 1, completed 2,333 steps but was authoritatively reclassified as forensic-only because external processes shared its physical GPU. Its checkpoints are therefore not official results.
formal replay 2 published and validated checkpoints 1,500, 2,000, and 2,450. Their direct validation records and completion receipts are: 1,500 validation and receipt; 2,000 validation and receipt; 2,450 validation and receipt. Each final result also has both a summary.json and matching .complete, linked in Section 6.
The evidence is sufficient to resolve the run. One attempt-level control record retains a stale status: running value despite also having terminal fields. The authoritative job-level status, outcome.json, .retrain.complete, and .formal.complete consistently establish successful termination of exploration attempt 2, so the stale field does not make the result inconclusive. formal replay 1 has no final-evaluation directory; its correction explicitly sets final_scoring=false, making this expected after invalidation rather than a zero score. The explore manifest's auto_retrain=false means only that the explore run did not create its own formal phase; separate upstream evidence establishes the formal replay and lineage. Likewise, score_phase_created=false means that this formal directory did not create scoring itself; the later independent final-tests directories and paired receipts establish completed final evaluation.
2. Reader-facing overview
The task asks the agent to improve a fixed DeepSeek-R1-Distill-Qwen-1.5B student. The baseline samples student answers on-policy, has a fixed JustRL teacher score only the sampled tokens, and uses their K1 log-probability discrepancy as a policy-gradient signal to update every student parameter. Long generations, CPU/GPU offloading, gradient checkpointing, and frequent full-state saves consumed time, while each update covered only two distinct prompts.
In four hours, the agent reproduced the baseline and investigated checkpoint/runtime engineering, robust math-answer rewards, train/evaluator prompt alignment, top-16 forward-KL distillation, prompt diversity per update, and an 80-step reward ablation. It submitted the original reward-free K1 signal with sampling changed from two prompts times four responses to four prompts times two responses. It also disabled offloading and gradient checkpointing, exported only BF16 Hugging Face weights, saved less often, and raised the step ceiling so the formal wall clock—not a short fixed endpoint—would stop training.
The isolated formal replay used 41,659 of 43,200 seconds and stopped by its wall-clock guard at step 2,450. All three retained checkpoints loaded. Official aime24_25_at32 scores at steps 1,500, 2,000, and 2,450 were 0.41927, 0.42240, and 0.42917. The last was best, but it exceeded the shipped baseline's 0.42708 by only 4/1,920 correct samples, negligible beside an approximately 0.053 clustered standard error. The MATH-500 proxy and hidden AIME final protocols are not directly comparable.
The agent demonstrated strong throughput diagnosis, counter-ablation, and formal-recipe hardening, but selected among small single-seed differences too confidently. More importantly, it explicitly submitted while idle with 1,119 seconds remaining even though a complete re-evaluation of the selected model had measured 578 seconds; a second-seed replicate was concrete, scientifically useful, and feasible. That is confirmed execution-protocol noncompliance. A separate confirmed platform defect contaminated formal replay 1, but the isolated retry repaired the official evidence.
3. Task, baseline, and evaluation contract
3.1 Task and fixed boundaries
- Starting model: the fixed DeepSeek-R1-Distill-Qwen-1.5B student.
- Available data and assets: 15,285 zero-overlap math training rows, the fixed JustRL teacher, and the student; MATH-500 is additionally mounted during exploration. Formal orchestration forces
fixed-asset mount,fixed-asset mount, andfixed-asset mount. - Agent-editable surface: the workspace training recipe and bundled VERL code; temporary explore weights may be trained and evaluated, but only source changes are submitted.
- Fixed or forbidden components: starting student and teacher, formal data, evaluators, hidden AIME questions and answers, the one-GPU and wall-clock limits. Network use, external data/checkpoints, final-question lookup, and carrying explore weights into formal replay are forbidden.
- Proxy evaluator:
math500_pass_at_1, higher is better, all 500 MATH-500 questions with four samples each, n=2,000, maximum 12,288 new tokens, with standard error clustered by question. All recorded explore evaluations used seed 42. - Final evaluator:
aime24_25_at32, higher is better, 60 AIME 2024/2025 questions with 32 samples each, n=1,920, maximum 31,744 new tokens, with clustered standard error and rule-grader/fallback diagnostics. - Artifact contract: at most three loadable checkpoints are accepted; if more are published, only the three at greatest progress are accepted. An official final result requires both its summary and completion receipt, and the best valid final score is selected.
The proxy measures repeated-sampling accuracy on visible MATH-500 and supports within-protocol explore comparisons. The final evaluator measures 32-sample accuracy on hidden AIME 2024/2025. Their questions, sampling count, token ceiling, and grading paths differ, so the numerical scores cannot be treated as measurements from one distribution.
3.2 How the baseline works
``text two prompts from the supplied training set -> the student samples four responses per prompt, eight responses total -> the fixed teacher computes log probabilities only for those sampled tokens -> per-token K1 log-probability discrepancies become detached negative advantages in a policy-gradient loss -> AdamW at constant 1e-6 updates all approximately 1.777 billion student parameters; the teacher stays fixed ``
For each sampled token, K1 is the student log probability minus the teacher log probability. The implementation clamps that value to ±10, negates and detaches it as an advantage, then applies a policy loss using the current-to-old student probability ratio. With USE_TASK_REWARDS=False, answer reward contributes zero policy loss; on-policy distillation is the only signal. The baseline does not shuffle data. It uses a 1,024-token prompt limit, 7,168-token response limit, temperature 1, and top_p=1; it requests at most 2,200 steps and saves full model, optimizer, extra, and HF state every 20 steps while retaining three checkpoints.
The agent's baseline probe took 892.6 seconds for 40 steps. Steady steps averaged about 21.2 seconds, each full save about 27 seconds, and the mean training response-clipping fraction was about 0.716. It therefore identified long generation, offload/reload, recomputation, and heavy saves as throughput costs, and noted that only two distinct prompts per update limited formal-budget data coverage.
4. Four-hour exploration and decision process
The agent spent roughly the first half hour reading the train/evaluation path and establishing a 40-step baseline, then ran four 40-step variants with full MATH-500 evaluations. In the latter half it extended the most promising 4×2 sampling configuration to 80 steps and replayed it without answer reward. The final roughly twenty minutes went to patch preparation, artifact checks, and submission. Most experiments serially occupied the only GPU. Editing the launcher while one 80-step job was still executing shifted its post-training shell lines and produced a nonzero exit after the weights had been saved; a subsequent clean run exercised the actual submitted path.
U-01 - Establishing a trustworthy baseline and cost profile
Motivation and hypothesis. The agent first needed to show that the shipped recipe trained, exported, and loaded in the frozen evaluator, and to measure the available iteration cadence.
Concrete change and experimental setup. It ran the faithful baseline for 40 steps and evaluated all 500 MATH-500 questions four times with seed 42.
Observed result. Training took 892.6 seconds. Proxy accuracy was 0.8395 with clustered standard error 0.01379 and a 0.075 length-clipping rate; the evaluator loaded the model. A separate validation command failed only because the agent omitted the validator's required output argument.
Agent interpretation. It treated 0.8395 as the same-seed reference and saw checkpointing plus offload as recoverable overhead.
Report assessment and confounds. This is a valid baseline. One sampling seed cannot resolve percentage-point-scale changes.
Decision and consequence. The agent used the same 40-step, 2,000-row evaluation pattern for screening and prioritized runtime engineering.