Navers lab
← Trajectory Explorer
NPOCompleted

Knowledge unlearning

GPT-5.6 Luna · Codex · high effort

Public case ID: codex__openunlearning_tofu_npo_llama3p2_1b__gpt-5.6-luna__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

Both baseline and candidate pair each anchored forget10 row with a random retain90 row. Current and frozen-anchor likelihoods create the NPO forgetting target; original retain answers create the NLL retention target; all Llama weights are updated. The executed change is therefore hyperparameter and duration—not a new algorithm, dataset, or training signal; checkpoint policy remained unchanged. Although the patch also implements answer-token KL and linear alpha scheduling, formal defaults selected NLL with equal alpha endpoints, so neither feature ran. Exploration's epoch-25 weights were proxy-best, but only the…

Exploration and replay evidence

Four-hour exploration

The deterministic proxy, maximize forget-NLL increase - positive retain-NLL increase, used 24 fixed train rows per split and reported no standard error. The shipped baseline requested 10 epochs and ended after 120 steps at epoch 9.24; it scored 1.6971, versus 1.4229 at its midpoint, so the final model became the fallback. Answer-token KL retention scored 1.6529 and was rejected. A retain weight rising from 0.5 to 1.5 first failed Hydra validation before training; the corrected run scored 1.5589 and was also rejected. Scanning NPO curvature gave only 0.8433 at beta=0.2 but 4.3329 at 0.05. Because the agent correctly worried that aggressive proxy forgetting could harm official utility, it raised constant retain weight to 1.5; this improved both visible deltas and scored 4.8602, so it was adopted. Extending the same recipe produced 7.0854 at the root and 7.1216 at epoch 25; an explicit late checkpoint loaded successfully. Lowering learning rate from 1.5e-5 to 1.0e-5 reduced the score to 6.9153 and was rejected. All training used seed 0. An engineering defect left seven otherwise completed variants at pending_export: the baseline had occupied shared run output area, and later wrappers refused to overwrite it. Their training roots remained evaluable; an apparently invalid directory was separately traced to ambiguous root/child checkpoint resolution, not corrupt weights.

Formal replay

Formal training returned zero after 360 steps in 1,407.61 seconds; the whole replay used 1,463.385 seconds, 3.39% of the 12-hour budget, and stopped naturally at trainer state epoch 27.72 under the fixed 30-epoch request. Four distinct progress values were cumulatively published (27, 15, 20, 25); retention left the three greatest, 20/25/27, all loadable 1,235,814,400-parameter models. Formal replay ran no proxy. Official fixed-final-role results, with evaluation n and SE/CI not reported, were: progress 20, 0.9845839626 (Extraction 0.0587748, MU 0.5789997); progress 25, 0.9845107095 (0.0562330, 0.5789149); progress 27, 0.9880092363 (0.0566652, 0.5829805). Higher composite is better. Forgetting progress clipped to 1 for all three, so the late ranking was driven mainly by MU. The broad proxy-selected direction survived, and the best model beat the supplied shipped reference on both native components, but exact ranking did not: proxy preferred epoch 25 while official scoring preferred progress 27.

Official reduction rule

Best of up to 3 retained checkpoints

3 retained
ArtifactProgressBalanced unlearning scoreStd. errornRole
artifact-20200.9846Retained
artifact-25250.9845Retained
artifact-27270.988Best · final

Best retained

0.988

artifact-27

Final checkpoint

0.988

artifact-27

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
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-c6dc49a9a116. 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 / high

Status. The exploration run submitted a patch; formal replay succeeded, all three retained models loaded, and each has an official summary.json plus .complete. The boundary audit found valid lineage and scoring but confirmed agent time-protocol violations.

What happened. The task seeks stronger TOFU forget10 unlearning from a fixed Llama-3.2-1B-Instruct full anchor while preserving retain90 utility. Shipped Negative Preference Optimization (NPO) lowers forget-answer likelihood relative to a frozen anchor and adds retain-answer negative log-likelihood (NLL); its visible baseline increased forget NLL by 2.5965 but also worsened retain NLL by 0.8994. The submitted execution kept that update rule, changed beta from 0.1 to 0.05 and constant retain weight from 1.0 to 1.5, and requested 30 rather than 10 epochs; its best official score was 0.9880092363.

Four-hour exploration. The deterministic proxy, maximize forget-NLL increase - positive retain-NLL increase, used 24 fixed train rows per split and reported no standard error. The shipped baseline requested 10 epochs and ended after 120 steps at epoch 9.24; it scored 1.6971, versus 1.4229 at its midpoint, so the final model became the fallback. Answer-token KL retention scored 1.6529 and was rejected. A retain weight rising from 0.5 to 1.5 first failed Hydra validation before training; the corrected run scored 1.5589 and was also rejected. Scanning NPO curvature gave only 0.8433 at beta=0.2 but 4.3329 at 0.05. Because the agent correctly worried that aggressive proxy forgetting could harm official utility, it raised constant retain weight to 1.5; this improved both visible deltas and scored 4.8602, so it was adopted. Extending the same recipe produced 7.0854 at the root and 7.1216 at epoch 25; an explicit late checkpoint loaded successfully. Lowering learning rate from 1.5e-5 to 1.0e-5 reduced the score to 6.9153 and was rejected. All training used seed 0. An engineering defect left seven otherwise completed variants at pending_export: the baseline had occupied shared run output area, and later wrappers refused to overwrite it. Their training roots remained evaluable; an apparently invalid directory was separately traced to ambiguous root/child checkpoint resolution, not corrupt weights.

