# MakazhanAlpamys/Soup

Fine-tune LLMs from one YAML. Layer streaming trains an 8B model on a 4 GB laptop GPU.

Repository: https://github.com/MakazhanAlpamys/Soup
Canonical: https://ross.abutalabs.com/products/soup
Homepage: https://trysoup.dev
Language: Python
License: Apache-2.0
License Family: permissive
Topics: python, fine-tuning, gguf, huggingface, llm, lora, ollama, peft, qlora, cli, dpo, llmops, local-llm, machine-learning, sft, transformers, pytorch, consumer-gpu, local-ai, low-vram
Last push: 2026-08-26T13:32:02+00:00

## Health v2 (maintenance only)
Score: 77/100 (v2, computed 2026-09-03T02:39:23.370411+00:00)
- activity 99, release rhythm 86, longevity 13
- inputs: {"age_days": 194, "days_push": 7, "days_rel": 15, "gap_med": 0.0, "n_releases_24m": 175}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3102, forks 463 (observed 2026-08-28T04:07:41.096661+00:00)

## What it is
Soup is a Python CLI that fine-tunes and post-trains LLMs from a single YAML config, supporting 23 methods (SFT, DPO, ORPO, SimPO, KTO, etc.) with automatic config generation, data pre-flight checks, and eval gating. Its layer-streaming feature streams the frozen base model from RAM or NVMe one layer at a time, letting an 8B model fine-tune on a 4 GB consumer GPU.

## Use cases
- fine-tune llama 3.1 8b on my 4gb laptop gpu
- run dpo training without renting a big gpu
- convert my llamafactory config to another tool
- sft a local llm from one yaml file
- export fine-tuned model to gguf for ollama
- train lora adapter on consumer gpu with low vram
- migrate axolotl config to a new finetuning cli
- evaluate whether my finetune actually improved before shipping

## When to choose
- you want one-command LLM fine-tuning on consumer hardware with limited VRAM
- you prefer declarative YAML configs over writing training scripts
- you need preference alignment methods (DPO/ORPO/SimPO/KTO) on small GPUs
- you're migrating from LLaMA-Factory, Axolotl, or Unsloth and want automatic config conversion

## When to avoid
- you need large-scale multi-node distributed training on clusters
- you need RLHF methods like PPO or GRPO with generation rollouts on streamed bases
- you require guaranteed production-grade correctness on bleeding-edge releases - recent changelogs document silent correctness defects in some paths
- you want a GUI workbench - the desktop app is still upcoming

## Facets
- artifact type: cli-tool
- maturity: active
- function: llm-training, machine-learning, cli, configuration-management, testing
- domain: large-language-models, machine-learning, developer-tools
- platform: python, cli, windows
- tags: lora, qlora, peft, gguf, ollama, huggingface, dpo, sft, low-vram, layer-streaming, consumer-gpu, local-llm, llmops, config-migration, command-line, macos, linux, gpu

## Member repositories
- MakazhanAlpamys/Soup (main) score 77

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:41.096661+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:46:20.034761+00:00, confidence not recorded.
  - readme: https://github.com/MakazhanAlpamys/Soup (fetched 2026-08-28T04:07:41.096661+00:00, sha 9bf34020dd9e)
  - homepage: https://trysoup.dev (fetched 2026-08-29T09:42:22.573618+00:00, sha 3b44678077a3)
  - site_page: https://trysoup.dev/docs (fetched 2026-08-29T09:42:22.577546+00:00, sha 6c51c148dd6e)
  - site_page: https://trysoup.dev/docs/getting-started (fetched 2026-08-29T09:42:22.579901+00:00, sha 081f64e701a0)
  - site_page: https://trysoup.dev/docs/migration (fetched 2026-08-29T09:42:22.582346+00:00, sha 5db3d18a6aef)
  - site_page: https://trysoup.dev/docs/ship-gate-repairs (fetched 2026-08-29T09:42:22.585103+00:00, sha 5d3d39c17195)
  - site_page: https://trysoup.dev/docs/free-gpu-tier (fetched 2026-08-29T09:42:22.587603+00:00, sha 08d81276926c)
  - site_page: https://trysoup.dev/docs/borrowed-hardware (fetched 2026-08-29T09:42:22.589859+00:00, sha 83c376d7d53b)
  - site_page: https://trysoup.dev/docs/layer-streaming (fetched 2026-08-29T09:42:22.592454+00:00, sha 9b3ce057514c)
  - site_page: https://trysoup.dev/docs/streaming-preference (fetched 2026-08-29T09:42:22.595516+00:00, sha bebe92e10194)
- Data as of 2026-08-30T08:39:29.467469+00:00.
