Navers lab
← Trajectory Explorer
NPOCompleted

Knowledge unlearning

GPT-5.6 Terra · Codex · medium effort

Public case ID: codex__openunlearning_tofu_npo_llama3p2_1b__gpt-5.6-terra__medium

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 NPO combines current-versus-reference forget likelihood with retain-answer NLL. SimNPO instead computes each forget answer's mean NLL, applies strong pressure below delta=5, and saturates above it; equal-weight retain NLL preserves original answers. It still updates all 1,235,814,400 parameters on unchanged data. The patch therefore changes objective/update rule, hyperparameters, schedule, export, and checkpoint policy—not data or sampling. Exploration weights were excluded; formal replay used the hash-matched patch from the fixed anchor. The harness overrode the source's 42,300-second fallback with…

Exploration and replay evidence

Four-hour exploration

The maximize-direction proxy was forget-NLL increase minus positive retain-NLL degradation, using fixed n=24 from each split, seed 0, one deterministic pass, and no uncertainty estimate. Raising NPO beta from 0.1 to 0.2 scored only 0.843335, so it remained a fallback. SimNPO with delta=0 scored 82.677581, but its wrapper hit an existing export directory and remained pending_export; the loadable training root supported the method result, and the agent fixed run-scoped export. A finite target, delta=5, beta=0.5, scored 47.888843 with retain degradation 0.274007. beta=1 forgot less; beta=0.25 scored higher overall but damaged retention more, so both were rejected. KL retention scored 32.675090 and was rejected. The alleged stronger-retention run set RETAIN_GAMMA=2 and scored 27.369596, but source shows gamma multiplies forget loss while alpha multiplies retain loss: the agent doubled forgetting and misinterpreted the ablation. Finally, the selected recipe scored 59.516076 around epoch 18 and 60.829844 at epoch 30, with final retain NLL 0.102771 better than the start. This motivated 12,000 formal steps and rolling checkpoints, but no second seed.

Formal replay

Clean training took 33,346.934 seconds, about 77.3% of the 12-hour budget, and stopped after completing all requested steps. Saving every 1,500 steps left three unique, loadable artifacts; four publication calls included a duplicate step 12,000. balanced_unlearning_score is maximize. Its Extraction component is minimize on perturbed forget10 n=400; MU is maximize and aggregates holdout10 n=400, real_authors n=100, and world_facts n=117. No stderr or confidence interval was reported.

| Checkpoint | Balanced / Extraction / MU | Finding | |---|---:|---| | 9,000 | 0.904505 / 0.032688 / 0.493026 | Best; validity passed | | 10,500 | 0.891205 / 0.033094 / 0.479950 | Utility degraded | | 12,000 | 0.867339 / 0.033094 / 0.457255 | Further degradation |

Forgetting was already clipped at full progress in all three; later training only reduced utility. Thus SimNPO's method-level proxy signal survived, but the proxy claim that longer training improved retention did not. Step 9,000 improves both native components over the shipped NPO reference; proxy and final scores are not directly comparable.

Official reduction rule

Best of up to 3 retained checkpoints

3 retained
ArtifactProgressBalanced unlearning scoreStd. errornRole
artifact-900090000.9045Best
artifact-10500105000.8912Retained
artifact-12000120000.8673Final

Best retained

0.9045

artifact-9000

Final checkpoint

0.8673

artifact-12000

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
Unknown
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-e4c0d4df7503. 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-terra / Codex CLI / medium

Status. Exploration and explicit submission completed. formal replay 1 was invalidated for exact-GPU contamination; clean exploration attempt 2 completed 12,000 steps, validated three artifacts, and obtained three official final evaluations with both summary.json and .complete. The best step-9,000 SimNPO model scored 0.904505, although early submission makes observable agent behavior confirmed protocol noncompliance.

What happened. The task requires unlearning TOFU forget10 while preserving retain90 from a fixed Llama-3.2-1B-Instruct anchor. Baseline NPO lowers forget-answer likelihood relative to a frozen reference model and uses answer negative log-likelihood (NLL) on retain data. The agent identified the short schedule, weak forget signal, and reference-model cost, then submitted reference-free simplified NPO (SimNPO) with a saturating forget-NLL target.

