Navers lab
← Trajectory Explorer
NPOCompleted

Knowledge unlearning

GPT-5.6 Luna · Codex · xhigh effort

Public case ID: codex__openunlearning_tofu_npo_llama3p2_1b__gpt-5.6-luna__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 forget-anchored pairing - current/reference forget likelihood ratio plus original retain labels - NPO forget loss plus alpha-1 retain NLL - full-model AdamW update. Candidate flow is full retain90 traversal with random forget pairing - the same signals and NPO update at beta 0.05 plus alpha-2 retain NLL - full-model update. No generated reward, synthetic data, external input, or prior rationale is used. Thus the update rule is unchanged; sampling, hyperparameters, schedule, export engineering, and checkpoint policy changed. Exploration weights did not cross phases.

Exploration and replay evidence

Four-hour exploration

The maximize-direction proxy deterministically used 24 rows per split (96 model-row evaluations), with no stderr and no numerical comparability to final metrics. Under forget anchoring, beta 0.05 scored 1.757 but badly worsened retain NLL, so it was rejected. A mistaken inactive environment variable first produced an alpha-1 control; corrected matched five-epoch alpha 2 reduced retain damage, and its 120-step extension scored 1.819. Retain anchoring then scored 3.455 with retain delta -0.066, although it also increased updates per declared epoch roughly ninefold. Reference-free SimNPO scored only 1.201 and was rejected without a retain-anchor test. A retain-anchor alpha-1 control scored 2.414, but an intended matched alpha-2 comparison was confounded by floor-rounded checkpoint collision; progress accounting was fixed. Beta-0.1 curves rose monotonically through progress 3/4/5 (3.468/3.710/3.822) and 6/8/10 (4.134/4.342/4.457), and a one-step export canary passed, though it was not performance evidence for the later beta. Finally, retain-anchor beta 0.05 scored 7.442 at two epochs and 8.712 at three, with final retain delta -0.023, so that recipe was selected. All performance runs used seed 0.

Formal replay

Replay completed 8,960 steps in 32,711.5/43,200 seconds and stopped normally at the fixed endpoint, not the wall clock. The receipt calls this epoch 80, while trainer state records epoch 79.293 at 8,960/8,960, so exact data passes are inconclusive. All three models loaded. The frozen three-way score-only TOFU composite has no single n; native logs report group n=400 forget, 400 holdout/retain, 100 real-authors, and 117 world-facts, with no stderr or confidence interval:

| Progress | balanced_unlearning_score (maximize) | Extraction / MU | Finding | |---|---:|---:|---| | 60 | 0.949202 | 0.055565 / 0.539398 | accepted | | 70 | 0.951038 | 0.051346 / 0.541387 | best | | 80 | 0.943977 | 0.051650 / 0.533775 | utility degraded |

All three dominate the task-provided shipped NPO reference on both native components. Broad proxy improvement survived, but monotonic extrapolation failed after progress 70; single-seed evidence cannot establish significance.

Official reduction rule

Best of up to 3 retained checkpoints

3 retained
ArtifactProgressBalanced unlearning scoreStd. errornRole
artifact-60600.9492Retained
artifact-70700.951Best
artifact-80800.944Final

Best retained

0.951

artifact-70

Final checkpoint

0.944

artifact-80

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.
Public lineage. Source-only patch replayed from the frozen start. Validated artifacts: 3. Patch ID: PATCH-85a47b78c8c8. No private filesystem or receipt path is included.

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-luna / Codex CLI 0.146.0 / xhigh

Status. Explore submission was captured despite the Codex child receiving exit 137 while the explicit submit command was in progress; matching submit, lifecycle, completion, patch-hash, and downstream records establish success. One formal replay, validation of three artifacts, and all three final evaluations completed. Boundary review finds confirmed behavior because the fixed formal endpoint materially underused the budget, not because of explore submission timing.

