Tracker & Eval Pro (v0.43.0)
--tracker allowlist
Closed allowlist: wandb | tensorboard | mlflow | swanlab | trackio | none.
soup train --tracker mlflowMutually exclusive with legacy --wandb / --tensorboard via resolve_report_to.
Telemetry (not wired, nothing is sent)
v0.43.0 landed a telemetry schema (soup_version / command / python / os / arch / duration) and the SOUP_TELEMETRY / SOUP_POSTHOG_KEY / SOUP_POSTHOG_ENDPOINT environment variables that would configure it.
Corrected in v0.71.41: those primitives exist, but they are not wired to any command. No usage data is ever sent today, with or without the environment variables. Wiring is deferred until a public privacy policy ships.
NLG metrics
Pure-Python BLEU + ROUGE-1/2/L + effective_tokens_per_second. Closed allowlist NLG_METRICS = frozenset({"bleu","rouge_1","rouge_2","rouge_l"}).
KL-divergence calibration
soup eval quant-check --before old.json --after new.jsonClassifies the KL delta as OK / MINOR / MAJOR at 0.05 / 0.20 thresholds (mirrors quant-check).
Model Arena (Elo)
An A/B tournament with Elo ratings: K=32 default, 256-model cap, 1M-match cap, and Tournament.ratings returns a MappingProxyType so a caller cannot mutate the table.
Library only, no CLI surface. It ships as
soup_cli.eval.arenaand is used from Python. There is nosoup eval arenasubcommand;soup evalregistersbenchmark,custom,judge,auto,compare,leaderboard,human,gate,quant-check,design,discover,lock,coverage,against,gate-install,unlearning,behavior,capability,checklist,irt-subsetandcitation. For a pairwise verdict from the CLI, usesoup ship --task-mode pairwise.
New benchmarks
ceval, cmmlu, aider_polyglot (live Aider Polyglot runner v0.43.1).
Profiling helpers
memory_snapshot_context— CUDAtorch.cuda.memory._record_memory_historywrapperdetect_anomaly_context—torch.autograd.set_detect_anomalywrappernccl_bandwidth_check— reference table for h100 / a100 / v100 / rtx40-series (OK ≥80% / MINOR ≥50% / MAJOR <50%)
VS Code launch.json writer
soup doctor --diskWrites .vscode/launch.json with cwd containment + symlink TOCTOU guard.
soup data demo
4-bundle frozen registry: alpaca_demo / sharegpt_demo / dpo_demo / grpo_demo. Atomic copy via sibling temp file + os.replace.
soup data demo alpaca_demo --output ./train.jsonlSoup is free and Apache-2.0. If it saved you a training run, starring the repo costs nothing and helps most. You can also fund the GPU time behind the work a 4 GB laptop cannot reach.