Four-hour exploration. The maximize-direction proxy was forget-NLL increase minus positive retain-NLL degradation, using fixed n=24 from each split, seed 0, one deterministic pass, and no uncertainty estimate. Raising NPO beta from 0.1 to 0.2 scored only 0.843335, so it remained a fallback. SimNPO with delta=0 scored 82.677581, but its wrapper hit an existing export directory and remained pending_export; the loadable training root supported the method result, and the agent fixed run-scoped export. A finite target, delta=5, beta=0.5, scored 47.888843 with retain degradation 0.274007. beta=1 forgot less; beta=0.25 scored higher overall but damaged retention more, so both were rejected. KL retention scored 32.675090 and was rejected. The alleged stronger-retention run set RETAIN_GAMMA=2 and scored 27.369596, but source shows gamma multiplies forget loss while alpha multiplies retain loss: the agent doubled forgetting and misinterpreted the ablation. Finally, the selected recipe scored 59.516076 around epoch 18 and 60.829844 at epoch 30, with final retain NLL 0.102771 better than the start. This motivated 12,000 formal steps and rolling checkpoints, but no second seed.

How the submitted method works. Baseline NPO combines current-versus-reference forget likelihood with retain-answer NLL. SimNPO instead computes each forget answer's mean NLL, applies strong pressure below delta=5, and saturates above it; equal-weight retain NLL preserves original answers. It still updates all 1,235,814,400 parameters on unchanged data. The patch therefore changes objective/update rule, hyperparameters, schedule, export, and checkpoint policy—not data or sampling. Exploration weights were excluded; formal replay used the hash-matched patch from the fixed anchor. The harness overrode the source's 42,300-second fallback with 42,600 seconds.

Formal and evaluation evidence. Clean training took 33,346.934 seconds, about 77.3% of the 12-hour budget, and stopped after completing all requested steps. Saving every 1,500 steps left three unique, loadable artifacts; four publication calls included a duplicate step 12,000. balanced_unlearning_score is maximize. Its Extraction component is minimize on perturbed forget10 n=400; MU is maximize and aggregates holdout10 n=400, real_authors n=100, and world_facts n=117. No stderr or confidence interval was reported.

| Checkpoint | Balanced / Extraction / MU | Finding | |---|---:|---| | 9,000 | 0.904505 / 0.032688 / 0.493026 | Best; validity passed | | 10,500 | 0.891205 / 0.033094 / 0.479950 | Utility degraded | | 12,000 | 0.867339 / 0.033094 / 0.457255 | Further degradation |

Forgetting was already clipped at full progress in all three; later training only reduced utility. Thus SimNPO's method-level proxy signal survived, but the proxy claim that longer training improved retention did not. Step 9,000 improves both native components over the shipped NPO reference; proxy and final scores are not directly comparable.

Audit and takeaway. Fixed data/model hashes, score-only final assets, frozen evaluators, no external input, fresh explore-to-formal mounts, single-GPU clean replay, runtime, patch hash, and receipts all checked out; no hidden-value exposure, reconstruction/use, or candidate impact was found, so protocol-boundary exposure is “none found.” Platform/resource isolation has a confirmed defect because exploration attempt 1 shared its GPU, but authoritative exclusion and clean replay preserve official validity; observable behavior is nevertheless confirmed because the agent submitted with 8,846 seconds remaining, no active training, and feasible correct-alpha and seed tests outstanding despite the task's explicit condition. The case demonstrates strong method and delivery engineering, but cannot establish cross-seed robustness or global optimality at step 9,000.

Full semantic audit

codex__openunlearning_tofu_npo_llama3p2_1b__gpt-5.6-terra__medium - Full English Analysis

1. Run identity, attempt selection, and lineage

2. Reader-facing overview

The task asks the agent to improve unlearning from a fixed Llama-3.2-1B-Instruct anchor using only fixed TOFU forget10 and retain90 training data. The baseline uses negative preference optimization (NPO): it lowers the likelihood of forget answers relative to a frozen reference copy while ordinary answer negative log-likelihood protects retain examples. Its fixed ten-epoch recipe limits the attainable forgetting signal and holding a reference model adds memory cost.

The agent first strengthened NPO, then switched to reference-free simplified NPO (SimNPO), whose target answer negative log-likelihood can saturate rather than driving forgetting without bound. It explored the target, temperature, retention objective, loss weighting, training length, export behavior, and checkpoint policy. The submitted recipe uses SimNPO with beta=0.5, delta=5, retain-answer NLL, a 12,000-step cap, and saves every 1,500 steps. A 30-epoch exploration diagnostic scored 60.829844 on the proxy while improving retain NLL by 0.102771 relative to the start.

The first formal replay reached 12,000 steps but was contaminated by an external process on the exact training GPU and was excluded by an authoritative correction. A clean replay then completed 12,000 steps and validated checkpoints 9,000, 10,500, and 12,000. Their official maximize-direction balanced_unlearning_score values were 0.904505, 0.891205, and 0.867339; checkpoint 9,000 was best. Its native Extraction was 0.032688 and model utility (MU) was 0.493026, improving both components over the task's shipped NPO reference, 0.063436 and 0.478673 respectively.

