github MakazhanAlpamys/Soup v0.71.15
v0.71.15 — Loop & lifecycle polish

latest releases: v0.76.1, v0.76.0, v0.75.2...
4 months ago

What's New — Loop & lifecycle polish

Five fixes that tighten the autonomous-loop and lifecycle surface:

  • soup iterative-dpo config fix (#261) — the per-round soup train subprocess rendered output: as a {dir: ...} mapping that the config schema rejected, so every round failed at validation. Now rendered as a flat string; rounds train end-to-end.
  • CMA-ES merge base reuse (#246) — soup adapters merge --strategy cmaes reloaded the base model once per candidate. It now loads the base once and reuses it across the whole population (each candidate only loads its small merged LoRA), cutting wall-clock and VRAM churn on a large search.
  • soup loop cost gate (#245) — estimate_cost was a 0.0 placeholder, so the budget guard never tripped on cost. It now derives a forward estimate from the most recent completed run's GPU + duration; failures never crash the daemon.
  • Energy hand-off (#244) — soup train --track-energy --energy-out <path> persists the codecarbon measurement as JSON so soup bom emit --energy <path> can attach kWh / CO₂ / PUE to a CycloneDX/SPDX ML-BOM.
  • Multi-node diagnose gate (#170) — soup train --diagnose-gate fired once per node on a shared-FS multi-node run. It is now RANK-aware: gates once per cluster (RANK==0), falling back to LOCAL_RANK==0 for single-node accelerate.

Validated end-to-end on SmolLM2-135M / RTX 3050.

Install / Upgrade

pip install --upgrade soup-cli

Security

No new security surface. --energy-out writes through the shared cwd-contained, symlink-rejecting atomic writer.

Known Limitations

None new. Deferred items from earlier patches remain tracked in their respective release notes.

Don't miss a new Soup release

NewReleases is sending notifications on new releases.