On-policy mathematical distillation
GPT-5.6 Sol · Codex · none effort
Public case ID: codex__opd_math_1p5b__gpt-5.6-sol__none
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
Ordered prompts feed four current-student samples; the fixed teacher supplies token log probabilities; a clipped one-sample reverse-KL (k1) value becomes advantage in a one-epoch PPO-style loss; AdamW updates all 1.777B student parameters. Only the learning rate changed each update's dynamics. The higher step ceiling and sparse saves changed scheduling/checkpoint policy; data, sampling, signal, loss, optimizer, and update rule were unchanged. No explore weight, generated data, pre-existing rationale, or chain of thought was submitted: formal replay applied the hash-identical source patch to the fixed start.
Exploration and replay evidence
Four-hour exploration
The common proxy was math500_pass_at_1, higher is better, on 500 MATH-500 questions × four samples (n=2,000), with question-clustered standard errors. An ordered-data, k1, 1e-6 control scored 0.8395 ± 0.0138 at step 40 and reproduced the reference, while high training clipping established a useful baseline. Replacing k1 with lower-variance k3 reduced gradient/loss magnitude but scored 0.8150 ± 0.0146, so the agent rejected it. Deterministic shuffling ran faster and clipped less but scored 0.8280 ± 0.0144; the agent restored ordered data, speculating that its order acted as a curriculum. Learning rates 2e-6 and 3e-6 scored 0.8620 ± 0.0133 and 0.8700 ± 0.0131, so it selected 3e-6, although the 16/2,000 gap had no replicate or long-horizon test. It successfully loaded the exploration artifact and changed the save interval; an accidental one-step launch was stopped without producing candidate output. The agent submitted with 4,823 seconds left, although measured train-plus-proxy cycles took about 23–25 minutes, leaving time for at least one decisive repeat.
Formal replay
Formal replay requested 10,000 steps but wall-clock reserve stopped it normally at step 2225 after 41,687.97 of 43,200 seconds. Five checkpoints were cumulatively saved; retention left the latest three, all independently loadable as 1,777,088,000-parameter models. Official aime24_25_at32 evaluation is higher-is-better on 60 AIME 2024+2025 questions × 32 samples (n=1,920): step 1500 scored 814/1,920 = 0.423958 ± 0.052535; step 2000 scored 803/1,920 = 0.418229 ± 0.053517; step 2225 scored 817/1,920 = 0.425521 ± 0.052613 and was best. Results were nonmonotonic and differences were much smaller than individual standard errors. The best model was 333 answers above the 484/1,920 fixed start but three below the shipped solution; the MATH-500 proxy and AIME final protocols are not numerically comparable, so the short-horizon 3e-6 advantage did not become a demonstrated final gain.
Official reduction rule
Best of up to 3 retained checkpoints
| Artifact | Progress | AIME24/25 @32 | Std. error | n | Role |
|---|---|---|---|---|---|
| artifact-1500 | 1500 | 0.424 | 0.0525 | 1920 | Retained |
| artifact-2000 | 2000 | 0.4182 | 0.0535 | 1920 | Retained |
| artifact-2225 | 2225 | 0.4255 | 0.0526 | 1920 | Best · final |
Best retained
0.4255
artifact-2225
Final checkpoint
0.4255
artifact-2225
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.1734.
Shipped recipe
0.4271
Best retained artifact does not beat it (task-directed delta -0.0016).
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 0.146.0 / none
Status. Exploration, submission, formal retraining, three artifact validations, three final evaluations, and the boundary audit all completed with closed lineage. The run produced valid official results, but the audit confirms an early-submission execution violation; no data, hidden-asset, or formal-artifact contamination was found.
What happened. The task fixes a DeepSeek-R1-Distill-Qwen-1.5B student, an hbx/JustRL-DeepSeek-1.5B teacher, and 15,285 math rows. The student samples four answers per prompt, teacher token probabilities estimate reverse KL, and proximal policy optimization (PPO) updates all student weights; answer rewards are disabled. The agent found response clipping, noisy gradients, ordered-prefix coverage, and checkpoint overhead, then submitted the same update rule at 3e-6 instead of 1e-6 with a wall-clock-driven 10,000-step ceiling and 500-step saves. Its best AIME result, 817/1,920, did not beat the shipped 820/1,920.
Four-hour exploration. The common proxy was math500_pass_at_1, higher is better, on 500 MATH-500 questions × four samples (n=2,000), with question-clustered standard errors. An ordered-data, k1, 1e-6 control scored 0.8395 ± 0.0138 at step 40 and reproduced the reference, while high training clipping established a useful baseline. Replacing k1 with lower-variance k3 reduced gradient/loss magnitude but scored 0.8150 ± 0.0146, so the agent rejected it. Deterministic shuffling ran faster and clipped less but scored 0.8280 ± 0.0144; the agent restored ordered data, speculating that its order acted as a curriculum. Learning rates 2e-6 and 3e-6 scored 0.8620 ± 0.0133 and 0.8700 ± 0.0131, so it selected 3e-6, although the 16/2,000 gap had no replicate or long-horizon test. It successfully loaded the exploration artifact and changed the save interval; an accidental one-step launch was stopped without producing candidate output. The agent submitted with 4,823 seconds left, although measured train-plus-proxy cycles took about 23–25 minutes, leaving time for at least one decisive repeat.
How the submitted method works. Ordered prompts feed four current-student samples; the fixed teacher supplies token log probabilities; a clipped one-sample reverse-KL (k1) value becomes advantage in a one-epoch PPO-style loss; AdamW updates all 1.777B student parameters. Only the learning rate changed each update's dynamics. The higher step ceiling and sparse saves changed scheduling/checkpoint policy; data, sampling, signal, loss, optimizer, and update rule were unchanged. No explore weight, generated data, pre-existing rationale, or chain of thought was submitted: formal replay applied the hash-identical source patch to the fixed start.
Formal and evaluation evidence. Formal replay requested 10,000 steps but wall-clock reserve stopped it normally at step 2225 after 41,687.97 of 43,200 seconds. Five checkpoints were cumulatively saved; retention left the latest three, all independently loadable as 1,777,088,000-parameter models. Official aime24_25_at32 evaluation is higher-is-better on 60 AIME 2024+2025 questions × 32 samples (n=1,920): step 1500 scored 814/1,920 = 0.423958 ± 0.052535; step 2000 scored 803/1,920 = 0.418229 ± 0.053517; step 2225 scored 817/1,920 = 0.425521 ± 0.052613 and was best. Results were nonmonotonic and differences were much smaller than individual standard errors. The best model was 333 answers above the 484/1,920 fixed start but three below the shipped solution; the MATH-500 proxy and AIME final protocols are not numerically comparable, so the short-horizon 3e-6 advantage did not become a demonstrated final gain.
Audit and takeaway. Records confirm fixed data/model/teacher, no AIME mount during exploration, no hidden-value exposure, no external input, fresh formal replay, one unshared GPU, budget compliance, exact patch hash, and .complete for every final summary. A generic control status is stale at running, but the same record's end time, exit code 0, formal_result: succeeded, and directory markers resolve formal success. Documentation promises verifier fallback in proxy and final grading, but proxy source uses rules alone while final evaluation invokes CompassVerifier: a confirmed task-package defect, not agent misconduct. Observable agent behavior is confirmed noncompliant solely because an explicit continue-exploring rule, remaining-time receipt, and measured durations establish premature submission; protocol exposure is none found, and platform/scheduling/resource isolation is compliant. The case shows effective baseline reproduction, ablation, and checkpoint engineering, but cannot establish that 3e-6 has better long-horizon final performance than 1e-6 or 2e-6.
Full semantic audit
codex__opd_math_1p5b__gpt-5.6-sol__none - Full English Analysis
1. Run identity, attempt selection, and lineage
The numbered-directory and control records corroborate this selection. exploration attempt 1 stopped at resource gating. The formal control queue ties the sole formal run to exploration attempt 2 and the exact patch hash, the authoritative control record gives formal_result: succeeded, and there is no correction record for this configuration.
2. Reader-facing overview
The task asks the agent to improve a fixed DeepSeek-R1-Distill-Qwen-1.5B student using a fixed teacher and 15,285 zero-overlap math training rows. The baseline is online, on-policy distillation: the student samples four solutions per prompt, the teacher assigns token probabilities to those same sampled tokens, and a one-sample reverse-KL estimate drives a policy-gradient update. Ground-truth answer rewards are disabled. Concrete limitations include frequent early training responses hitting the 7,168-token cap, a noisy KL estimate, ordered data, and a mismatch between the short exploration horizon and a 12-hour formal retrain.
The agent reproduced a 40-step baseline and tested a lower-variance k3 KL estimator, deterministic data shuffling, and learning rates of 2e-6 and 3e-6. Under the same MATH-500 proxy protocol, 3e-6 produced the highest 40-step point estimate, 0.8700 ± 0.0131, versus 0.8395 ± 0.0138 for the local baseline; k3 and shuffling were worse. The submitted patch did not change the training signal, loss, or data. It raised the learning rate from 1e-6 to 3e-6, raised the requested step ceiling from 2,200 to 10,000, and widened the save interval from 20 to 500 so that wall-clock control would determine the formal stopping point with less checkpoint overhead.
Formal retraining completed 2,225 steps and independently validated and final-tested checkpoints 1500, 2000, and 2225. The best hidden AIME 2024+2025 result was checkpoint 2225 at 817/1,920, or 0.425521 ± 0.052613. The task package reports 820/1,920, or 0.427083 ± 0.051615, for the shipped solution. A three-answer deficit does not demonstrate a candidate improvement. The candidate remains far above the fixed starting model's 484/1,920, but that establishes the effectiveness of the underlying distillation recipe, not the benefit of this learning-rate change.
The agent was effective at establishing a controlled baseline, performing single-variable ablations, and accounting for checkpoint cost in the formal recipe. Its central failure was evidentiary: the 3e-6 versus 2e-6 proxy difference was only 16/2,000, with no repeat or long-horizon validation, and the agent explicitly submitted with 4,823 seconds left. The task expressly required continued exploration whenever a meaningful experiment still fit, and measured run times show at least one full repeat did fit; this is therefore confirmed execution-protocol noncompliance. No training-data, hidden-AIME, network, or formal-artifact misconduct was found. Separately, the task package has a confirmed defect: proxy grading omits the verifier fallback promised by its documentation.
3. Task, baseline, and evaluation contract
3.1 Task and fixed boundaries
``text Starting artifact / model: fixed DeepSeek-R1-Distill-Qwen-1.5B, formally mounted at fixed-asset mount Available training data and assets: fixed hbx/JustRL-DeepSeek-1.5B teacher; fixed 15,285-row zero-overlap math parquet; MATH-500 during exploration Agent-editable surface: training source and launch recipe under editable workspace, submitted as a source patch Fixed or forbidden components: student start, teacher, training parquet, evaluators, metrics, and read-only fixed-asset mount; no network; formal replay must start fresh and may not import explore weights Proxy evaluator: math500_pass_at_1 / higher is better / MATH-500 / 500 questions × 4 samples = 2,000 / question-clustered standard error Final evaluator: aime24_25_at32 / higher is better / AIME 2024 and 2025 / 60 questions × 32 samples = 1,920 / standard error clustered over 60 questions Artifact contract: run output area>; retain at most the three greatest-progress checkpoints simultaneously, final-test each valid artifact, and use the best valid score ``
The proxy uses seed 42, temperature 0.7, top_p=0.9, and at most 12,288 new tokens. Final evaluation also begins from generation seed 42 and uses the same temperature and top_p, but derives 32 request seeds and allows 31,744 new tokens. More fundamentally, the splits differ: MATH-500 is mounted during exploration, whereas AIME 2024+2025 is mounted only in the isolated final stage. The scores therefore cannot be subtracted as if they came from one distribution. Proxy results support only within-exploration selection; final conclusions require final-to-final AIME comparisons.
There is also a grading-boundary discrepancy. The task description says both evaluators use a rule grader with verifier fallback. In fact, fast_eval.py calls grade_rows, which assigns the rule label directly as the final label, while final_eval.py explicitly sends rule-rejected answers to CompassVerifier. The three final artifacts gained 2, 1, and 3 correct answers from that fallback. This confirmed package defect does not destroy internal comparability among the exploration trials, all of which used the same actual proxy, but it weakens transfer claims from proxy to final evaluation.
3.2 How the baseline works
On-policy distillation means that the student first generates behavior under its current policy and the fixed teacher then evaluates that exact behavior, so training examples evolve with the student. One baseline update is:
``text [read two math prompts in fixed order, filtering prompts longer than 1,024 tokens] -> [the student samples four responses per prompt at temperature 1.0, capped at 7,168 tokens] -> [the fixed teacher computes token log probabilities for those same student-sampled responses] -> [student-minus-teacher log probability forms a one-sample reverse-KL (k1) estimate, clipped to ±10; its negative detached value is used as advantage in a proximal policy optimization (PPO)-style loss] -> [AdamW updates all 1,777,088,000 student parameters at a constant 1e-6; the teacher remains fixed] ``
PPO supplies the probability-ratio and clipping form of the policy loss. Only one PPO epoch is used, so old and current log probabilities are equal at the update and the recorded PPO clipping fraction is structurally zero. Task-reward training is disabled, and the answer field in the parquet is not used as supervision; teacher probabilities are the sole learning signal. Six of 15,285 rows are filtered for prompt length, leaving 15,279 rows and 7,639 two-prompt batches. With data.shuffle=False, a formal run shorter than one data epoch consumes only the ordered prefix.
Source defaults request 2,200 steps, save every 20 steps, and retain three checkpoints. The agent initially identified several bottlenecks: early response clipping often reached 60%–100%; k1 losses and gradients were variable; fixed order might restrict coverage; and frequent saves of large optimizer states could consume material formal wall time. It briefly assumed 2,200 steps would cycle the dataset, then corrected itself after counting batches: that horizon covers only roughly the first 4,400 prompts. This correction motivated the shuffle ablation.
4. Four-hour exploration and decision process
The run began with source, data, and evaluation-contract inspection, then executed one 40-step local baseline, two method/data ablations, and two learning-rate trials. Training took about 14 minutes per trial and each 2,000-sample proxy evaluation about 9–11 minutes. The final phase prepared wall-clock and checkpoint settings, checked the patch, and loaded an exploration artifact. The explore run lasted from 09:43:46Z to 12:24:08Z, consuming 9,622 seconds before an explicit submission with 4,823 seconds remaining.
U-01 - Reproduce the baseline and diagnose clipping and stability
Motivation and hypothesis. Before choosing an algorithmic or scheduling change, the agent needed to reproduce the shipped recipe locally and inspect loss, gradient, response length, and checkpoint behavior.
Concrete change and experimental setup. It kept ordered data, k1, the 1e-6 learning rate, and all other baseline settings, trained for 40 steps, and saved at steps 20 and 40. Both checkpoints were evaluated on 500 MATH-500 questions with four samples each.
Observed result. Step 20 scored 1,651/2,000, or 0.8255 ± 0.01417, with 9.45% evaluation-length clipping. Step 40 scored 1,679/2,000, or 0.8395 ± 0.01379, with 7.20% clipping. Forty training steps took 873.77 seconds. Mean training response clipping was 0.66875; over the final ten steps, mean gradient norm was about 1.845 and mean absolute loss about 0.368. There was no non-finite value or collapse. The step-40 score closely reproduced the task's 0.8410 ± 0.0138 reference.
Agent interpretation. The agent considered the baseline reproducible and still improving at 40 steps. It treated high response clipping and variable gradients as evidence that estimator variance, response length, or data order could be improved.
Report assessment and confounds. Reproduction is convincing, but it is one training seed and one evaluation seed. The step-20 to step-40 rise cannot be extrapolated to 12 hours. Evaluation clipping is lower than training clipping because the two stages use different token caps and sampling temperatures.
Decision and consequence. This run became the local control for all 40-step ablations. The agent next tested a lower-variance estimator, then data order and learning rate.