How the submitted method works. Both baseline and candidate pair each anchored forget10 row with a random retain90 row. Current and frozen-anchor likelihoods create the NPO forgetting target; original retain answers create the NLL retention target; all Llama weights are updated. The executed change is therefore hyperparameter and duration—not a new algorithm, dataset, or training signal; checkpoint policy remained unchanged. Although the patch also implements answer-token KL and linear alpha scheduling, formal defaults selected NLL with equal alpha endpoints, so neither feature ran. Exploration's epoch-25 weights were proxy-best, but only the recipe patch crossed phases; formal replay restarted from the fixed anchor.

Formal and evaluation evidence. Formal training returned zero after 360 steps in 1,407.61 seconds; the whole replay used 1,463.385 seconds, 3.39% of the 12-hour budget, and stopped naturally at trainer state epoch 27.72 under the fixed 30-epoch request. Four distinct progress values were cumulatively published (27, 15, 20, 25); retention left the three greatest, 20/25/27, all loadable 1,235,814,400-parameter models. Formal replay ran no proxy. Official fixed-final-role results, with evaluation n and SE/CI not reported, were: progress 20, 0.9845839626 (Extraction 0.0587748, MU 0.5789997); progress 25, 0.9845107095 (0.0562330, 0.5789149); progress 27, 0.9880092363 (0.0566652, 0.5829805). Higher composite is better. Forgetting progress clipped to 1 for all three, so the late ranking was driven mainly by MU. The broad proxy-selected direction survived, and the best model beat the supplied shipped reference on both native components, but exact ranking did not: proxy preferred epoch 25 while official scoring preferred progress 27.

Audit and takeaway. Fixed model/data hashes matched; evaluator-only assets were absent before external scoring, readable evaluator source disclosed only the declared formula and integrity hashes, and no hidden-value reconstruction, external data/model, successful network input, or explore-to-formal weight contamination was found. One idle GPU was isolated per phase, and patch/run/validation lineage was intact. The three conclusions are: observable agent behavior confirmed, because submission left 7,129 seconds despite 23-minute experiments and the authored formal recipe violated the explicit long-budget rule; protocol/evaluation-boundary exposure none found; platform scheduling/resource isolation compliant. The run demonstrates controlled ablation and checkpoint validation, but one seed, proxy-only selection, a task-wrapper export defect, and severe budget underuse mean it cannot establish robustness, exhaustive search, or genuine 12-hour behavior.

Full semantic audit

codex__openunlearning_tofu_npo_llama3p2_1b__gpt-5.6-luna__high - Full English Analysis

1. Run identity, attempt selection, and lineage

The formal controller classified the one formal attempt as terminal_behavior because replay and frozen-checkpoint validation completed. Its manifest has final_scoring=false because scoring was scheduled separately; the manifest-linked final-tests directories later supplied complete official results. Likewise, exploration's auto_retrain=false says only that the exploration container did not create a replay phase; it does not contradict the upstream-linked formal job.

2. Reader-facing overview

The task asks for stronger unlearning of TOFU forget10 from a fixed published Llama-3.2-1B-Instruct full anchor while retaining capability on retain90. The shipped method is Negative Preference Optimization (NPO): it makes forget answers less likely relative to a frozen copy of the anchor and adds ordinary retain-answer negative log-likelihood (NLL). The visible baseline exposed a concrete tradeoff: forget-answer NLL rose as desired, but retain-answer NLL also rose substantially.

The agent compared answer-token KL retention, a linearly increasing retain weight, NPO curvature, a stronger constant retain weight, training horizon, learning rate, and checkpoint behavior. Its submitted execution still used NPO plus retain NLL; it changed beta from 0.1 to 0.05, constant alpha from 1.0 to 1.5, and the requested horizon from 10 to 30 epochs. On the deterministic 24-row-per-split proxy, this moved the final score from 1.6971 for the shipped configuration to 7.0854, with the epoch-25 checkpoint slightly higher at 7.1216.

Fresh formal replay completed and produced three independently loadable models. All three have official three-way OpenUnlearning results. Progress 27 was best: balanced_unlearning_score=0.9880092363, Extraction 0.0566652, and Model Utility (MU) 0.5829805. That one run is better on both native components than the supplied shipped-NPO reference point, Extraction 0.063436 and MU 0.478673, although there is no seed replication or uncertainty estimate.

The decisive negative finding is execution-protocol noncompliance. Exploration submitted with 7,129 seconds left even though a same-scale run took about 23 minutes and no alternative seed had been tested. Formal replay then stopped naturally after about 23.5 minutes because of the fixed 30-epoch cap, using 3.39% of the 12-hour budget. Both facts contradict explicit task requirements. Asset, evaluator, network, lineage, and single-GPU isolation checks were otherwise clean, so the scores describe the short fixed recipe but do not establish exhaustive exploration or performance under the intended long budget.

