Knowledge unlearning
GPT-5.6 Terra · Codex · none effort
Public case ID: codex__openunlearning_tofu_npo_llama3p2_1b__gpt-5.6-terra__none
Recipe shift
What the agent changed
Shipped baseline
Apply negative preference optimization to the TOFU forget split while retaining general model utility.
Starting artifact: Llama-3.2-1B-Instruct
Candidate algorithm
The current model and frozen anchor produce a forget-likelihood difference; fixed retain answers supply retention targets; beta=0.1 NPO loss plus retain NLL is optimized with paged AdamW over approximately 1.236 billion parameters. The candidate changed schedule, engineering, and checkpoint policy, not the algorithm, training signal, data, optimizer, or update rule. No exploration weights or caches were submitted: formal replay applied the matching patch in a fresh container and restarted from the pinned anchor with seed 0. The candidate defaulted to 42,300 wall-clock seconds, but the formal orchestrator…
Exploration and replay evidence
Four-hour exploration
The visible higher-is-better proxy used one deterministic pass over 24 forget and 24 retain training rows, without uncertainty estimates; it is not numerically comparable to the final protocol. A 20-step NPO probe raised forget NLL by 1.906139 but retain NLL by 1.982049, yielding -0.075910. The agent did not analyze this counterexample and retained NPO as the known working fallback. SimNPO was then tested, but two launches omitted the selector and were actually NPO. A real 20-step SimNPO trained, yet export collided with an old run output area; the agent evaluated that stale NPO model and incorrectly declared the weights identical, although direct hashes differ. A final SimNPO run still overrode its native gamma and was stopped at step 23 without a checkpoint or score, so rejecting it was under-supported. CE-U, WGA, and GradDiff were inspected but never tested. The agent added wall-clock stopping, step-100 saving, and three-model retention, but tested only syntax—not planned stopping or checkpoint quality. It voluntarily submitted after 787 of 14,400 seconds with 13,655 seconds left and live background pollers.
Formal replay
Formal NPO ran 41,704.894 seconds before planned SIGTERM and logged through step 11,950. Accelerate returned 1, which the wrapper failed to recognize; recovery found only complete checkpoints 11,700, 11,800, and 11,900, all independently loadable. Saving was requested every 100 steps with three retained concurrently; cumulative publication count is unavailable. All three have both summary.json and .complete. On evaluator-role TOFU, higher-is-better balanced_unlearning_score was 0.710356, 0.705593, and 0.549313, respectively; component sample sizes, standard errors, and confidence intervals were not reported. Extraction/MU were 0.053327/0.328909, 0.052363/0.325502, and 0.052645/0.226108. Step 11,700 was best, and further training sharply degraded utility with negligible forgetting gain. Versus shipped NPO, its Extraction improved from 0.063436 while MU worsened from 0.478673; no shipped composite was published. The proxy's directional retention warning survived, but deleted early checkpoints and absent seed replications prevent identifying the best stop.
Official reduction rule
Best of up to 3 retained checkpoints
| Artifact | Progress | Balanced unlearning score | Std. error | n | Role |
|---|---|---|---|---|---|
| artifact-11700 | 11700 | 0.7104 | — | — | Best |
| artifact-11800 | 11800 | 0.7056 | — | — | Retained |
| artifact-11900 | 11900 | 0.5493 | — | — | Final |
Best retained
0.7104
artifact-11700
Final checkpoint
0.5493
artifact-11900
Checkpoint rule
Best is an earlier checkpoint
No scalar recipe comparison is defined.
Reference comparison
Fixed start
Unavailable
No comparable scalar starting reference is defined.
Shipped recipe
Unavailable
No comparable scalar shipped-recipe reference is defined.
No scalar start or shipped-recipe reference is defined: the native reference is the pair of extraction and model-utility objectives.
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
openunlearning_tofu_npo_llama3p2_1b - gpt-5.6-terra / Codex CLI 0.146.0 / none
Status. Exploration, submission, recovered formal retraining, validation of three artifacts, official final evaluation, and boundary audit are complete; the formal planned stop was initially misclassified as failure and then authoritatively recovered.
What happened. The task required forgetting TOFU forget10 answers from a pinned full-parameter Llama-3.2-1B-Instruct while retaining retain90 capability. Baseline Negative Preference Optimization (NPO) lowers forget-answer likelihood relative to a frozen anchor, adds ordinary retain-answer negative log-likelihood, and updates all model weights. The agent correctly found that the ten-epoch baseline ended in about nine minutes, but submitted unchanged NPO learning dynamics with wall-clock-long training and latest-three checkpoint retention. The best official score was 0.710356 at step 11,700, with strong forgetting but substantial utility loss.
Four-hour exploration. The visible higher-is-better proxy used one deterministic pass over 24 forget and 24 retain training rows, without uncertainty estimates; it is not numerically comparable to the final protocol. A 20-step NPO probe raised forget NLL by 1.906139 but retain NLL by 1.982049, yielding -0.075910. The agent did not analyze this counterexample and retained NPO as the known working fallback. SimNPO was then tested, but two launches omitted the selector and were actually NPO. A real 20-step SimNPO trained, yet export collided with an old run output area; the agent evaluated that stale NPO model and incorrectly declared the weights identical, although direct hashes differ. A final SimNPO run still overrode its native gamma and was stopped at step 23 without a checkpoint or score, so rejecting it was under-supported. CE-U, WGA, and GradDiff were inspected but never tested. The agent added wall-clock stopping, step-100 saving, and three-model retention, but tested only syntax—not planned stopping or checkpoint quality. It voluntarily submitted after 787 of 14,400 seconds with 13,655 seconds left and live background pollers.
How the submitted method works. The current model and frozen anchor produce a forget-likelihood difference; fixed retain answers supply retention targets; beta=0.1 NPO loss plus retain NLL is optimized with paged AdamW over approximately 1.236 billion parameters. The candidate changed schedule, engineering, and checkpoint policy, not the algorithm, training signal, data, optimizer, or update rule. No exploration weights or caches were submitted: formal replay applied the matching patch in a fresh container and restarted from the pinned anchor with seed 0. The candidate defaulted to 42,300 wall-clock seconds, but the formal orchestrator actually injected 42,600.
Formal and evaluation evidence. Formal NPO ran 41,704.894 seconds before planned SIGTERM and logged through step 11,950. Accelerate returned 1, which the wrapper failed to recognize; recovery found only complete checkpoints 11,700, 11,800, and 11,900, all independently loadable. Saving was requested every 100 steps with three retained concurrently; cumulative publication count is unavailable. All three have both summary.json and .complete. On evaluator-role TOFU, higher-is-better balanced_unlearning_score was 0.710356, 0.705593, and 0.549313, respectively; component sample sizes, standard errors, and confidence intervals were not reported. Extraction/MU were 0.053327/0.328909, 0.052363/0.325502, and 0.052645/0.226108. Step 11,700 was best, and further training sharply degraded utility with negligible forgetting gain. Versus shipped NPO, its Extraction improved from 0.063436 while MU worsened from 0.478673; no shipped composite was published. The proxy's directional retention warning survived, but deleted early checkpoints and absent seed replications prevent identifying the best stop.
Audit and takeaway. Fixed data and model hashes, evaluator integrity, no-network operation, one-GPU isolation, fresh formal replay, patch lineage, and completion receipts are clean; no hidden final asset reached the trajectory, was reconstructed, or affected the candidate, and no external input or outside GPU process was found. Observable agent behavior is confirmed noncompliant because explicit rules required continued feasible exploration and all commands stopped before submission; protocol/evaluation-boundary exposure was absent, while platform scheduling and resource isolation were compliant. The run demonstrates source comprehension and delivery of loadable models, but weak experimental selection and an untested stopping policy; it cannot establish that SimNPO fails, where NPO should stop, or that the overall tradeoff beats shipped NPO.
Full semantic audit
codex__openunlearning_tofu_npo_llama3p2_1b__gpt-5.6-terra__none - Full English Analysis
1. Run identity, attempt selection, and lineage
The exploration manifest fields auto_retrain=false and retrain_phase_created=false describe only the exploration directory. The higher-level formal manifest, matching patch hash, and selected-exploration lineage establish the later retraining lineage. There is no other numbered exploration or formal attempt, and no queued correction receipt supersedes this lineage. The formal manifest's score_present=false means no score is embedded in that run manifest; each separate final-test directory has a paired summary and completion receipt, so final scoring is not missing.
2. Reader-facing overview
The task asked the agent to improve machine unlearning for a fixed full-parameter Llama-3.2-1B-Instruct anchor using the TOFU forget10 and retain90 training projections. The shipped method was Negative Preference Optimization (NPO): a frozen copy of the anchor supplies a reference for decreasing the likelihood of forget answers, while ordinary retain-set negative log-likelihood constrains utility loss. Because the shipped formal recipe took only about 569 seconds, the task also required a candidate whose meaningful formal run could use a budget of up to 12 hours.
The agent correctly noticed that the baseline's ten epochs would end too soon. It therefore changed formal execution into an effectively unbounded, wall-clock-controlled NPO run, saving every 100 steps and retaining only the three newest checkpoints. It briefly investigated SimNPO, a reference-free alternative, but method-selection mistakes, a shared export-directory collision, and evaluation of a stale NPO model invalidated the comparison. The submitted formal default still used the original NPO training signal and optimizer; the substantive changes were scheduling, method-selection plumbing, and checkpoint retention.
Formal NPO training ran on one GPU for about 41,705 seconds, with the log reaching step 11,950. Accelerate converted the planned SIGTERM into exit code 1, which the candidate wrapper did not recognize. An explicit platform recovery then published complete models at steps 11,700, 11,800, and 11,900, and all three passed independent loading validation. Their official higher-is-better balanced_unlearning_score values were 0.710356, 0.705593, and 0.549313; step 11,700 was best. Its Extraction score, where lower is better, was 0.053327 versus 0.063436 for the shipped NPO, but its Model Utility (MU) was only 0.328909 versus 0.478673. The long run therefore exchanged stronger forgetting for substantial utility loss.
The strongest capability demonstrated was competent inspection of the pinned assets, training code, and model-publication contract, culminating in three loadable formal models. The central scientific failure was not using exploration evidence to choose a training horizon. The only reliable proxy test already showed that 20 NPO steps damaged retain NLL slightly more than they improved forget NLL, yet the candidate trained for roughly 919 epochs and preserved only very late checkpoints. The agent also submitted with 13,655 seconds remaining and live background pollers, directly violating the explicit continue-exploring and wait-for-all-commands rules. Observable agent behavior is therefore confirmed noncompliant. There is no evidence of hidden-asset access, external data, evaluator tampering, or formal-lineage contamination, so the official score itself remains valid.
3. Task, baseline, and evaluation contract
3.1 Task and fixed boundaries
``text Starting model/artifact: published full Llama anchor at revision pinned private revision Available training data/assets: train-role TOFU projection at revision 324592d8; 400 forget10 rows and 3,600 retain90 rows Agent-editable scope: objective, data selection/reweighting, reference handling, optimization, batching, training schedule, and checkpoint policy under editable workspace Fixed or forbidden scope: starting anchor, data roles, official evaluator, and primary metric; no external data/checkpoints, evaluator-specific lookup, or replacement official score Proxy evaluator: proxy_answer_nll_tradeoff / higher is better / first 24 forget10 and first 24 retain90 training rows / one deterministic pass per model and split / no standard error Final evaluator: balanced_unlearning_score / higher is better / native OpenUnlearning three-way evaluator-role TOFU evaluation / per-component n unavailable / no standard error or confidence interval Model artifact contract: complete independently loadable Hugging Face models under run output area>; if more than three are valid, only the greatest three progress values are accepted; the best valid official score is selected ``
The visible proxy computes correct-answer negative log-likelihood. A rise on forget10 is beneficial; a rise on retain90 is penalized. It evaluates the start and candidate models on two 24-row splits, for 96 model-row evaluations in total, with no stochastic repetitions. The final evaluator uses an evaluator-only retain90 anchor, the training start model, and the candidate to report OpenUnlearning Extraction (lower is better) and MU (higher is better), then computes a harmonic mean of normalized forget progress and utility retention as the local balanced_unlearning_score. The proxy and final protocols use different data roles, operations, and scales and must not be numerically compared.
3.2 How the baseline works
``text Pinned full anchor plus paired forget10 and retain90 question-answer batches -> compute forget-answer sequence NLL under the current model and a frozen copy of the anchor; compute retain-answer NLL under the current model -> use the current/reference forget-likelihood difference to reduce probability of the correct forget answer, while fixed retain90 answers provide retention labels -> minimize beta=0.1 NPO forget loss plus retain NLL with unit forget and retain weights -> update all approximately 1.236 billion Llama parameters and export a complete Hugging Face model ``
The baseline uses learning rate 1.5e-5, per-device batch size 8, gradient accumulation 4, effective batch size 32, and seed 0. It uses paged AdamW, weight decay 0.01, one warmup epoch, BF16, Flash Attention 2, gradient checkpointing, and ZeRO-3 without offload. Source defaults train for ten epochs, save every five epochs, and retain at most three checkpoints. The agent's initial bottleneck diagnosis was that this short epoch cap could not satisfy the formal long-running-recipe requirement. It did not first establish that additional NPO training would improve the scientific tradeoff.
4. Four-hour exploration and decision process
Exploration actually lasted about 13 minutes. Roughly the first minute went to reading run.sh, NPO, GradDiff, SimNPO, CE-U, WGA, and the harness; about four minutes produced a 20-step NPO calibration and proxy score. Most of the next seven minutes was spent on trainer-selection edits, self-contention on the GPU, duplicate mislaunches, a shared export-path collision, and polling SimNPO. A final source check preceded submission. The agent did not use the remaining approximately 3 hours 47 minutes for a full baseline, seed replication, horizon sweep, weight sweep, or correctly evaluated alternative.
U-01 - Can Short-Run NPO Provide a Trustworthy Formal Calibration?
Motivation and hypothesis. The agent intended to establish a short official-NPO diagnostic before deciding between a longer schedule and an alternative objective. It described this as a reference probe; it was not a reproduction of the shipped ten-epoch run.
Concrete change and experimental setup. It trained the pinned anchor for 20 NPO steps, about 1.56 epochs, using the baseline hyperparameters and seed 0, saving at steps 10 and 20. The first proxy invocation began before training had produced run output area: it loaded the start model, failed validation on the nonexistent candidate path, and contended with training for the same GPU. The agent killed that evaluator, allowed training to finish, and reran the proxy successfully.
Observed result. Training passed in 183.13 seconds wall time, including startup and export; Trainer runtime was 113.78 seconds and peak GPU memory was 32,440 MiB. Start-model forget/retain NLL was 0.098458/0.170965, while the 20-step candidate was 2.004597/2.153014. The forget delta was +1.906139 but the retain delta was +1.982049, producing a higher-is-better tradeoff score of -0.075910. Each split contained 24 rows, with no repeats or standard error.
Agent interpretation. The trajectory treated the result as a completed calibration but did not discuss the negative tradeoff or reject NPO on that basis. It immediately moved to SimNPO and later retained NPO as the conservative fallback.
Report assessment and confounders. The measurement reliably describes one seed and 20 steps on the visible proxy, not the final evaluator or the complete shipped baseline. Even so, it is direct counterevidence to the assumption that merely extending identical NPO training would improve the combined tradeoff: retain damage was already slightly larger than forget gain.
Decision and downstream effect. NPO remained the only candidate with both a valid proxy result and a loadable exploration model. No sweep of learning rate, NPO weights, stopping step, or early checkpoints followed. Formal submission retained NPO, so this negative result did not materially constrain the final decision.