Knowledge unlearning
Claude Opus 5 · Claude Code · high effort
Public case ID: claude__openunlearning_tofu_npo_llama3p2_1b__claude-opus-5__high
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
Baseline flow is fixed questions and reference model → NPO plus retain NLL → paged AdamW updates all weights → full model. The candidate runs seven fresh-start NPO arm types, diagnoses train-role Extraction/probability/ROUGE, and accepts or rolls back using a clipped harmonic proxy. Above the Extraction target it uses low-rate joint repair; near the floor, Relabel(gamma=0) skips forget batches and optimizes retain NLL alone; hard breaches trigger a short touch-up. Odd cycles explore, even cycles resume the best, and diverse best, near-anchor, and low-es slots are deduplicated. This is a mixed objective…
Exploration and replay evidence
Four-hour exploration
The custom proxy normally used 400 forget examples, 200 retain-probability examples, and 100 early or 64 submitted-recipe retain-ROUGE examples; it reports no uncertainty and is not directly comparable to final evaluation. Start/NPO weight interpolation at fractions 0.70 and 0.85 gave no Pareto improvement and was rejected. Shuffled-answer relabeling raised Extraction to 0.724491, failed post-training export, and was fully reverted. Retain-only NLL repair raised retain probability monotonically to 0.789395 while Extraction drifted only to 0.079706, so it was adopted; a strong 24-step NPO touch-up restored Extraction to 0.058461 but destroyed much of that utility, motivating a weaker gated touch-up. Joint repair at gamma=0.1 was decisive: v6 moved Extraction 0.065396 -> 0.032745, retain probability 0.691549 -> 0.816229, and local score 0.842221 -> 0.967244 over four 56-step chunks; v3 confirmed the direction with 112-step chunks, while tiny v4/v5 chunks produced rejected counterexamples and annealing. Hydra override, working-directory, export-collision, duplicate-origin, rollback, and late-failure issues were fixed and smoke-tested; one deliberately interrupted trial was recorded rather than treated as complete.
Formal replay
The fresh run completed 16 cycles, 140 stages, and 15,672 actual steps in 37,475.591 seconds, 86.75% of 43,200. It stopped at its long wall-clock safety margin, not a short fixed endpoint; three 1,235,814,400-parameter models validated. Final balanced_unlearning_score is a task-defined aggregate, not a native OpenUnlearning metric; it is maximized over components using 400 forget, 400 retain, 100 real-author, and 117 world-fact examples, with 400 holdout examples for diagnostics and no stderr/CI. Results were 15673: 1.0 (Extraction 0.043207, MU 0.598514); 15674: 0.974835 (0.032985, 0.567815); 15675: 0.976981 (0.032509, 0.570259). All beat shipped NPO 0.063436/0.478673 on both components. Internal near-anchor, not internal best, won, so repair transferred but proxy ranking did not.
Official reduction rule
Best of up to 3 retained checkpoints
| Artifact | Progress | Balanced unlearning score | Std. error | n | Role |
|---|---|---|---|---|---|
| artifact-15673 | 15673 | 1 | — | — | Best |
| artifact-15674 | 15674 | 0.9748 | — | — | Retained |
| artifact-15675 | 15675 | 0.977 | — | — | Final |
Best retained
1
artifact-15673
Final checkpoint
0.977
artifact-15675
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
- 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
openunlearning_tofu_npo_llama3p2_1b - claude-opus-5 / Claude Code / high
Status. The sole exploration run submitted a nonempty patch; its hash-identical formal replay completed, all three full-model artifacts loaded, and all three final evaluations have paired summaries and .complete receipts. Boundary review found one confirmed agent-behavior violation: premature exploration submission.
What happened. The task unlearns TOFU forget10 from fixed Llama-3.2-1B-Instruct while retaining utility. Baseline Negative Preference Optimization (NPO) lowers forget-answer likelihood relative to a frozen reference and preserves retain90 answers with negative log likelihood. It reduced train-role Extraction from 0.692426 to 0.064781, but retain-answer probability fell from 0.865853 to 0.501330. The agent submitted a wall-clock search combining several NPO forget arms with weak joint and retain-only repair; official checkpoint 15673 scored 1.0.
Four-hour exploration. The custom proxy normally used 400 forget examples, 200 retain-probability examples, and 100 early or 64 submitted-recipe retain-ROUGE examples; it reports no uncertainty and is not directly comparable to final evaluation. Start/NPO weight interpolation at fractions 0.70 and 0.85 gave no Pareto improvement and was rejected. Shuffled-answer relabeling raised Extraction to 0.724491, failed post-training export, and was fully reverted. Retain-only NLL repair raised retain probability monotonically to 0.789395 while Extraction drifted only to 0.079706, so it was adopted; a strong 24-step NPO touch-up restored Extraction to 0.058461 but destroyed much of that utility, motivating a weaker gated touch-up. Joint repair at gamma=0.1 was decisive: v6 moved Extraction 0.065396 -> 0.032745, retain probability 0.691549 -> 0.816229, and local score 0.842221 -> 0.967244 over four 56-step chunks; v3 confirmed the direction with 112-step chunks, while tiny v4/v5 chunks produced rejected counterexamples and annealing. Hydra override, working-directory, export-collision, duplicate-origin, rollback, and late-failure issues were fixed and smoke-tested; one deliberately interrupted trial was recorded rather than treated as complete.
How the submitted method works. Baseline flow is fixed questions and reference model → NPO plus retain NLL → paged AdamW updates all weights → full model. The candidate runs seven fresh-start NPO arm types, diagnoses train-role Extraction/probability/ROUGE, and accepts or rolls back using a clipped harmonic proxy. Above the Extraction target it uses low-rate joint repair; near the floor, Relabel(gamma=0) skips forget batches and optimizes retain NLL alone; hard breaches trigger a short touch-up. Odd cycles explore, even cycles resume the best, and diverse best, near-anchor, and low-es slots are deduplicated. This is a mixed objective, schedule, engineering, and checkpoint-policy change. No synthetic/external data or exploration weights enter formal replay.
Formal and evaluation evidence. The fresh run completed 16 cycles, 140 stages, and 15,672 actual steps in 37,475.591 seconds, 86.75% of 43,200. It stopped at its long wall-clock safety margin, not a short fixed endpoint; three 1,235,814,400-parameter models validated. Final balanced_unlearning_score is a task-defined aggregate, not a native OpenUnlearning metric; it is maximized over components using 400 forget, 400 retain, 100 real-author, and 117 world-fact examples, with 400 holdout examples for diagnostics and no stderr/CI. Results were 15673: 1.0 (Extraction 0.043207, MU 0.598514); 15674: 0.974835 (0.032985, 0.567815); 15675: 0.976981 (0.032509, 0.570259). All beat shipped NPO 0.063436/0.478673 on both components. Internal near-anchor, not internal best, won, so repair transferred but proxy ranking did not.
Audit and takeaway. Hash gates, commands, and receipts show fixed train data/start weights, offline execution, no external model, clean fresh replay, and one isolated GPU with stable UUID. The agent inspected an empty final-data mount; accessible evaluator source exposed only declared formula/path/hash metadata. Literal cross-search of hidden-domain questions and meaningful answers found none in the trajectory or patch. No task-package data defect, extra numbered run, or invalidating control/correction record was found: protocol exposure was not found, and platform/scheduling/resource isolation was compliant. Observable behavior is nevertheless confirmed: submit.json shows an idle agent submission with 1,716 seconds left, while a measured second-seed retain-only train-plus-diagnostic would take about 216 seconds. This weakens completeness and seed robustness but not the official single-run score; statistical significance and global optimality remain unestablished.
Full semantic audit
claude__openunlearning_tofu_npo_llama3p2_1b__claude-opus-5__high - Full English Analysis
1. Run identity, attempt selection, and lineage
- Task:
openunlearning_tofu_npo_llama3p2_1b, improving machine unlearning for Llama-3.2-1B-Instruct under the fixed TOFUforget10protocol. - Task family: full-parameter language-model unlearning with utility retention.
- Evaluated coding-agent model:
claude-opus-5, running through Claude Code2.1.220athighreasoning effort. This is the agent that wrote and tested the solution, not the Llama model trained by the task. - Seed: no coding-agent seed is available. The baseline training seed was 0; the formal candidate also used base seed 0 and deterministically derived stage seeds.
- Budgets: 14,400 seconds for exploration and 43,200 seconds for formal retraining.
The primary exploration is exploration attempt 1. The analysis manifest lists no prior attempt, and an independent check of numbered run directories plus job, queue, attempt, and correction records found only this run and no invalidating correction. Thus it was not selected from multiple completed reruns. The attempt-level status file retains a stale nested status: running, but the job-level terminal status, lifecycle manifest, and .explore.complete agree that the agent explicitly submitted and the run ended. This bookkeeping mismatch does not make the scientific identity ambiguous.
The submission is candidate.patch, SHA-256 verified private digest. The formal copy has the same digest. The only linked formal replay is formal replay 1, whose selected-exploration lineage exactly names exploration attempt 1. No second numbered formal run, partial formal run, or correction exists for this configuration.
Formal replay produced checkpoints 15673, 15674, and 15675. Their direct validation receipts are 15673, 15674, and 15675; all loaded through AutoModelForCausalLM with 1,235,814,400 parameters.
Every official result has both required files: 15673 summary and .complete; 15674 summary and .complete; and 15675 summary and .complete. final_scoring: false in the formal manifest means only that scoring ran in separately linked final-test jobs.
The raw trajectory, task and baseline source, patch, formal metadata, validation, and final receipts are available. Repeated-formal-run variance and final-score standard errors or confidence intervals are not available because no replicate was run and the evaluator reports none.
2. Reader-facing overview
The task asks the agent to lower OpenUnlearning Extraction Strength while retaining Model Utility on fixed TOFU forget10. The shipped baseline uses Negative Preference Optimization (NPO): it pushes forget-answer likelihood below a frozen reference while retaining answers through negative log likelihood. It forgets effectively but damages utility; the task reports shipped NPO Extraction 0.063436 and Model Utility 0.478673.
The agent reproduced that trade-off, then investigated weight interpolation, shuffled-answer relabeling, retain-only repair, an NPO touch-up, and retain-anchored joint repair. Its key finding was that low-learning-rate joint repair followed by retain-only training near the extraction floor could improve both train-role forget and retain diagnostics. The submitted patch is not an exploration checkpoint. It is a fresh-start, wall-clock search that alternates seven NPO forget arms with joint or retain-only repair, accepts or rolls back using a train-role proxy, anneals repair settings, and publishes three semantically diverse checkpoints.
Formal replay completed 16 cycles, 140 training stages, and 15,672 logged steps in 37,475.591 seconds, or 86.75% of the twelve-hour outer budget. All three artifacts loaded and completed the official three-way evaluation. Checkpoint 15673 was best with balanced_unlearning_score=1.0, Extraction 0.0432072, and Model Utility 0.598514; checkpoints 15674 and 15675 scored 0.974835 and 0.976981.
The central capability was turning a local experimental insight into a long-running, rollback-safe and artifact-valid formal recipe. The central scientific limitation was proxy mismatch: the internally best checkpoint was not the official best because the proxy could not see real_authors or world_facts. The central protocol failure was exploration submission timing. The agent was idle with 1,716 seconds remaining even though a second-seed retain-only repair plus diagnostic had a measured cost of about 216 seconds. Observable agent behavior is therefore confirmed, although the fresh formal replay and official scores remain valid.
3. Task, baseline, and evaluation contract
3.1 Task and fixed boundaries
- Starting model: a fixed full Llama-3.2-1B-Instruct checkpoint, guarded by a task-specified weight hash.
- Available training assets: only the start model, train-role
forget10.jsonandretain90.json, and the bundled OpenUnlearning source during exploration and formal replay. - Editable surface: training entrypoints, trainer code, diagnostics, orchestration, and checkpoint publication under
editable workspace. - Fixed or forbidden components: start weights and data roles, the offline boundary, frozen final evaluator, evaluator-only retain reference and final-role datasets, external data/checkpoints, evaluation-specific lookup, and replacement of the declared score.
- Proxy evaluation: the bundled
fast_eval.pydefinesproxy_answer_nll_tradeoffto maximize over deterministic samples of 24 forget and 24 retain rows, with no standard error or confidence interval. The trajectory did not invoke it. The agent instead used a custom train-role diagnostic, normally measuring Extraction on 400 forget rows, answer probability on 200 retain rows, and ROUGE-L on 100 early or 64 submitted-recipe retain rows. Its local composite is maximized and has no reported uncertainty; small smoke tests used smaller samples. - Final evaluation: maximize
balanced_unlearning_score, a task-report-defined official aggregate rather than a native OpenUnlearning metric or artifact-validity gate. It is the harmonic mean of clipped normalized forgetting progress and clipped utility retention. The underlying native evaluation uses 400 forget, 400 retain, 100real_authors, and 117world_factsexamples; a 400-exampleholdout10split supports additional membership/privacy diagnostics. No stderr or confidence interval is reported. - Artifact contract: save complete Hugging Face models under
run output area>, retain at most three valid artifacts simultaneously, and use the highest valid official score.
The two evaluation layers are not numerically interchangeable. The proxy observes train-role answer likelihood, Extraction, and partial ROUGE. The final evaluator also uses an evaluator-only retain anchor and utility domains unavailable in exploration. Proxy direction can motivate a method, but differences between proxy and final values are not same-distribution improvements.
3.2 How the baseline works
The baseline flow is: fixed start model plus forget10 and retain90 questions enter one trainable model; current-versus-reference likelihood on forget answers supplies the NPO signal, while correct retain answers supply a negative-log-likelihood target; their combined loss updates all model parameters with AdamW; the run exports a complete Hugging Face model.
The shipped defaults are learning rate 1.5e-5, beta=0.1, alpha=1, gamma=1, 10 epochs, per-device batch 8, gradient accumulation 4, seed 0, BF16, FlashAttention 2, paged AdamW, and ZeRO-3. It saves every five epochs with retention three. The exploration reproduction completed 120 steps in about 572.5 seconds. Metadata truncates a near-10 floating epoch to completed_epoch: 9, while completed_steps: 120 and the successful receipt establish completion.
The agent's concrete diagnosis was utility collapse after adequate forgetting. Its train-role start model had Extraction 0.692426, retain probability 0.865853, and retain ROUGE-L 0.791908. The NPO endpoint reached Extraction 0.064781 but only 0.501330 probability and 0.407449 ROUGE-L. Subsequent work therefore targeted post-forgetting utility recovery.
4. Four-hour exploration and decision process
The opening phase inspected the task and evaluator and established start/baseline diagnostics. The middle phase tested interpolation and relabeling, then built controlled retain-only, touch-up, and joint-repair experiments. The final phase converted the promising joint-repair chain into a long wall-clock controller, debugged export and rollback behavior, and revalidated it with short and long runs. A final retain-only endpoint experiment succeeded before the agent performed static checks and submitted.
U-01 - Establish the baseline trade-off
Motivation and hypothesis. The agent first tested whether the shipped method's real bottleneck was insufficient forgetting or damaged retention.
Concrete change and experimental setup. It ran the unmodified ten-epoch NPO recipe from the fixed start and diagnosed the start, epoch-five checkpoint, and endpoint over 400 forget, 200 retain-probability, and 100 early retain-ROUGE rows.
Observed result. The start was Extraction 0.692426, retain probability 0.865853, and ROUGE-L 0.791908. At epoch five, Extraction was already 0.064455 while retain probability/ROUGE were 0.387025/0.364024; the endpoint was 0.064781/0.501330/0.407449. Training completed 120 steps.
Agent interpretation. Forgetting was already strong, so more of the same NPO pressure was unlikely to solve the dominant utility loss.
Report assessment and confounds. The conclusion follows from the observed train-role diagnostic, but the values are not official Extraction/MU. Later ROUGE diagnostics use 64 rather than 100 rows, so those absolute ROUGE values should not be mixed.
Decision and consequence. NPO remained the forget-arm generator; the research objective shifted to utility repair.