github MakazhanAlpamys/Soup v0.31.0
v0.31.0 — Model & Recipe Breadth

latest releases: v0.77.1, v0.77.0, v0.76.1...
6 months ago

What's New

The recipe library doubled — 46 → 80 validated recipes, every popular open-weight model family covered.

  • Recipe library doubled (46 → 80) — soup recipes search <model> to find yours.
  • Vision expansion — Pixtral-12B, Qwen2-VL (7B + 72B), InternVL 2.5, MiniCPM-V 2.6, plus Llama-3.2-Vision 90B. SFT and GRPO/DPO variants.
  • Audio fine-tuning — Qwen2-Audio (audio-language), SeamlessM4T v2 (translation), Whisper-large-v3 (ASR).
  • Reasoning models — full DeepSeek-R1-Distill set (1.5B/7B/14B/32B Qwen + 8B/70B Llama), Qwen3-Coder 30B, Qwen3-30B-A3B reasoning, Phi-4 reasoning.
  • Edge / on-device — SmolLM2 (135M / 360M / 1.7B), Qwen2.5 (0.5B / 1.5B / 3B), Gemma 2 2B, Phi-3.5-mini.
  • Domain specialists — BioMistral, Meditron, CodeLlama (13B / 70B), Magicoder, Mathstral, Nemotron-4 340B, Llama-2-13b-finance.
  • Recipe-validation CI — every PR that touches recipe / config / data code re-validates the full catalog so upstream HF model renames break the build instead of shipping a broken recipe.

Install / Upgrade

pip install --upgrade soup-cli
# or
docker pull ghcr.io/makazhanalpamys/soup:v0.31.0

Try a recipe:

soup recipes search "vision"
soup recipes show pixtral-12b-sft
soup recipes use r1-distill-qwen-7b-grpo

Security

No new security fixes in v0.31.0 (data-only release). All v0.30.0 hardening carries forward. The new test suite (tests/test_recipes_v031.py, 750 tests) enforces catalog-wide invariants on every CI run:

  • Model IDs reject .., ://, null bytes, and backslashes.
  • Default training data paths are non-empty and relative (no absolute / drive-letter leakage).
  • lora.target_modules is auto or a non-empty list (silent no-op LoRA caught at config-load).
  • max_length within schema bounds [64, 1M].
  • GRPO recipes wire reward_fn and num_generations >= 2 — no silent stub trainer launches.
  • Vision recipes set image_dir; audio recipes set audio_dir.

Known Limitations

  • 100-step live smoke train per recipe is deferred to v0.31.1. The v0.31.0 CI tier validates every recipe's config + meta-vs-yaml consistency on CPU; running a real 100-step training pass against each upstream HF model needs a self-hosted GPU runner. Tracked as a follow-up.
  • llama2-13b-finance-sft is a starter recipe — it trains on top of the vanilla meta-llama/Llama-2-13b-hf base, not the FinGPT adapter. The recipe gives you a finance-domain SFT scaffold; reproducing FinGPT-specific results requires pointing base: at the FinGPT checkpoint of your choice.
  • License migration (MIT → Apache-2.0) applied earlier on main: downstream redistributors must retain the NOTICE file per Apache-2.0 §4(d).

Don't miss a new Soup release

NewReleases is sending notifications on new releases.