soup/soup_cli/trainer
Alpamys 740832e1b4 feat(unlearn/edit): v0.61.0 — Unlearning & Knowledge Edit (NPO/SimNPO/RMU + ROME/MEMIT/AlphaEdit)
5 Parts shipping schema + CLI surface for two of the most under-served axes
in fine-tuning: GDPR right-to-be-forgotten unlearning (the legal-liability
axis upstream TRL avoids) and surgical knowledge editing (research-coded
everywhere, productized nowhere). Schema-only release; live trainer +
kernel wiring deferred to v0.61.1 (matches established v0.50.0 / v0.52.0
/ v0.53.0 stub-then-live cadence).

Part A — task='unlearn' + NPO/SimNPO/RMU allowlist + UnlearnTrainerWrapper
  + data.forget_set / data.retain_set + training.unlearn_method/_alpha
Part B — soup eval unlearning (TOFU/MUSE/WMDP) with Forget Quality + Model
  Utility + PrivLeak kernels + OK/MINOR/MAJOR taxonomy; bundled TOFU
  mini-fixture under soup_cli/data/_fixtures/unlearning/
Part C — soup edit set (ROME/MEMIT/AlphaEdit) + EditPlan + per-method
  default layer; --plan-only ships live, apply_edit kernel deferred
Part D — Sequential edit governor: norm-blowup detection (OK/WARN/BLOWUP),
  auto-switch ROME→AlphaEdit at edit#10 or BLOWUP, refuses past cap
Part E — soup edit diff: cwd-contained probe loader, atomic JSONL out,
  shape + table renderer (live before/after generation v0.61.1)

Net: +125 tests (9446 → 9571), +5 utility modules + 1 trainer wrapper +
2 commands. Review-fix coverage: 0 CRITICAL + 5 HIGH + 11 MEDIUM + 11 LOW.
All ruff + pytest green; Step 6 smokes (CLI plumbing + happy paths + 5
schema rejection paths) confirmed end-to-end.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 15:16:15 +05:00
..
__init__.py Initial project setup: CLI skeleton + config + trainer + data pipeline 2026-02-20 16:14:56 +05:00
bco.py feat(v0.53.6): plugin callback + Anthropic /v1/messages + n-gram spec + 3 stubs 2026-05-13 17:10:16 +05:00
classifier.py feat(modality): v0.53.2 — lift Modality II stubs (distill + classifier + EBFT/GDPO + reasoning_effort) 2026-05-13 12:56:50 +05:00
distill.py feat(v0.53.6): plugin callback + Anthropic /v1/messages + n-gram spec + 3 stubs 2026-05-13 17:10:16 +05:00
dpo.py feat(v0.53.6): plugin callback + Anthropic /v1/messages + n-gram spec + 3 stubs 2026-05-13 17:10:16 +05:00
embedding.py feat(v0.53.6): plugin callback + Anthropic /v1/messages + n-gram spec + 3 stubs 2026-05-13 17:10:16 +05:00
grpo.py feat(v0.53.11): GRPO Plus finish + preference live 2026-05-14 15:40:34 +05:00
ipo.py feat(v0.53.6): plugin callback + Anthropic /v1/messages + n-gram spec + 3 stubs 2026-05-13 17:10:16 +05:00
kto.py feat(v0.53.6): plugin callback + Anthropic /v1/messages + n-gram spec + 3 stubs 2026-05-13 17:10:16 +05:00
mlx_dpo.py feat(v0.25.0): Beyond the Wrapper — 8 major features 2026-04-13 12:58:11 +05:00
mlx_grpo.py feat(v0.25.0): Beyond the Wrapper — 8 major features 2026-04-13 12:58:11 +05:00
mlx_routing.py feat(v0.25.0): Beyond the Wrapper — 8 major features 2026-04-13 12:58:11 +05:00
mlx_sft.py feat(v0.25.0): Beyond the Wrapper — 8 major features 2026-04-13 12:58:11 +05:00
orpo.py feat(v0.53.6): plugin callback + Anthropic /v1/messages + n-gram spec + 3 stubs 2026-05-13 17:10:16 +05:00
ppo.py feat(v0.53.6): plugin callback + Anthropic /v1/messages + n-gram spec + 3 stubs 2026-05-13 17:10:16 +05:00
preference.py feat(v0.53.11): GRPO Plus finish + preference live 2026-05-14 15:40:34 +05:00
pretrain.py feat(v0.53.7): Data Forge + Pipeline live (wave 1) — 11 items 2026-05-13 19:28:11 +05:00
prm.py feat(v0.53.11): GRPO Plus finish + preference live 2026-05-14 15:40:34 +05:00
reward_model.py feat(v0.53.6): plugin callback + Anthropic /v1/messages + n-gram spec + 3 stubs 2026-05-13 17:10:16 +05:00
rewards.py fix(v0.33.0): review-wave findings (CRITICAL + HIGH + MEDIUM + LOW) 2026-04-27 19:57:57 +05:00
sft.py feat(v0.53.7): Data Forge + Pipeline live (wave 1) — 11 items 2026-05-13 19:28:11 +05:00
simpo.py feat(v0.53.6): plugin callback + Anthropic /v1/messages + n-gram spec + 3 stubs 2026-05-13 17:10:16 +05:00
unlearn.py feat(unlearn/edit): v0.61.0 — Unlearning & Knowledge Edit (NPO/SimNPO/RMU + ROME/MEMIT/AlphaEdit) 2026-05-19 15:16:15 +05:00