3. Task, baseline, and evaluation contract

3.1 Task and fixed boundaries

``text Training start: published Llama-3.2-1B-Instruct full anchor; model.safetensors SHA-256 verified private digest Available training assets: train-role TOFU forget10.json and retain90.json plus the fixed start model Agent-modifiable surface: objectives, reference treatment, row selection/reweighting, optimization, scheduling, and checkpoint policy under editable workspace Fixed or forbidden: anchors and data roles, fresh-start replay, official evaluator/metric; no external data, checkpoints, or evaluation-specific lookup Proxy: proxy_answer_nll_tradeoff, maximize; first 24 train-role rows from each split, 96 model-row evaluations, one deterministic pass, stderr=null Final evaluator: balanced_unlearning_score, maximize, on fixed final-role data using official three-way OpenUnlearning evaluation; retains Extraction (lower is better) and MU (higher is better); n and uncertainty are not available from the result contract Artifact contract: complete Hugging Face models under run output area>; at most the three greatest valid progress values are accepted, and the best official score wins ``

The proxy subtracts any positive retain-answer-NLL degradation from the candidate's increase in forget-answer NLL relative to the start. It therefore measures “make visible forget answers harder while damaging visible retain answers less.” Final scoring additionally mounts an evaluator-only retain90 anchor and final-role datasets, evaluates the retain reference, training start, and candidate, then takes the harmonic mean of clipped normalized forgetting progress and clipped utility retention. This benchmark-local composite is not a native OpenUnlearning metric or extra validity gate. The proxy and final protocols differ in data, components, and scale and cannot be compared numerically as if they were repeated measurements.

3.2 How the baseline works

``text Fixed full anchor plus forget10 questions/answers and randomly paired retain90 questions/answers -> current model and frozen anchor score forget answers; current model scores retain answers -> forget signal is the current-versus-anchor sequence-NLL ratio, while retain labels are the original retain90 answers -> minimize the NPO forget loss plus weighted retain-answer NLL -> update all trainable Llama weights and export a complete Hugging Face model ``

The data loader is forget-anchored and randomly selects one retain90 row for each forget row. NPO supplies only the losing side of a DPO-style log-sigmoid loss, using a frozen start-model copy and beta to push forget-answer likelihood down; the retain branch minimizes labeled answer NLL. The shipped wrapper uses beta=0.1, alpha=gamma=1, learning rate 1.5e-5, 10 requested epochs, per-device batch 8, gradient accumulation 4, effective batch 32, seed 0, bf16, FlashAttention 2, paged AdamW, and ZeRO-3 without offload. It publishes every five epochs and simultaneously retains at most three artifacts. The task's supplied shipped-reference resources were 569.18 seconds for formal training, 363.53 seconds for native scoring, and 33,242 MiB peak memory.

Before measuring anything, the agent named objectives, scheduling, and checkpoint cadence as the main adjustable surface, not a deeper mechanism-level defect. The baseline later made the concrete limitation visible: forget NLL increased by 2.5965 but retain NLL increased by 0.8994, leaving a proxy tradeoff of 1.6971. This report treats that observed forget/retain tension as the bottleneck without retroactively attributing a more specific initial diagnosis to the agent.

4. Four-hour exploration and decision process

The agent spent roughly the first 15 minutes inspecting boundaries and completing the baseline, then about an hour on retention objectives, scheduling, and beta. It next ran and evaluated a roughly 23-minute long-horizon model. After initially preparing to submit, it noticed about 2 hours 25 minutes remained and added one lower-learning-rate long run; it nevertheless submitted after about 2 hours 2 minutes total, leaving almost two hours unused.

U-01 - Establish the NPO baseline and visible tradeoff

Motivation and hypothesis. A clean shipped-recipe run was needed both to prove the fixed setup worked and to give every later intervention a common proxy reference. The agent expected the later checkpoint to outperform the midpoint.

Concrete change and experimental setup. No method change: beta=0.1, alpha=1, retain NLL, 10 requested epochs, learning rate 1.5e-5, seed 0. It evaluated the final model and step 65, approximately epoch 5, on 24 fixed rows per split.

Observed result. The wrapper passed after 120 optimizer steps; final trainer state was epoch-equivalent 9.24 and the receipt truncated completed_epoch to 9. Runtime was 531.04 seconds, train loss 8.5018, and peak memory 32,440 MiB. Final forget/retain NLL deltas were +2.5965/+0.8994 for proxy 1.6971; step 65 gave +2.4789/+1.0560 for 1.4229. Neither estimate has a standard error.

Agent interpretation. It called the final model a useful fallback and judged the midpoint weaker.

Report assessment and confounds. Consistent with the agent's interpretation, but limited to seed 0 and train-role rows; it says nothing direct about official Extraction or MU.

Decision and consequence. The final shipped run became the fallback and control for every later ablation.