What's New
- Multi-GPU Mastery —
soup train --gpus autoauto-detects GPU count + NVLink/PCIe interconnect and prints the exactaccelerate launchcommand with topology-aware NCCL env hints (applied viaos.environ.setdefaultso user / launcher overrides always win). - ZeRO++ —
--deepspeed zero++(aliaszero_pp): Stage-3 with hierarchical partitioning + quantized weights + quantized gradients. Cuts inter-node traffic 4-8x on 8+ GPUs. - FSDP2 +
torch.compile—training.use_fsdp2_compile: truewirestorch_compile=TrueintoTrainingArgumentsvia extractedapply_fsdp_training_kwargshelper. Validator enforces FSDP + CUDA +backend=transformers+ torch>=2.2/accelerate>=0.27; rejects DeepSpeed+compile coexistence (prevents cryptic runtime crash). - DeepSpeed-MII backend —
soup serve --backend miiregistered with dependency check. Live pipeline wiring ships in v0.27.1; v0.27.0 exits non-zero with a clear stub warning (no silent mis-start). - Pipeline parallelism —
training.parallelism: pipeline+pipeline_stages[1, 16] with validator (requires stages >= 2 + CUDA + gpu_count >= stages). Execution wiring ships in v0.27.1; config validates today with a Rich Panel notice. - New multi-GPU recipes —
llama3-70b-fsdp2,qwen3-32b-zeropp,deepseek-v3-pipeline. Recipe count 43 → 46.
Install / Upgrade
pip install -U soup-cliVerify with soup version (should show v0.27.0) and soup train --help (should list --gpus).
Security
--gpusbounds: rejects bool, non-digit, zero, negative, values aboveMAX_GPU_COUNT=128--gpus autoon 0-GPU host prints explicit yellow warning (no silent no-op)- Rich markup escaped on
--configpath before embedding in the multi-GPU advice Panel accelerate launchargv assembled viashlex.quoteper element (copy-paste safe)build_accelerate_argvvalidatesnum_processes >= 1,mixed_precisionLiteral (no/fp16/bf16/fp8),num_machinesbounded[1, 256]- ZeRO++ integer literals (
int(1e9)not float) so DeepSpeed strict JSON accepts validate_fsdp2_compile_configrejects DeepSpeed + torch.compile combinationpipeline_stagesPydantic bounds[1, 16];parallelismLiteraldata|pipeline- NCCL env (
NCCL_P2P_DISABLE/NCCL_IB_DISABLE/NCCL_NVLS_ENABLE) applied viaos.environ.setdefaultonly
Known Limitations
- Auto-reexec of
accelerate launch— currently advisory (prints command). Auto-re-exec deferred to v0.27.1. - Live DeepSpeed-MII server pipeline — backend is registered + dependency-checked but exits with a stub warning. Live inference pipeline ships in v0.27.1.
- Live pipeline-parallel execution — config + validation ship today; actual pipelined forward/backward via
torch.distributed.pipeliningships in v0.27.1. - Multi-node launch — single-node only in v0.27.0. Multi-node
num_machines > 1argv is generated but not fully tested end-to-end. - Recipe CI smoke-train validation — the 3 new multi-GPU recipes load cleanly but are not exercised by a 100-step CI smoke-train (deferred to v0.31.0).
Full commit: b7abd2a
Tests: 2511 → 2585 (+74). All 4 review agents + re-review wave applied; no remaining findings.