diff --git a/docs/commands.md b/docs/commands.md index 1ffb836..749f0d8 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -232,7 +232,7 @@ soup --no-audit-log / SOUP_NO_AUDIT_LOG=1 Opt out of the per-command audi soup eval unlearning --benchmark tofu|muse|wmdp Forget Quality + Model Utility + PrivLeak verdict soup edit set --base --method rome|memit|alphaedit|grace --subject "..." --target "..." [--output ] [--device cpu] [--governor/--no-governor] [--registry-id ] [--cov-corpus ] Live surgical knowledge edit (GPT-2 Conv1D + Llama; --cov-corpus = covariance-preconditioned ROME, rome-only; --plan-only available) soup edit diff --probes p.jsonl [--before-model --after-model ] Knowledge-injection diff (live before/after generation when both models given) -soup train --task unlearn NPO/SimNPO/RMU unlearning from data.forget_set (+ optional data.retain_set) +soup train # task: unlearn NPO/SimNPO/RMU unlearning from data.forget_set (+ optional data.retain_set) soup train # data.format='raft' Answer-only span-mask RAFT training (golden+distractor docs, [doc-N] citations); generator-stage configs auto-link the latest RA-DIT retriever soup ra-dit --retriever-config --generator-config [--retriever-model ] [--plan-only] One-shot two-stage RA-DIT: train retriever → record pairing → train generator soup eval citation [--style bracket|inline|footnote] [--shuffle-seed N] [--output o.json] Citation precision/recall/F1 over predictions or RAFT rows diff --git a/docs/training.md b/docs/training.md index d39c8da..2fddf9b 100644 --- a/docs/training.md +++ b/docs/training.md @@ -210,7 +210,7 @@ soup train --config unlearn.yaml --yes soup eval unlearning --benchmark tofu --evidence evidence.json --output report.json ``` -`soup train --task unlearn` is live (v0.71.9): it loads a LoRA-wrapped policy, a frozen reference copy (NPO / RMU), and the forget / retain JSONL sets, then optimises the per-method loss — NPO's `(2/β)·mean(-logσ(-β·(π_logp − ref_logp)))` drives the policy's forget-set log-prob below the reference (= forgetting), while the retain set anchors capability. Run NPO/SimNPO **with** a `retain_set` — without one the policy has no utility anchor and Soup warns loudly. +`task: unlearn` is live (v0.71.9): it loads a LoRA-wrapped policy, a frozen reference copy (NPO / RMU), and the forget / retain JSONL sets, then optimises the per-method loss — NPO's `(2/β)·mean(-logσ(-β·(π_logp − ref_logp)))` drives the policy's forget-set log-prob below the reference (= forgetting), while the retain set anchors capability. Run NPO/SimNPO **with** a `retain_set` — without one the policy has no utility anchor and Soup warns loudly. Three orthogonal axes: **Forget Quality** (pre/post forget-loss delta), **Model Utility** (retain-accuracy preserved), **PrivLeak** (membership-inference AUC distance from 0.5). Bundled mini-fixtures for all three benchmarks ship in the box (v0.71.1 added MUSE + WMDP alongside the existing TOFU set), so `--benchmark muse|wmdp` runs without supplying evidence. The WMDP forget-set probes ship **redacted** (placeholder prompts + `REFUSED` responses) — Soup never bundles verbatim hazardous-knowledge content.