Stop tuning.Start training.Soup picks the hyperparameters for you_
The whole post-training stack in one CLI. Soup doctors your data pre-flight, picks the method, writes the config, derives evals from your own data, gates every save, and self-corrects reward hacking mid-run instead of just halting. Canary deploys and auto-rollback ship by default, and you can drive it all from your coding agent over MCP. 25 methods · 142 recipes · 17 quant formats · MLX + Apple adapter.
Meet Soup Zero.
The full AI workbench built on top of Soup: playground, data, evals, fine-tuning, deploy and monitoring in one desktop app, on your own hardware. The deep layer is live today in the CLI; the workbench around it is what we're building.
Integrates with your entire ML stack
Already using another tool? Switch in 30 seconds
One command converts your existing config. No rewriting, no guessing, just migrate and train.



See the difference
model_name_or_path: meta-llama/Llama-3.1-8B
stage: sft
finetuning_type: lora
lora_rank: 64
lora_alpha: 16
lora_dropout: 0.05
lora_target: all
dataset: alpaca_en
template: llama3
cutoff_len: 2048
per_device_train_batch_size: 4
gradient_accumulation_steps: 4
num_train_epochs: 3
learning_rate: 2.0e-5
lr_scheduler_type: cosine
warmup_ratio: 0.1
quantization_bit: 4
output_dir: ./saves/llama3-lora
base: meta-llama/Llama-3.1-8B
task: sft
data:
train: ./data/alpaca_en.jsonl
max_length: 2048
training:
epochs: 3
lr: 2e-5
quantization: 4bit
lora:
r: 64
alpha: 16
output: ./saves/llama3-lora
Soup auto-detects everything else: optimizer, scheduler, target modules, batch size.
The flywheel: plan → train → x-ray → merge → bisect → ship
Every other tool stops at "hit train and hope." Soup closes the whole post-training loop in one CLI: build data with a judge in the loop, train text or speech models against it, gate every save, then ship on a single SHIP or DON'T-SHIP verdict, with the model card, the signed ML-BOM and the CI gate generated for you. The bare install is PyTorch-free and everything runs on your own GPU, with no per-trace SaaS fees and no vendor lock-in.
Ship a regulated fine-tune with the paperwork it needs.
v0.71 made the install lean (a PyTorch-free core, with the training stack behind a [train]extra) and turned the whole schema-first roadmap live. v0.71.35 closes the last mile to production: start from a regulation-shaped config, publish a model card that carries its own provenance, and gate every future change in CI on the SHIP verdict. Soup's compliance controls are commands rather than config keys, so a template documents the exact ones your regime needs instead of pretending YAML can turn them on.
- •
soup init --template hipaa|soc2|eu-ai-act|sr-11-7: a regulation-shaped starting config, 21 built-in templates (v0.71.35) - •
soup card <registry-id>: registry entry to a publishable model card with config, evals, hashes, lineage and artifacts (v0.71.35) - •
soup ci init: a PR gate that runs validate, expect, then ship, where exit 2 blocks the merge (v0.71.35) - •
soup draft measure: find out whether speculative decoding pays off before you ship it, not after (v0.71.33)
Everything new across v0.71
- •
soup export --format gguf: now validated end to end on Windows (q4_0 / q4_k_m / q8_0 / f16 + an Ollama round-trip), fixing four bugs incl. an export that downgraded your CUDA torch (v0.71.35) - •
soup adapters arithmetic "coder + 0.5*math - toxic": task-vector algebra over LoRAs, add, scale, and actually negate a delta (v0.71.34) - •
training.lisa_enabled: LISA re-samples which layers train every N steps, reaching for full fine-tune quality at LoRA-like memory (v0.71.34) - •
soup trainwithtask: asr+soup infer --task asr: Whisper fine-tuning with built-in WER/CER, tiny and base fit a 4 GB card (v0.71.32) - •
soup train --task online_dpo+soup data best-of-n/evolve: an LLM judge in the loop across training and data (v0.71.31) - •
soup train --task grpo+training.prm_reward: a Process Reward Model grades every reasoning step, the o1-era process-supervision signal (v0.71.30) - •
soup shrink --drop-ratio 0.25: depth-prune the least-useful layers, distill-heal, SHIP / DON'T-SHIP perplexity verdict (v0.71.29) - •
soup mcp serve: drive Soup from Claude Code, Cursor, Cline or Continue, stdio only, no network listener (v0.71.28) - •
soup data doctor/soup data lint: 8 chat-template checks (incl. the "never stops generating" EOS bug) + preference-data linter, pre-flight, zero GPU (v0.71.27) - •
--reward-hack-mitigation kl_control|pid_lagrangian: detect reward hacking mid-run and self-correct (raise KL, shape reward, roll back), not just halt (v0.71.26) - •
soup ship: one SHIP / DON'T-SHIP verdict, task-win AND no catastrophic forgetting, exit 0/2 for CI (v0.71.25) - •
soup spectrum scan --top-percent 50: rank layers by singular-value SNR, fine-tune only the high-signal ones (no model load) (v0.71.23) - •
soup recipes use whisper-tiny-asr: 142 recipes incl. Whisper ASR and the 2026 models (Qwen 3.5/3.6, DeepSeek-V4, GLM-5.1, Kimi K2.6, MiniMax M3, Mistral Large 3) (v0.71.24 + .32)
$ pip install soup-cli
Successfully installed soup-cli-0.71.35 (no torch, light core)
$ soup init --template eu-ai-act # hipaa · soc2 · eu-ai-act · sr-11-7
wrote soup.yaml Apache-2.0 base + the Annex XI commands for this regime
$ soup card my-model:v1 -o MODELCARD.md
✓ config + evals + sha256 + lineage + artifacts Type: LoRA adapter
$ soup ci init --data data/train.jsonl --evidence ship_evidence.json
wrote .github/workflows/soup-gate.yml
validate → expect → ship exit 2 = DON'T SHIP, merge blocked
Decide
Catch silent failures before a GPU hour
soup advise ranks PROMPT_ENG / RAG / SFT / DPO / GRPO on your data. soup data doctor runs 8 chat-template checks (including the 'never stops generating' EOS bug) and soup data lint flags DPO length-bias as a Cohen's d effect size, all pure-CPU and pre-flight. No competitor ships these.
eval design · diagnose · brain-rotEvals derived from your data
soup eval design pulls a SHA-pinned suite from your training data; diagnose runs six failure-mode probes on a real model; data brain-rot refuses clickbait, low-diversity rows before they ship.
Train
RL and preference training, with a judge in the loop
Train on-policy against an LLM judge with online DPO (no reward model needed), grade every reasoning step with a Process Reward Model, or run GRPO, GSPO, DAPO and friends with real loss kernels. When the reward-hack or echo-trap detectors trip, the loop raises KL, shapes the reward, and rolls back to the last-good checkpoint instead of just halting. No other OSS RLHF library closes that loop.
Spectrum · LISA · multi-GPU · MLXTrain only the layers that matter, or scale out
soup spectrum scan ranks every layer by singular-value SNR and emits an unfrozen_parameters block, so you full-fine-tune just the high-signal layers (it streams weights, so a CPU box can scan a huge model). LISA takes the other route: it re-samples which layers train every N steps, reaching for full fine-tune quality at LoRA-like memory. soup train --gpus N picks DeepSpeed ZeRO-3 or FSDP2; the MLX backend trains on M1 to M4.
soup shrink · depth-prune · distill-healMake the model smaller, with a SHIP verdict
soup shrink ranks blocks of decoder layers by how little the residual stream changes across them, drops the least-useful block (first and last layers protected), then optionally distill-heals the damage and fuses the adapter back, so you ship one dense smaller model, not a base plus patch. A SHIP / DON'T-SHIP perplexity verdict (exit 0/2) refuses a prune that broke the model. No fine-tuning CLI ships this.
Ship
One command says SHIP or DON'T SHIP
soup ship fuses two checks into one verdict: the task metric strictly improved, now decidable by a real pairwise judge win-rate, AND no general benchmark regressed past a forgetting threshold, so a model that wins the task but breaks general knowledge is refused (exit 0/2 for CI). soup loop then runs traces to eval-gated DPO to canary to auto-rollback as a daemon.
smart serving · soup draft · multi-tenantSpec decoding you measured, not assumed
OpenAI- and Anthropic-compatible server with auto-paired draft models, RAG prefix cache, hot-swappable adapters, per-token MoLE routing over N task LoRAs, and VeRA banks that serve thousands of per-user personas at ~KB each. soup draft measure reports a draft's real acceptance rate and plain-vs-assisted throughput before you enable it: on our own validated pair it said don't, and we shipped that result instead of a speedup claim.
Operate
Model report card and interpretability
soup diagnose scores six failure modes on a real model; probes x-ray an adapter for sleeper, truth/harm and interference; soup why explains NaN, plateau or divergence in plain English.
adapter lifecycle · task arithmeticGit for LoRA: diff, merge, bisect, lock
soup adapters diffs, merges (linear / TIES / DARE / SVD / CMA-ES), bisects regressions and opens review-ready PRs. soup adapters arithmetic goes further: "coder + 0.5*math - toxic" adds, scales and subtracts trained deltas into one adapter, with the coefficient math done so a subtraction really flips the delta instead of being the no-op a naive sum gives. soup.lock pins base, dataset and env for reproducible team runs.
soup mcp serve · MCPDrive Soup from your coding agent
soup mcp serve exposes Soup to any Model Context Protocol client (Claude Code, Cursor, Cline, Continue) over stdio: 14 read-only tools return JSON (advise, data inspect/validate/score/doctor, recipes, runs, registry, profile, diagnose, ship) plus 2 plan-only mutating tools behind --allow-mutating. No network listener. No other fine-tuning CLI ships an MCP server.
Most of the above: LLaMA-Factory / Axolotl / Unsloth ✗
Built for the ML Stack you already use
First-class integrations with the tools powering production ML. Deploy anywhere, track everything.
Works with your favorite models
and 200+ more on the Hugging Face Hub: vision, audio, TTS, BitNet, MoE.
Pulls production traces from
via soup ingest --source <vendor> --logs <export.jsonl>. No per-trace fees, all offline (v0.63).
Deploy & Serve
Training & Infra

Ecosystem
Quant & Export
Your first fine-tuned model is
one command away.
Soup picks the method, writes the config, and gates every save. Install it, point it at your data, and the first run finishes in minutes.
25 training methods, 142 ready recipes, first run in under a minute.