What happened. The task unlearns TOFU forget10 from a fixed Llama-3.2-1B-Instruct start using only 400 forget and 3,600 retain training rows. Baseline Negative Preference Optimization (NPO) lowers forget-answer likelihood relative to a frozen start reference while retain-answer NLL protects utility; its forget-anchored epochs under-covered retain90. The baseline proxy was 1.697 with a harmful +0.899 retain-NLL delta. The agent submitted retain-anchored NPO with retain weight alpha 2, beta 0.05, and an 80-epoch schedule.

Four-hour exploration. The maximize-direction proxy deterministically used 24 rows per split (96 model-row evaluations), with no stderr and no numerical comparability to final metrics. Under forget anchoring, beta 0.05 scored 1.757 but badly worsened retain NLL, so it was rejected. A mistaken inactive environment variable first produced an alpha-1 control; corrected matched five-epoch alpha 2 reduced retain damage, and its 120-step extension scored 1.819. Retain anchoring then scored 3.455 with retain delta -0.066, although it also increased updates per declared epoch roughly ninefold. Reference-free SimNPO scored only 1.201 and was rejected without a retain-anchor test. A retain-anchor alpha-1 control scored 2.414, but an intended matched alpha-2 comparison was confounded by floor-rounded checkpoint collision; progress accounting was fixed. Beta-0.1 curves rose monotonically through progress 3/4/5 (3.468/3.710/3.822) and 6/8/10 (4.134/4.342/4.457), and a one-step export canary passed, though it was not performance evidence for the later beta. Finally, retain-anchor beta 0.05 scored 7.442 at two epochs and 8.712 at three, with final retain delta -0.023, so that recipe was selected. All performance runs used seed 0.

How the submitted method works. Baseline flow is forget-anchored pairing -> current/reference forget likelihood ratio plus original retain labels -> NPO forget loss plus alpha-1 retain NLL -> full-model AdamW update. Candidate flow is full retain90 traversal with random forget pairing -> the same signals and NPO update at beta 0.05 plus alpha-2 retain NLL -> full-model update. No generated reward, synthetic data, external input, or prior rationale is used. Thus the update rule is unchanged; sampling, hyperparameters, schedule, export engineering, and checkpoint policy changed. Exploration weights did not cross phases.

Formal and evaluation evidence. Replay completed 8,960 steps in 32,711.5/43,200 seconds and stopped normally at the fixed endpoint, not the wall clock. The receipt calls this epoch 80, while trainer state records epoch 79.293 at 8,960/8,960, so exact data passes are inconclusive. All three models loaded. The frozen three-way score-only TOFU composite has no single n; native logs report group n=400 forget, 400 holdout/retain, 100 real-authors, and 117 world-facts, with no stderr or confidence interval:

| Progress | balanced_unlearning_score (maximize) | Extraction / MU | Finding | |---|---:|---:|---| | 60 | 0.949202 | 0.055565 / 0.539398 | accepted | | 70 | 0.951038 | 0.051346 / 0.541387 | best | | 80 | 0.943977 | 0.051650 / 0.533775 | utility degraded |

All three dominate the task-provided shipped NPO reference on both native components. Broad proxy improvement survived, but monotonic extrapolation failed after progress 70; single-seed evidence cannot establish significance.

Audit and takeaway. Fixed model/data hashes, byte-identical patch lineage, score-only phase separation, one-GPU telemetry, no external GPU process, and no network/external input all check out. Literal cross-search from evaluator-only assets through the complete trajectory, patch, and commands found accessible protocol fields and integrity hashes but no hidden data/weight contents or downstream use: protocol exposure was not found, and platform/scheduling/resource isolation was compliant. Explore submission had 13 seconds left—less than the fastest measured 14.74-second evaluation or 111.14-second train/export check—so it was clean. Formal behavior is nevertheless confirmed: the task prohibited a short fixed epoch endpoint, yet 80 progress used only 75.721% of twelve hours, left about 2h55m, and had no scientific stopping condition. The case shows effective diagnosis and artifact engineering, but cannot establish per-change causality, exact 80 full passes, or a budget-optimal checkpoint.

