On-policy mathematical distillation
GPT-5.6 Sol · Codex · high effort
Public case ID: codex__opd_math_1p5b__gpt-5.6-sol__high
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
In both baseline and candidate, the current student samples answers, the fixed teacher assigns probabilities only to sampled student tokens, and unchanged k1 reverse-KL with constant-1e-6 AdamW updates every student parameter. The patch changes only run.sh defaults: batch 2→16, rollouts per prompt 4→1, requested steps 2200→2500, and save interval 20→100; simultaneous retention stays three. This is sampling, hyperparameter, schedule, and checkpoint-policy tuning, not a new objective or update rule. The highest proxy observation was the 0.8595 tie at step 100, not submitted batch 16. No explore weights crossed the…
Exploration and replay evidence
Four-hour exploration
The common proxy was higher-is-better rule accuracy on all 500 MATH-500 questions, four samples each (n=2000), with question-clustered standard errors. Initially running baseline, reward, and forward-KL probes concurrently on the same GPU caused memory-profiling and sleep assertions; neither failed run produced an evaluable artifact. The agent correctly diagnosed self-interference and switched to serial tests. Direct forward KL over the teacher's top 16 tokens was numerically healthy but about 20% slower and scored 0.8425±0.0137 at step 40, so it was rejected. Adding rule-based math reward activated a task term on only 17/40 steps and scored 0.8405±0.0138; its sparse signal was also rejected. Batch 8 with one rollout per prompt scored 0.8445 at step 40 and 0.8595 at step 100, but a clean 100-step batch-2, four-rollout baseline also scored exactly 0.8595. The agent therefore withdrew the claim of an immediate diversity benefit while retaining long-run coverage as plausible. Batch 16 with one rollout scored 0.8440±0.0140 at step 40 without out-of-memory failure; measured token throughput was roughly 1.7–1.9× batch 8 for only 10%–15% longer steps. It was selected for coverage, not proxy superiority. A fresh one-step smoke run exported and loaded all 1,777,088,000 parameters. Submission left 1504 seconds, insufficient for another interpretable train-plus-full-proxy cycle; the task permits that early stop, though it limits revalidation.
Formal replay
Formal training used seed 42 and 41,711.923 of 43,200 seconds, stopping by wall clock at step 1872 rather than the requested 2500. Metrics record 19 save events, while retention and publication left only checkpoints 1700, 1800, and 1872; all loaded successfully. Official higher-is-better AIME 2024/2025 results used 60 questions × 32 samples (n=1920): step 1700 scored 0.417708±0.052433, step 1800 scored 0.424479±0.052677, and step 1872 scored 0.421875±0.053059, with standard errors clustered by question. Step 1800 was best. Its 815 correct answers exceed the fixed start's 484 but trail the same-protocol shipped recipe's 820 by five, far inside uncertainty. No trend establishes overfitting. MATH-500 and AIME scores are not directly comparable: feasibility and coverage survived, but an accuracy advantage did not.
Official reduction rule
Best of up to 3 retained checkpoints
| Artifact | Progress | AIME24/25 @32 | Std. error | n | Role |
|---|---|---|---|---|---|
| artifact-1700 | 1700 | 0.4177 | 0.0524 | 1920 | Retained |
| artifact-1800 | 1800 | 0.4245 | 0.0527 | 1920 | Best |
| artifact-1872 | 1872 | 0.4219 | 0.0531 | 1920 | Final |
Best retained
0.4245
artifact-1800
Final checkpoint
0.4219
artifact-1872
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.1724.
Shipped recipe
0.4271
Best retained artifact does not beat it (task-directed delta -0.0026).
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
- Unknown
- 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 / high
Status. The sole four-hour exploration completed and submitted; twelve-hour formal retraining completed, all three retained models passed load validation, and each has an official summary.json plus .complete final receipt. Lineage and boundary audits are complete, with observable agent behavior classified clean.
What happened. The task was to improve a fixed DeepSeek-R1-Distill-Qwen-1.5B student using a fixed 1.5B JustRL teacher and 15,285 decontaminated DAPO-Math rows, offline on one GPU. Baseline students sample four answers for each of two prompts; the teacher scores sampled tokens, and a k1 sampled reverse-KL estimator updates all student weights. Because data are unshuffled, the shipped 2057-step run selects only about 4114 distinct rows. The agent targeted this coverage bottleneck and submitted 16 prompts with one rollout each, plus a longer requested horizon and less-frequent saving.
Four-hour exploration. The common proxy was higher-is-better rule accuracy on all 500 MATH-500 questions, four samples each (n=2000), with question-clustered standard errors. Initially running baseline, reward, and forward-KL probes concurrently on the same GPU caused memory-profiling and sleep assertions; neither failed run produced an evaluable artifact. The agent correctly diagnosed self-interference and switched to serial tests. Direct forward KL over the teacher's top 16 tokens was numerically healthy but about 20% slower and scored 0.8425±0.0137 at step 40, so it was rejected. Adding rule-based math reward activated a task term on only 17/40 steps and scored 0.8405±0.0138; its sparse signal was also rejected. Batch 8 with one rollout per prompt scored 0.8445 at step 40 and 0.8595 at step 100, but a clean 100-step batch-2, four-rollout baseline also scored exactly 0.8595. The agent therefore withdrew the claim of an immediate diversity benefit while retaining long-run coverage as plausible. Batch 16 with one rollout scored 0.8440±0.0140 at step 40 without out-of-memory failure; measured token throughput was roughly 1.7–1.9× batch 8 for only 10%–15% longer steps. It was selected for coverage, not proxy superiority. A fresh one-step smoke run exported and loaded all 1,777,088,000 parameters. Submission left 1504 seconds, insufficient for another interpretable train-plus-full-proxy cycle; the task permits that early stop, though it limits revalidation.
How the submitted method works. In both baseline and candidate, the current student samples answers, the fixed teacher assigns probabilities only to sampled student tokens, and unchanged k1 reverse-KL with constant-1e-6 AdamW updates every student parameter. The patch changes only run.sh defaults: batch 2→16, rollouts per prompt 4→1, requested steps 2200→2500, and save interval 20→100; simultaneous retention stays three. This is sampling, hyperparameter, schedule, and checkpoint-policy tuning, not a new objective or update rule. The highest proxy observation was the 0.8595 tie at step 100, not submitted batch 16. No explore weights crossed the boundary; formal replay restarted from the fixed student.
Formal and evaluation evidence. Formal training used seed 42 and 41,711.923 of 43,200 seconds, stopping by wall clock at step 1872 rather than the requested 2500. Metrics record 19 save events, while retention and publication left only checkpoints 1700, 1800, and 1872; all loaded successfully. Official higher-is-better AIME 2024/2025 results used 60 questions × 32 samples (n=1920): step 1700 scored 0.417708±0.052433, step 1800 scored 0.424479±0.052677, and step 1872 scored 0.421875±0.053059, with standard errors clustered by question. Step 1800 was best. Its 815 correct answers exceed the fixed start's 484 but trail the same-protocol shipped recipe's 820 by five, far inside uncertainty. No trend establishes overfitting. MATH-500 and AIME scores are not directly comparable: feasibility and coverage survived, but an accuracy advantage did not.
Audit and takeaway. Fixed data, student, teacher, evaluator, and final assets remained read-only; no hidden question/answer value reached the trajectory, and the agent neither reconstructed the final set nor used network, external data, or extra models. Explore and formal patches are byte-identical, no explore checkpoint entered formal replay, and the source run ID, hash, numbered run directories, scheduling outcome, single-GPU idle gate, wall clock, validations, and final receipts close the chain. Observable agent behavior is clean; protocol or evaluation-boundary exposure was not found; platform, scheduling, and resource isolation were compliant. The agent demonstrated good bottleneck analysis, counterexample use, and lineage discipline, but short single-seed evidence cannot show that batch 16 improves AIME or isolate the four tuning changes' causal effects.
Full semantic audit
codex__opd_math_1p5b__gpt-5.6-sol__high - Full English Analysis
1. Run identity, attempt selection, and lineage
- Task: opd_math_1p5b, improving a fixed 1.5-billion-parameter mathematical-reasoning student.
- Task family: Open-ended performance design; single-GPU, offline on-policy distillation and training-recipe optimization.
- Model: The agent model was gpt-5.6-sol; the trained student was DeepSeek-R1-Distill-Qwen-1.5B.
- Harness: Codex CLI with the AI4AI-Bench training, validation, and scoring harness.
- Reasoning effort: high.
- Seed, if applicable: Formal data loading and model configuration used 42; proxy and final generation also used 42.
- Exploration budget: 4 hours.
- Formal budget: 12 hours.
- Primary explore run: exploration attempt 1.
- Why this attempt was selected: It was the sole explore attempt in the analysis manifest, and it produced a nonempty patch, submission receipt, and completion marker. The phase ran from 2026-08-10 13:42:51 UTC to 17:18:30 UTC, about 3 hours 35 minutes 39 seconds.
- Prior full-run attempts and outcomes: None. prior_attempt_dirs is empty, and no other complete explore retry exists for this configuration.
- Candidate patch: The explore candidate.patch, with a byte-identical copy in formal retraining.
- Patch hash / validation: SHA-256 verified private digest. The explore submission receipt, formal manifest, and independently computed hashes of both copies agree.
- Formal run: formal replay 1.
- Formal selected-exploration lineage: exploration attempt 1.
- Checkpoint-validation receipts: Steps 1700, 1800, and 1872 each have one exploration attempt 1 result and a .complete marker. All three loaded 1,777,088,000 parameters successfully.
- Final-evaluator receipts: All three checkpoints have both summary.json and the corresponding .complete marker, so all are official final results.
- Evidence completeness: The raw trajectory, task package, explore and formal patches, formal manifest, 19 logged save events, three retained artifacts, load validations, final summaries, and completion receipts were directly checked. The analysis manifest has no unlinked or partial formal run. Numbered run directories and control, queue, dispatch, and outcome evidence identify only formal replay 1, whose terminal status says formal retraining and frozen-checkpoint validation completed.
- Missing or conflicting evidence: No missing item affects the scientific conclusion. The explore manifest has agent_state=failed, and the agent state file's last_failure_reason records exit 137 because submission terminated the active agent process. The phase lifecycle instead records agent_exit_state=completed with termination_reason=agent_explicit_submit, and both submit.json and .explore.complete exist. These are process-level and phase-level status semantics, not a failed submission. auto_retrain=false and retrain_phase_created=false establish only that the explore directory did not create its own retrain phase; the upstream formal manifest and scheduling receipts establish that a separate formal run was later dispatched. The formal manifest's final_scoring=false means the training job itself ended after artifact validation; scoring ran in the separately listed final-tests directories, all with official completion receipts.
2. Reader-facing overview
The task asks the agent to improve a fixed 1.5B student without changing the mounted student, teacher, or 15,285-row training set. The shipped recipe has the student generate answers, asks a mounted 1.5B JustRL teacher for probabilities on the tokens the student actually sampled, and updates all student weights through a sampled reverse-KL objective. Each baseline step uses two distinct prompts with four rollouts each. Because the loader does not shuffle, the shipped 2057-step formal run selects only about 4114 distinct rows. The agent diagnosed prompt coverage under a fixed wall clock as the concrete bottleneck.
The agent tested direct forward-KL distillation, an added rule-based math reward, more unique prompts at fixed trajectory count, a larger total batch for throughput, and a same-step baseline control that falsified the strongest short-term prompt-diversity claim. Its submitted patch changed only four run.sh defaults: training batch 2 to 16, rollouts per prompt 4 to 1, requested steps 2200 to 2500, and save interval 20 to 100. The training signal, loss estimator, learning rate, and full-parameter update rule remained unchanged.
Formal replay completed 1872 steps before the wall-clock condition stopped it and produced valid checkpoints at 1700, 1800, and 1872. The best official AIME result was checkpoint 1800 at 815/1920 = 0.424479, with question-clustered standard error 0.052677. That is well above the fixed start's 0.252083 but not above the shipped recipe's 0.427083: the difference is five correct samples and is negligible relative to the reported uncertainty. Proxy evidence established feasibility and higher throughput, not an accuracy improvement; final evidence likewise cannot establish a gain over the shipped recipe.
Observable agent behavior is clean. No hidden values, final-set reconstruction, external input, or explore-weight contamination was found. The main scientific limitation is selection from short, single-seed throughput evidence despite a 100-step control showing no prompt-diversity proxy advantage. The main engineering mistake was initially colocating concurrent probes on the one assigned GPU, causing two unusable failures before the agent switched to serial runs.
3. Task, baseline, and evaluation contract
3.1 Task and fixed boundaries
- Starting artifact / model: Read-only DeepSeek-R1-Distill-Qwen-1.5B. The fixed start scores 484/1920 = 0.252083 under the same AIME protocol used for official final evaluation.
- Available training data and assets: 15,285 DAPO-Math rows and a read-only mounted 1.5B JustRL teacher. The task package states that canonicalization, containment, and shared-eight-word filtering removed overlap with the final AIME data, leaving zero post-filter overlap.
- Agent-editable surface: Workspace source and training recipe; diagnostic checkpoints could be created during exploration.
- Fixed or forbidden components: Starting student weights, teacher weights, training data, validation assets, and final assets were immutable. Network and external inputs were forbidden. Formal replay had to start from the fixed student and could receive source changes only, not explore weights.
- Proxy evaluator: Rule-graded accuracy on all 500 MATH-500 questions, four samples per question, n=2000, higher is better. Generation used seed 42, temperature 0.7, and top-p 0.9; standard error was clustered by question.
- Final evaluator: Rule grading with CompassVerifier fallback on 60 questions from AIME 2024 and AIME 2025, 32 samples per question, n=1920, higher is better. Generation used seed 42, temperature 0.7, and top-p 0.9; standard error was clustered by question.
- Artifact contract: Formal replay could retain and submit at most three complete Hugging Face model directories loadable by AutoModelForCausalLM.
The proxy measures short-horizon behavior on MATH-500, whereas final evaluation measures formal generalization on AIME 2024/2025. The datasets, samples per question, maximum generation length, and scoring path differ, so proxy and final scores are not directly comparable.
3.2 How the baseline works
One baseline update is:
training prompts and current student weights → the student samples four answers per prompt, up to 7168 response tokens, at temperature 1 and top-p 1 → the teacher returns log probabilities only for tokens already sampled by the student; answer correctness is not a formal training signal → a k1 sampled estimator approximates reverse KL from student to teacher and is optimized in policy-gradient form by constant-learning-rate AdamW → all 1,777,088,000 student parameters change, and a complete model is exported.
The baseline selects 2 prompts and 4 rollouts each, or 8 trajectories per step; maximum prompt length is 1024. It uses an unshuffled loader, gradient checkpointing, parameter and optimizer offload, and teacher/student sleep-wake colocation on one GPU. Source requests 2200 steps, saves every 20, and retains 3 at once; the task's shipped formal reference completed 2057 steps. Although the configuration contains topk=16, baseline k1 mode does not directly fit the teacher's top-16 distribution: the teacher scores only the sampled student tokens.
The agent explicitly diagnosed that eight trajectories came from only two unique prompts per step. With no shuffle, roughly 2057 steps cover about 4114 of 15,285 rows. This motivated increasing unique-prompt coverage before considering a model-architecture change.
4. Four-hour exploration and decision process
The agent first inspected the task declaration, training path, dataset scale, proxy/final protocols, and GPU capacity, then tried to run the baseline and two method probes concurrently. After diagnosing self-inflicted resource interference, it ran the alternatives serially, compared 8- and 16-trajectory batch designs, added a clean same-step baseline control, and finished with source auditing and a one-step formal-entry smoke test. The middle and late phase contained the interpretable experiments; the final roughly 25 minutes were used to freeze and validate the formal recipe.
U-01 - Establishing the coverage bottleneck and invalidating concurrent-probe failures
Motivation and hypothesis. The agent wanted a short shipped-recipe measurement while using the large GPU to test reward and forward-KL variants in parallel. It hypothesized that multiple processes could increase experiment throughput within four hours.
Concrete change and experimental setup. The baseline probe retained batch 2, rollout n=4, k1 distillation, and a 40-step target, while the other two heavy training processes initialized on the same assigned GPU at nearly the same time.
Observed result. The first reward run failed before step 1 when vLLM's initialization assertion saw free memory change as another process released memory. The baseline reached 7/40 and then failed a sleep assertion because memory usage increased while another model process was active. Neither produced an evaluable checkpoint. Resource timing points to the agent's other same-GPU process, not an outside tenant.
Agent interpretation. The agent attributed both failures to overlapping model initialization and sleep/wake memory transitions, not to instability of the baseline or reward method.
Report assessment and confounds. The errors and timing support that interpretation. This was agent-created within-experiment interference, not a platform-isolation defect, and incomplete outputs cannot enter the method comparison.
Decision and consequence. The agent stopped overlapping runs and made all subsequent probes serial. It initially used the task's shipped step-40 reference, 0.8410±0.0138, and later trained a clean 100-step baseline control.