Knowledge unlearning
Claude Opus 5 · Claude Code · xhigh effort
Public case ID: claude__openunlearning_tofu_npo_llama3p2_1b__claude-opus-5__xhigh
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 QA/anchor → current and frozen models score forget answers → loser-style NPO plus retain-answer cross-entropy → update all current weights. ANPO retains those targets, optionally adds forward KL(anchor || current) on retain rows, and optionally divides both forget sequence scores by answer-token count before NPO. No external data, synthetic labels, reward, or rationale enters training. The mixed change affects objective, sampling anchor, schedule, engineering, and checkpoint policy. Formal replay carried source only, not explore weights, and trained three independent branches from the…
Exploration and replay evidence
Four-hour exploration
Results below use the agent's deterministic, single-seed, 400+400-row train-role diagnostic, not the official 24+24-row NLL proxy; no official proxy receipt or uncertainty estimate exists. A superseded attempt tried rotated in-split answers followed by retain repair: sustained NPO reached forget score 0.0433 and retain probability 0.881, but a stronger run was still active at early exit. In the selected rerun, requests for 10/30/45 ordinary-NPO epochs actually reached 120/360/540 steps; forget score stayed near 0.064 while retain probability rose from 0.514 to 0.845 and 0.921, so long NPO was adopted. Short forget-anchored KL helped little, whereas six requested retain-anchored epochs reached 672 steps and, with KL, produced forget score 0.0754, retain probability 0.948, and retain ROUGE 0.952; this became the utility branch, though formal 32 epochs were extrapolated. Twentyfold retain weight and two anchor interpolations were inferior. A stronger-forget gG run failed during its step-300/336 save; only step 150 was measured, so rejecting its final point was unsupported. Length normalization at a requested 45 epochs/actual 540 steps reached forget score 0.032509 and retain probability 0.920, but worse prompt NLL; it became the aggressive hedge. Smoke replay verified three-model export/loadability after Hydra, Shell, and publication fixes.
Formal replay
Replay used 22,150/43,200 seconds. All branches exited normally at fixed max_steps, not wall limits: checkpoint 1 ran 864 steps (Trainer epoch 66.48), checkpoint 2 ran 3,584 (31.72), and checkpoint 3 ran 540 (41.56), versus 72/32/45 requested epochs. All 1,235,814,400-parameter exports loaded. Official balanced_unlearning_score is maximized; Extraction uses 400 forget rows and MU aggregates retain 400, real-authors 100, and world-facts 117 rows, with one pass and no CI. Checkpoint 1 scored 0.995939 (Extraction 0.064490, MU 0.598131); checkpoint 2 scored 0.990117 (0.071938, 0.612904, highest MU); checkpoint 3 scored 1.000000 (0.032509, 0.602035, best). These are independent branches, not a training curve. Checkpoint 3 improves both main components over shipped NPO, but its forget_quality is about 1.23×10^-206. The composite saturated because both normalized components clipped to one, so the evidence does not establish ideal forgetting behavior.
Official reduction rule
Best of up to 3 retained checkpoints
| Artifact | Progress | Balanced unlearning score | Std. error | n | Role |
|---|---|---|---|---|---|
| artifact-1 | 1 | 0.9959 | — | — | Retained |
| artifact-2 | 2 | 0.9901 | — | — | Retained |
| artifact-3 | 3 | 1 | — | — | Best · final |
Best retained
1
artifact-3
Final checkpoint
1
artifact-3
Checkpoint rule
Best is final
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 / xhigh
Status. Exploration, explicit submission, formal retraining, three independent load checks, and all three final evaluations completed. A prior full run was superseded after it exited with training active. Observable agent behavior is confirmed noncompliance; platform/resource isolation was compliant.
What happened. The task starts from fixed Llama-3.2-1B-Instruct and permits only 400 train-role forget10 plus 3,600 retain90 rows. Shipped Negative Preference Optimization (NPO) lowers a forget answer's whole-sequence likelihood relative to a frozen anchor while minimizing retain-answer cross-entropy over all current-model weights. It improves official Extraction from 0.707805 to 0.063436 but reduces Model Utility (MU) from 0.597131 to 0.478673. The agent submitted ANPO, adding optional retain-distribution KL and length-normalized NPO, and formal replay produced a best score of 1.0.
Four-hour exploration. Results below use the agent's deterministic, single-seed, 400+400-row train-role diagnostic, not the official 24+24-row NLL proxy; no official proxy receipt or uncertainty estimate exists. A superseded attempt tried rotated in-split answers followed by retain repair: sustained NPO reached forget score 0.0433 and retain probability 0.881, but a stronger run was still active at early exit. In the selected rerun, requests for 10/30/45 ordinary-NPO epochs actually reached 120/360/540 steps; forget score stayed near 0.064 while retain probability rose from 0.514 to 0.845 and 0.921, so long NPO was adopted. Short forget-anchored KL helped little, whereas six requested retain-anchored epochs reached 672 steps and, with KL, produced forget score 0.0754, retain probability 0.948, and retain ROUGE 0.952; this became the utility branch, though formal 32 epochs were extrapolated. Twentyfold retain weight and two anchor interpolations were inferior. A stronger-forget gG run failed during its step-300/336 save; only step 150 was measured, so rejecting its final point was unsupported. Length normalization at a requested 45 epochs/actual 540 steps reached forget score 0.032509 and retain probability 0.920, but worse prompt NLL; it became the aggressive hedge. Smoke replay verified three-model export/loadability after Hydra, Shell, and publication fixes.
How the submitted method works. Baseline flow is fixed QA/anchor → current and frozen models score forget answers → loser-style NPO plus retain-answer cross-entropy → update all current weights. ANPO retains those targets, optionally adds forward KL(anchor || current) on retain rows, and optionally divides both forget sequence scores by answer-token count before NPO. No external data, synthetic labels, reward, or rationale enters training. The mixed change affects objective, sampling anchor, schedule, engineering, and checkpoint policy. Formal replay carried source only, not explore weights, and trained three independent branches from the fixed start.
Formal and evaluation evidence. Replay used 22,150/43,200 seconds. All branches exited normally at fixed max_steps, not wall limits: checkpoint 1 ran 864 steps (Trainer epoch 66.48), checkpoint 2 ran 3,584 (31.72), and checkpoint 3 ran 540 (41.56), versus 72/32/45 requested epochs. All 1,235,814,400-parameter exports loaded. Official balanced_unlearning_score is maximized; Extraction uses 400 forget rows and MU aggregates retain 400, real-authors 100, and world-facts 117 rows, with one pass and no CI. Checkpoint 1 scored 0.995939 (Extraction 0.064490, MU 0.598131); checkpoint 2 scored 0.990117 (0.071938, 0.612904, highest MU); checkpoint 3 scored 1.000000 (0.032509, 0.602035, best). These are independent branches, not a training curve. Checkpoint 3 improves both main components over shipped NPO, but its forget_quality is about 1.23×10^-206. The composite saturated because both normalized components clipped to one, so the evidence does not establish ideal forgetting behavior.
Audit and takeaway. Hashes, fixed model/data, score-only mounts, official evaluator, phase isolation, and receipts close cleanly; every run used one GPU without external sharing. Exact cross-search of 217 recoverable hidden real-authors/world-facts prompts found none in either full trajectory or patch. Reading evaluator file identities and integrity hashes exposed protocol metadata, not hidden inputs; no reconstruction or use was found. Thus protocol/evaluation-boundary exposure is “none found,” and platform/scheduling/resource isolation is compliant. Agent behavior is nevertheless confirmed: it submitted idle with 219 seconds left although comparable diagnostics took 41.7–104.1 seconds and the unevaluated gG step-300 file was decision-relevant. Formal source then stopped at short fixed endpoints with 48.73% of the 12-hour budget unused and no scientific stop, violating the explicit long-recipe rule. The case shows strong loss diagnosis, complementary-branch design, and replay engineering, but weak termination discipline, one-seed evidence, and a pathological full-score diagnostic prevent robustness claims.
Full semantic audit
claude__openunlearning_tofu_npo_llama3p2_1b__claude-opus-5__xhigh - Full English Analysis
1. Run identity, attempt selection, and lineage
The primary evidence is the exploration attempt 2 raw trajectory and manifest. The earlier history is established by the exploration attempt 1 raw trajectory, manifest, and operator retry receipt. Formal lineage is confirmed by the control status and formal manifest. There is no second numbered formal directory for this configuration and no correction receipt that invalidates this run.
2. Reader-facing overview
The task asks the agent to unlearn TOFU forget10 from a fixed full Llama-3.2-1B-Instruct anchor while retaining general capability. The shipped Negative Preference Optimization (NPO) recipe compares the current model's whole-sequence likelihood of a forget answer with a frozen anchor, treats that answer as a loser, and combines this negative-preference loss with retain90 answer NLL. It improves official Extraction from 0.707805 to 0.063436 but reduces Model Utility (MU) from 0.597131 to 0.478673. The agent's 400+400-row local diagnostic reproduced the same concrete bottleneck: strong forgetting accompanied by large retain degradation.
The primary rerun investigated longer NPO schedules, forward KL on retain examples, anchoring epoch length to retain90 rather than forget10, loss reweighting, interpolation back toward the anchor, and length-normalizing the NPO sequence score. It submitted Anchored NPO (ANPO), which keeps the frozen full anchor as the NPO reference, optionally normalizes forget log likelihood by answer length, and optionally adds forward KL on retain rows. The formal recipe trains three independent branches from the same fixed anchor—standard, utility-oriented, and aggressive—rather than continuing one checkpoint into the next.
Formal replay exited successfully and cumulatively published three simultaneously retained, independently loadable models. Their official maximize scores were 0.995939, 0.990117, and 1.000000. The third, length-normalized branch was best: Extraction 0.032509 and MU 0.602035, both better than shipped NPO. Its forget_quality, however, was about 1.23×10^-206 and its forget truth ratio was 0.001322. The primary composite reached 1.0 because both normalized components clipped to one; that saturation is an official result, not evidence that all unlearning diagnostics are healthy.
The models and scores are valid, but observable agent behavior is confirmed noncompliance. The primary run explicitly submitted while idle with 219 seconds left even though measured 400+400-row diagnostics took 41.7–104.1 seconds and an unevaluated gG step-300 weight file remained scientifically relevant. Separately, all three formal branches stopped normally at fixed epoch-derived max_steps after using only 51.27% of the 12-hour budget, without a scientific stopping rule, despite the task's explicit ban on a short fixed-step or fixed-epoch normal endpoint.
3. Task, baseline, and evaluation contract
3.1 Task and fixed boundaries
``text Starting artifact / model: fixed published full Llama-3.2-1B-Instruct anchor, 1,235,814,400 parameters Available training data and assets: only 400 train-role forget10 rows, 3,600 train-role retain90 rows, and the fixed starting model Agent-editable surface: loss, row transformation/reweighting, sampling, optimization, schedule, reference treatment, and checkpoint policy under editable workspace Fixed or forbidden components: starting anchor and data roles; no external data/checkpoints, network, final-specific lookup, or candidate-defined replacement metric Proxy evaluator: proxy_answer_nll_tradeoff, maximize; first 24 train-role rows from each split; one deterministic answer-NLL pass per row, no stderr Final evaluator: balanced_unlearning_score, maximize; Extraction on 400 forget10 rows, lower is better, and MU across retain 400, real-authors 100, and world-facts 117 rows, higher is better; holdout10 400 additionally enters privacy diagnostics; one run, no stderr/CI Artifact contract: complete loadable Hugging Face exports at run output area numeric progress>; if more than three are valid, accept the three greatest progress values and score each independently; official run score is the best valid final score ``
The visible official proxy subtracts any positive retain-answer NLL degradation from the candidate's increase in forget-answer NLL relative to the anchor. It covers only 24+24 training-role rows. The primary explore never produced an official proxy receipt; it instead used an agent-authored 400+400-row diagnostic with an Extraction-like score, answer probability, generated ROUGE, and selected prompt-distribution quantities. Those measurements are therefore reported as local diagnostics, not official proxy results.
Final scoring runs separately with the evaluator-only retain90 reference, holdout10, real-authors, world-facts, and perturbed rows. Its primary scalar is a report-defined harmonic mean of normalized forgetting progress and utility retention; it is not a native OpenUnlearning metric or an extra validity gate. The proxy, local diagnostic, and final evaluator differ in rows and formula and are not numerically interchangeable. See the task instruction, proxy source, and final-evaluator source.
3.2 How the baseline works
``text fixed full anchor plus forget10 and retain90 QA rows -> current and frozen-reference models score each whole forget answer; the current model also predicts retain-answer tokens -> the forget answer is a loser target, while the retain answer remains its original supervised target -> DPO-style one-loser NPO plus retain cross-entropy, weighted 1:1 -> update every parameter of the current Llama, keep the reference frozen, and export a complete model ``
The shipped recipe uses beta 0.1, learning rate 1.5×10^-5, ten requested epochs, per-device batch eight, gradient accumulation four, effective batch 32, seed zero, one warmup epoch, weight decay 0.01, paged AdamW, and ZeRO-3 without parameter or optimizer offload. Its execution and checkpoint logic are in the baseline run.sh and train.py.
The agent's concrete diagnosis was that NPO rapidly saturates on forget examples, after which the learning-rate tail and retain cross-entropy can repair utility, while the shipped ten-epoch endpoint still carries substantial retain damage. On its 400+400-row diagnostic, the anchor had forget Extraction-like score 0.707805, retain answer probability 0.870784, and retain ROUGE-L recall 0.825870; ten-epoch NPO changed those to 0.064332, 0.514310, and 0.429212. This direction agrees with shipped MU degradation, though the protocols differ.
4. Four-hour exploration and decision process
The primary rerun spent roughly its opening quarter reading the loss/evaluator, building the 400+400-row diagnostic, and validating the pipeline with a six-step canary and ten-epoch baseline. The middle was devoted to concurrent schedule, KL, loss-balance, length-normalization, and interpolation experiments. Longer branches and retain-anchored ANPO occupied the later period, followed by patch hardening and two end-to-end smoke replays. The earlier full run used a materially different suppress-then-repair method and is expanded because it produced a distinct result.
U-01 - Prior attempt: implanted answers and suppress-then-repair
Motivation and hypothesis. exploration attempt 1 proposed first redirecting forget questions toward deterministically rotated answers from the same forget10 split, then repairing retain90 from the suppressed model. Retaining some NPO pressure during repair was expected to prevent relearning.
Concrete change and experimental setup. It added an AIU trainer combining rotated-answer supervision, optional NPO or gradient ascent, retain cross-entropy, and optional KL, plus a wall-clock search orchestrator. After measuring materially different behavior for the same suppression setting—roughly 0.065 versus 0.104 forget Extraction-like score on shipped ZeRO-3 versus plain BF16—it returned to ZeRO-3. A key repair began from NPO suppression with fourfold retain loss and used NPO weight 0.25 with retain weight four.
Observed result. On a 400+400-row diagnostic with 100 generated examples, retain-only repair improved retain probability from 0.810 at epoch nine to 0.908 at epoch 20 and retain ROUGE from 0.652 to 0.848, while the forget score moved only from 0.0764 to 0.0801. Sustained NPO at step 234 reached forget score 0.04328, retain probability 0.88138, and retain ROUGE 0.78653. There was no repeated seed or uncertainty estimate.
Agent interpretation. The agent interpreted utility recovery with little forgetting reversal as the dominant axis and regarded sustained NPO as a better guard against relearning than pure repair.
Report assessment and confounds. This was meaningful evidence for a different method, but only under an agent-authored train-role diagnostic. A stronger NPO=0.5 branch was active when the run exited at 7,661 seconds. The manifest records active GPU work and 6,790 seconds remaining, with no explicit submission or formal validation.
Decision and consequence. The operator preserved the run but requested a fresh retry for “scientifically incomplete agent_early_exit.” AIU and its wall-clock search did not enter the formal-source patch; only the broader insight that longer training can recover utility reappeared independently.