Full semantic audit

codex__openunlearning_tofu_npo_llama3p2_1b__gpt-5.6-luna__xhigh - Full English Analysis (gpt-5.6-luna / Codex CLI 0.146.0 / xhigh)

1. Run identity, attempt selection, and lineage

The selected raw trajectory, formal manifest, and formal control status establish the lineage. Direct inspection found no additional numbered explore/formal directory and no correction superseding this formal outcome.

2. Reader-facing overview

The task asks for better unlearning of TOFU forget10 facts from a fixed full Llama-3.2-1B-Instruct anchor, using only the forget10 and retain90 training-role projections. The baseline uses Negative Preference Optimization (NPO): it penalizes the trainable model for assigning the forget answers as much likelihood as a frozen reference copy, while retain-answer negative log-likelihood protects utility. Because a baseline epoch is anchored on only 400 forget examples, it pairs those with roughly 400 random draws from 3,600 retain examples. The agent measured a proxy score of 1.697 but a harmful +0.899 retain-NLL delta and identified incomplete retain coverage as the main bottleneck.

During four hours, the agent tested NPO temperature, retain-loss weight, retain-anchored sampling, the reference-free SimNPO alternative, longer schedules, and a beta-by-sampler interaction. The submitted execution still uses the baseline NPO loss and full-parameter update rule. It instead anchors each epoch on all 3,600 retain examples, raises retain weight alpha from 1 to 2, lowers beta from 0.1 to 0.05, and declares 80 epochs with publication every 10 progress units and retention of three checkpoints. Exploration weights did not cross the phase boundary; formal replay restarted at the fixed full anchor.

Formal replay completed 8,960 optimizer steps in 32,711.5 seconds and produced three loadable models. The maximize-direction official balanced_unlearning_score was 0.949202 at progress 60, 0.951038 at 70, and 0.943977 at 80, making 70 the official best. Each checkpoint had lower Extraction and higher Model Utility than the task's shipped NPO component reference. The broad proxy conclusion therefore survived, but the proxy's monotonic-training extrapolation did not: utility and the composite declined from 70 to 80.

The trajectory demonstrates strong diagnosis, ablation, long-run validation, and artifact engineering. Explore submission itself was timely: the receipt had only 13 seconds left, less than the shortest measured evaluation or training/export check. The principal failure is independent formal-budget noncompliance. The task expressly forbids normal termination solely at a short fixed epoch limit; the 80-epoch endpoint consumed only 75.7% of the 12-hour budget, left about 2 hours 55 minutes, and had no evidence-based final-metric stopping condition. Observable agent behavior is therefore confirmed, although the completed frozen evaluations remain valid measurements of the accepted checkpoints.

3. Task, baseline, and evaluation contract

3.1 Task and fixed boundaries

``text Starting artifact / model: published full anchor for meta-llama/Llama-3.2-1B-Instruct, fixed revision 88e31200… Available training data and assets: TOFU revision 324592d8… training-role forget10 and retain90, plus the fixed start; these are the complete explore/retrain universe Agent-editable surface: training objective, sampling, weighting, optimization, schedule, export, and checkpoint logic under editable workspace Fixed or forbidden components: start and data roles; no external data/checkpoints, score-phase retain reference or final-role data, evaluation lookup, replacement metric, network, or multiple GPUs Proxy evaluator: proxy_answer_nll_tradeoff, maximize; deterministic first 24 forget and first 24 retain training rows; 96 model-row evaluations; one pass with no stderr/CI Final evaluator: balanced_unlearning_score, maximize; frozen three-way OpenUnlearning evaluation over score-only TOFU roles, also reporting lower-is-better Extraction and higher-is-better Model Utility; the composite has no single n, while native logs report 400 forget, 400 holdout/retain, 100 real-authors, and 117 world-facts examples; stderr and confidence intervals are not available because no final record reports them Artifact contract: complete loadable Hugging Face exports at run output area progress>; if more than three are valid, accept the greatest three progress values and use their best valid final score ``

