MakazhanAlpamys/Soup
Fine-tune LLMs from one YAML. Layer streaming trains an 8B model on a 4 GB laptop GPU.
What it solves
Soup simplifies the complex process of fine-tuning and post-training Large Language Models (LLMs). It eliminates the need for manual infrastructure management, SSH access to GPU servers, and complex configuration files, allowing users to start training with a single command.
How it works
Soup provides a command-line interface (CLI) and a Web UI that abstracts the training stack (PyTorch, Transformers, PEFT, TRL). It uses a single YAML configuration file to define the base model, task (e.g., SFT, DPO, GRPO), and training parameters.
Key technical features include:
- Layer Streaming: A beta feature that allows fine-tuning large models (like an 8B model) on consumer GPUs with as little as 4 GB of VRAM by feeding decoder layers to the GPU one at a time.
- Multiple Backends: Support for standard transformers, Unsloth (for faster training), and MLX (for Apple Silicon).
- Comprehensive Tooling: Integrated commands for data inspection, batch inference, model merging, and exporting to formats like GGUF for Ollama.
Who it’s for
Developers and ML engineers who want to fine-tune LLMs without fighting infrastructure, as well as those with limited hardware resources (e.g., laptop GPUs) who want to leverage techniques like QLoRA and layer streaming.
Highlights
- One-Command Workflow: Initialize with
soup initand train withsoup train. - Low VRAM Requirements: Capability to train 8B models on 4 GB VRAM via layer streaming.
- Broad Task Support: Supports SFT, DPO, GRPO, PPO, KTO, ORPO, SimPO, IPO, BCO, and more.
- Extensive Export Options: Export models to GGUF, ONNX, TensorRT, AWQ, and GPTQ.
- Integrated Web UI: Local dashboard for experiment tracking, dataset exploration, and model chat.
Related
- Dispatch
- Project
- Project
- Project
- Project