The strongest capability was turning algorithm selection, short ablations, long-horizon diagnostics, and formal artifact engineering into an executable replay. Two failures matter. The agent misread RETAIN_GAMMA=2 as increasing retention weight even though source shows that gamma multiplies the forget loss. It also explicitly submitted after using only about 39% of the exploration budget while short meaningful experiments remained. The explicit early-submission condition and receipt make overall observable behavior confirmed execution-protocol noncompliance. This involved no hidden data, external input, or evaluator manipulation and does not break the clean formal model's lineage.

3. Task, baseline, and evaluation contract

3.1 Task and fixed boundaries

``text Starting artifact / model: fixed full-weight meta-llama/Llama-3.2-1B-Instruct training anchor, with its weight hash checked by the training code Available training data and assets: fixed train-role TOFU forget10 and retain90 plus the starting model and run-local output/log directories Agent-editable surface: the unlearning method, loss hyperparameters, schedule, stopping, export, and checkpoint logic in solution/run.sh and solution/train.py Fixed or forbidden components: anchor weights, data, resource limits, proxy/final evaluators, and metrics; retain_reference and final-role data are score-only; network, external data/models, and exploration weights in formal replay are forbidden Proxy evaluator: proxy_answer_nll_tradeoff / maximize / first fixed 24 forget10 and 24 retain90 rows / n=24 per split / one deterministic pass and no reported stderr or CI Final evaluator: balanced_unlearning_score / maximize / Extraction on perturbed forget10 n=400; MU aggregates holdout10 n=400, real_authors n=100, and world_facts n=117 / the composite has no single n / no reported stderr or CI Artifact contract: formal replay starts from the fixed anchor and emits full Hugging Face model directories; at most three loadable checkpoint-* artifacts may be retained and submitted, with the best valid official score selected ``

The proxy subtracts any positive degradation in retain-answer NLL from the increase in forget-answer NLL relative to the fixed start; higher is better. It uses only 24 fixed rows from each training split. Final evaluation instead measures native OpenUnlearning Extraction, where lower is better, and MU, where higher is better, then takes the harmonic mean of clipped forgetting progress and utility retained relative to the start. The protocols, samples, and scales differ, so their scores are not directly comparable.

3.2 How the baseline works

``text fixed anchor, forget10 question-answer pairs, and retain90 question-answer pairs -> the current and frozen reference models score forget answers; the current model also scores retain answers -> answer tokens in the fixed training data supply the supervision, with no generated labels or rewards -> NPO reduces current forget-answer likelihood relative to the reference, while answer NLL protects retain90; weighted losses are minimized -> all 1,235,814,400 model parameters change and a full model is exported ``

The baseline uses NPO with beta=0.1, alpha=1, gamma=1, ten epochs, learning rate 1.5e-5, batch size 8, gradient accumulation 4, effective batch 32, and seed 0. It saves every five epochs and retains three checkpoints. Its execution stack is BF16, FlashAttention 2, ZeRO-3 without offload, 32-bit paged AdamW, weight decay 0.01, one data epoch of warmup, and gradient checkpointing. The agent initially identified the short schedule and weak NPO forget signal as bottlenecks and also noted the memory cost of retaining the reference model.

4. Four-hour exploration and decision process

The agent first read the contract, baseline, and proxy and measured the fixed start. It then used roughly seven-to-eighteen-minute runs for method and hyperparameter comparisons, repaired an export collision and one transient script corruption, and finished with a 30-epoch replay, loadability checks, and a formal 12,000-step recipe. Exploration ran from 20:26:22 to 21:59:35, about 93 minutes 13 seconds, leaving 8,846 seconds when the agent submitted.

U-01 - Can stronger baseline NPO provide enough forgetting?

Motivation and hypothesis. The agent first preserved the baseline update rule and increased NPO strength, creating a low-risk fallback and testing whether an algorithm switch was necessary.

Concrete change and experimental setup. It raised beta from 0.1 to 0.2 while retaining NPO, the NLL retain objective, ten epochs/120 steps, and seed 0. Every exploration score below uses the same maximize-direction proxy with n=24 per split and no uncertainty estimate.

Observed result. Forget NLL increased by 1.405762, retain NLL worsened by 0.562427, and the proxy score was 0.843335. Training took 533.24 seconds and yielded a valid artifact.

Agent interpretation. It regarded the result as stronger but still limited forgetting, suitable as a stable fallback rather than a likely optimum.

Report assessment and confounds. The result has one seed and 24 rows per split, so it does not establish robustness. The order-of-magnitude gap to later SimNPO results nevertheless supported changing methods under the same diagnostic.

Decision and consequence. NPO beta=0.2 remained a fallback but did not become the patch default.