Free & Open Source

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.

Apache-2.0 LicensePython 3.10+No vendor lock-in
1Install
$ pip install 'soup-cli[train]'
2Configure
$ soup init
✓ Created soup.yaml
3Train
$ soup train
> Training started...
Coming soon

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

HuggingFaceHuggingFace
OllamaOllama
vLLMvLLM
DeepSpeedDeepSpeed
UnslothUnsloth
ONNXONNX
NVIDIA TensorRTNVIDIA TensorRT
W&BW&B
SGLangSGLang
FlashAttentionFlashAttention
HuggingFaceHuggingFace
OllamaOllama
vLLMvLLM
DeepSpeedDeepSpeed
UnslothUnsloth
ONNXONNX
NVIDIA TensorRTNVIDIA TensorRT
W&BW&B
SGLangSGLang
FlashAttentionFlashAttention
soup migrate

Already using another tool? Switch in 30 seconds

One command converts your existing config. No rewriting, no guessing, just migrate and train.

LLaMA-Factory
LLaMA-Factory
Auto-converted to Soup
Axolotl
Axolotl
Auto-converted to Soup
Unsloth
Unsloth
Auto-converted to Soup

See the difference

LLaMA-Factory config
llama3_lora_sft.yaml
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
Soup config (auto-generated)
soup.yaml
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.

v0.71.35 — Compliance pack

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.

v0.71.35 Flagship · Compliance pack

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 train with task: 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)
Read the compliance pack docs
soup · init --template → train → card → ci init
$ 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

Train

Ship

Operate

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

Qwen 3.5
Qwen 3.6
DeepSeek-V4
GLM-5.1
Kimi K2.6
MiniMax M3
Mistral Large 3
Llama 4 Scout
Gemma 3
Phi-4
GPT-OSS
DeepSeek R1
Qwen2-VL
Whisper-large-v3

and 200+ more on the Hugging Face Hub: vision, audio, TTS, BitNet, MoE.

Pulls production traces from

Langfuse
LangSmith
Helicone
OpenPipe
OpenTelemetry
OpenAI Stored Completions

via soup ingest --source <vendor> --logs <export.jsonl>. No per-trace fees, all offline (v0.63).

Deploy & Serve

Ollama
Ollama
One-command local deploy
vLLM
vLLM
Prefix cache + spec decoding
SGLang
SGLang
RadixAttention backend
llama.cpp
llama.cpp
GGUF export + HF Spaces

Training & Infra

Unsloth
Unsloth
2-5x faster training
Apple MLX
Apple MLX
M1–M4 native SFT/DPO/GRPO
DeepSpeed
DeepSpeed
ZeRO 2/3 + ZeRO++ + MII
FlashAttention
FlashAttention
v2/v3 + Multipack varlen

Ecosystem

HuggingFace
HuggingFace
Push models to Hub
OpenAI API
OpenAI API
Compatible server
W&B
W&B
+ MLflow, SwanLab, Trackio
TensorBoard
TensorBoard
Local metrics viz

Quant & Export

GGUF
GGUF
UD ladder + IQ + ARM rungs
ONNX
ONNX
ONNX Runtime deploy
TensorRT
TensorRT
High-throughput GPU
AWQ/GPTQ
AWQ/GPTQ
+ HQQ, AQLM, EETQ, MXFP4, FP8, NVFP4, BitNet 1.58, TorchAO PTQ
Free forever. Apache-2.0 Licensed.

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.

No credit cardNo sign-upWorks offline