The proxy computes the candidate-minus-start increase in forget-answer NLL and subtracts only a positive candidate-minus-start retain-NLL degradation. It answers whether a model lowers likelihood on 24 visible forget answers without worsening 24 visible retain answers. It does not measure Extraction, Model Utility, or forget quality. The final evaluator separately evaluates the score-only retain90 reference, fixed start, and candidate. It harmonically combines clipped, reference-normalized forgetting progress with candidate utility relative to the start. Data roles, component metrics, and scales differ, so proxy and final numbers are not directly comparable. The contracts are explicit in fast_eval.py and final_eval.py.

3.2 How the baseline works

``text fixed full anchor plus 400 forget10 and 3,600 retain90 question-answer examples -> use forget10 as the epoch anchor, randomly pairing one retain example with each forget example; score forget answers with the current model and a frozen reference copy -> derive the forget target from the current-versus-reference answer-likelihood ratio, while retain targets are the original dataset answers -> apply an NPO log-sigmoid loss that lowers forget-answer likelihood plus weighted retain-answer NLL; paged AdamW updates every current-model weight -> export new complete Llama weights while the reference, dataset, and tokenizer semantics remain fixed ``

The baseline declares beta 0.1, retain weight alpha 1, forget weight gamma 1, learning rate 1.5e-5, effective batch 32, seed 0, and ten epochs. The trainer completed 120 optimizer steps; an old floor conversion recorded nine completed epochs, which later motivated the progress fix. Training uses BF16, FlashAttention 2, gradient checkpointing, and ZeRO-3 without optimizer or parameter offload. It saves on a five-epoch cadence and retains at most three published artifacts.

Only about 400 retain draws occur per forget-anchored epoch, rather than systematic coverage of all 3,600 retain rows. The baseline proxy increased forget NLL by 2.596 but also increased retain NLL by 0.899. The agent explicitly diagnosed retained-utility damage and made sampling coverage and retain weighting its first targets. The fixed contract and implementation are in the task instruction, baseline launcher, and baseline trainer wrapper.

4. Four-hour exploration and decision process

The agent first inspected the boundary, NPO implementation, data loader, and evaluators, then established the baseline in roughly nine minutes. It used the first half for short beta, alpha, sampler, and alternative-loss probes while fixing export and environment-variable failures. The middle established a retain-anchor control and repaired progress collisions. The latter portion ran five- and ten-epoch stability studies, checked export startup, and then used the remaining budget for a two-epoch beta interaction and a three-epoch confirmation. The timer showed 38 seconds just before the final submit action; the submission receipt was created with 13 seconds remaining.

U-01 - Establish the baseline and locate retained-utility damage

Motivation and hypothesis. The agent needed a local reference and a decomposition that would show whether the next change should strengthen forgetting or protect retained behavior.

Concrete change and experimental setup. It ran the unchanged forget-anchor recipe with beta 0.1, alpha 1, ten declared epochs, effective batch 32, and seed 0. Training completed 120 steps in 530.58 seconds. The deterministic proxy used 24 rows from each visible split.

Observed result. proxy_answer_nll_tradeoff was 1.697053. Forget NLL rose by 2.596497 relative to the start, but retain NLL also rose by 0.899444. The artifact was evaluable and training stayed finite.

Agent interpretation. It treated the retain degradation as evidence that the retention term and retain-row coverage were inadequate, rather than that forgetting was too weak.

Report assessment and confounds. The interpretation matches the visible decomposition. The evidence is nevertheless a single seed on fixed training rows and cannot predict final Extraction/MU.

Decision and consequence. The run became the proxy reference; beta, alpha, and sampling were tested next.