Repolode
MakazhanAlpamys

MakazhanAlpamys/Soup

CLI tool to fine-tune and post-train LLMs from a single YAML config, with options for training on low-VRAM consumer GPUs.

Stars
9,388
Forks
1,540
Open issues
195
Last commit
yesterday

What is it?

Soup is a command-line tool for fine-tuning and post-training large language models. A project is described by one YAML file that sets the base model, task, dataset and training options, and the `soup train` command runs the job. Supported tasks include SFT, preference methods such as DPO, KTO, ORPO and SimPO, and reinforcement-learning variants like GRPO and PPO, with LoRA and QLoRA as the default adapter and quantization paths.

The project targets developers who want to train locally without managing cloud GPU boxes by hand. Dataset formats such as Alpaca, ShareGPT and ChatML are detected automatically from JSONL, JSON, CSV, Parquet or TXT files. Soup also covers the steps after training: chatting with a model, serving an OpenAI-compatible API, merging adapters, exporting to GGUF for Ollama or llama.cpp, and pushing to the Hugging Face Hub.

A separate opt-in layer streaming mode keeps the frozen base model in host RAM and moves one decoder layer at a time to the GPU, which the project reports as fine-tuning an 8B model on a 4 GB laptop GPU. This mode is marked beta in the project. Optional extras add a local web UI, Unsloth and MLX backends, and evaluation tools.

Key features

  • 01Train from a single YAML config with `soup train`.
  • 02Supports SFT, DPO, KTO, ORPO, SimPO, GRPO and PPO style tasks.
  • 03Uses LoRA and QLoRA with automatic batch size and quantization settings.
  • 04Auto-detects common dataset formats such as Alpaca, ShareGPT and ChatML.
  • 05Exports models to GGUF, and serves them through an OpenAI-compatible API.

Use cases

  • Fine-tuning a 7B to 14B model with QLoRA on a single consumer GPU.
  • Running preference-tuning experiments such as DPO or ORPO without writing training loops.
  • Preparing a LoRA-tuned model for local use with Ollama or llama.cpp via GGUF export.
  • Training on a laptop with limited VRAM using the opt-in layer streaming mode.

Quick start

  1. 1

    Install the training extra with pip

    pip install "soup-cli[train]"
  2. 2

    Create a config from a template

    soup init --template chat
  3. 3

    Train the model

    soup train

Things to know

  • Python 3.10–3.12 only; 3.13+ is not supported.
  • Fine-tuning requires the [train] extra, and the low-VRAM layer streaming feature is still BETA and opt-in.
  • Some options (e.g. awq/gptq export) are deprecated and will be removed in v0.77.

Topics

FAQ

What is Soup?
CLI tool to fine-tune and post-train LLMs from a single YAML config, with options for training on low-VRAM consumer GPUs. Soup is a command-line tool for fine-tuning and post-training large language models. A project is described by one YAML file that sets the base model, task, dataset and training options, and the `soup train` command runs the job. Supported tasks include SFT, preference methods such as DPO, KTO, ORPO and SimPO, and reinforcement-learning variants like GRPO and PPO, with LoRA and QLoRA as the default adapter and quantization paths.
Is Soup free to use? What license does it have?
Soup is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is Soup still maintained?
Actively maintained. The last commit to Soup was on Oct 19, 2026.
What can I use Soup for?
Fine-tuning a 7B to 14B model with QLoRA on a single consumer GPU. Running preference-tuning experiments such as DPO or ORPO without writing training loops. Preparing a LoRA-tuned model for local use with Ollama or llama.cpp via GGUF export. Training on a laptop with limited VRAM using the opt-in layer streaming mode.
How do I install Soup?
Install the training extra with pip: pip install "soup-cli[train]" Create a config from a template: soup init --template chat Train the model: soup train
Where can I get Soup?
The source code and installation instructions are on GitHub: https://github.com/MakazhanAlpamys/Soup

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects