Soup

一个YAML搞定大模型微调,4GB显卡也能训8B模型

Soup 是一个用于微调大语言模型(LLM)的开源工具,它通过一个 YAML 配置文件即可完成整个微调流程,极大简化了操作。其核心亮点是采用“层流式训练”(Layer Streaming)技术,使得在仅有 4GB 显存的笔记本 GPU 上也能训练 8B 参数的模型,解决了大模型微调对硬件资源要求过高的问题。Soup 支持从数据准备、模型配置到训练调参的端到端管理,并提供简洁的命令行接口,适合个人开发者或小团队在资源受限环境下进行模型定制。

开源 free 基础设施
访问官网 ↗ GitHub ↗ 文档 ↗
GitHub 星标 ★ 6912
维护状态 活跃
是否开源
定价模式 free

项目数据

分类基础设施
开发团队MakazhanAlpamys
所属国家
定价模式free
价格说明开源项目,Apache-2.0许可证,可免费使用和部署。
访问状态
是否开源
开源协议Apache-2.0
主要语言Python
技术栈/模型cli,consumer-gpu,dpo,fine-tuning,gguf,huggingface,llm,llmops,local-ai,local-llm,lora,low-vram,machine-learning,ollama,peft,python,pytorch,qlora,sft,transformers
GitHub 星标★ 6912
30天Star增速
HF 下载量
上线时间2026-02-20 00:00:00
最近更新2026-09-20 00:00:00
维护状态活跃
中文支持
访问方式
移动端支持
综合评分
收录时间2026-08-09
浏览次数4

使用教程

难度:入门 约 10 分钟 部署方式:命令行工具 6 步

环境要求

  • Python 环境(Soup 为 Python 编写的命令行应用,PyPI 包名 soup-cli)
  • 本地需要可用的 GPU 与 CUDA/PyTorch;不想装 CUDA/PyTorch 可用官方 Docker 镜像
  • 训练数据为 alpaca 格式的 JSONL 文件(示例:./data/train.jsonl)
  • Windows 下执行 Docker 挂载命令请改用 PowerShell 语法

安装与启动步骤

  1. 1安装 Soup CLI

    README 提示为 Soup 单独建一个环境并把 soup 放到 PATH;安装包为 PyPI 上的 soup-cli,安装后用 soup 命令调用。

    pip install soup-cli
  2. 2编写配置文件

    新建 soup.yaml,至少写清基座模型、任务类型、训练数据路径与输出目录。字段以 config/schema.py 为准。

  3. 3准备训练数据

    按 alpaca 格式准备 JSONL 训练数据,放到配置里 data.train 指定的位置,例如项目下的 ./data/train.jsonl。

  4. 4启动微调

    在 soup.yaml 所在目录执行训练命令,Soup 会读取该配置完成整个微调流程,结果写入 output 指定的目录。

    soup train --config soup.yaml
  5. 5改用 Docker 运行

    不想本地安装 CUDA/PyTorch 时,拉取官方 GHCR 镜像并把当前目录挂载到容器 /workspace,再用 --gpus all 透传 GPU。

    docker pull ghcr.io/makazhanalpamys/soup:latest
    docker run --gpus all -v $(pwd):/workspace ghcr.io/makazhanalpamys/soup train --config soup.yaml
  6. 6或用 Docker Compose

    仓库自带 compose 配置,可直接一键起容器,也可在本地构建镜像后再启动。

    docker compose up

关键配置

配置项必填说明示例
base指定要微调的基座模型(Hugging Face 模型名)meta-llama/Llama-3.1-8B-Instruct
task训练任务类型,示例为 sft 监督微调sft
backend切换训练后端,unsloth 可提速 2-5 倍,需另装 fast 依赖unsloth
data.train训练数据文件路径./data/train.jsonl
data.format数据格式,示例使用 alpacaalpaca
output训练产物输出目录./output

如何确认成功

命令开始执行并输出训练日志,训练结束后在 output 指定的目录(示例 ./output)能看到产物。

常见问题

Q:只有 4GB 显存的笔记本 GPU 能微调 8B 模型吗?

A:可以。Soup 采用层流式训练技术,示例配置还对模型做 4bit 量化(quantization: 4bit),从而在低显存下训练 8B 参数模型。

Q:配置文件里多写了一个键为什么直接报错?

A:从 v0.75 起未知配置键会被拒绝加载,拼写错误(如 quantizaton)或版本不支持的字段都会导致配置读取失败,v0.74 之前只是提示,现在必须修正或删除该键。

Q:训练速度太慢怎么提速?

A:安装加速依赖 pip install "soup-cli[fast]",并在 soup.yaml 中把 backend 设为 unsloth,README 称可提速 2-5 倍。

Q:不想在本地装 CUDA 和 PyTorch 怎么办?

A:使用官方 Docker 镜像 ghcr.io/makazhanalpamys/soup:latest,配合 docker run 或在仓库内直接 docker compose up 运行。

Q:Docker 跑起来没用上 GPU?

A:docker run 时必须加 --gpus all 参数,否则容器内无法访问宿主显卡。

注意事项

  • v0.75 起未知配置键会导致配置加载失败,不要依赖“写了但被忽略”。
  • config/schema.py 是所有配置字段的唯一来源,进阶数据、训练与 PEFT 选项以官方 Documentation 为准。
  • Docker 运行需 --gpus all 并使用 -v $(pwd):/workspace 挂载工作目录,Windows PowerShell 下挂载语法不同。

核心亮点

  • 配置驱动,一个YAML文件即可定义完整微调流程,上手门槛低
  • 层流式训练技术显著降低显存占用,让消费级显卡训练大模型成为可能
  • 支持8B级模型微调,兼顾模型性能与硬件可行性

不足之处

  • 项目处于早期阶段,文档和社区支持尚待完善
  • 层流式训练可能对模型收敛速度和最终精度有影响,需实际验证

适用场景

  • 个人开发者或学术研究者在低配GPU上微调大模型
  • 快速原型验证,用YAML配置快速迭代微调实验
  • 资源受限的初创团队定制垂直领域模型

替代项目

Hugging Face PEFT、Unsloth、Axolotl

项目介绍

Soup 是模型训练领域的开源项目,由 MakazhanAlpamys 开发,是 2026 年新上线的项目。

在全站 12,961 个收录项目中,它的 GitHub 星标数(6,912)位列前 7%,在模型训练分类的 518 个项目里位列前 7%。

近 43 天,它的 GitHub 星标从 415 增加到 6,912,净增 6,497。

项目目前处于活跃维护状态,最近一次代码更新于 2026-09-20。Apache-2.0许可证,可免费使用和部署。

它主要面向的使用场景是:个人开发者或学术研究者在低配GPU上微调大模型。同类可对比的替代方案包括 Hugging Face PEFT、Unsloth、Axolotl。

上一篇:evostra

下一篇:transformer-tricks

同类项目推荐

Long-RL 开源

让强化学习轻松驾驭超长序列,训练更稳更快

Long-RL: Scaling RL to Long Sequences (NeurIPS 2025)

★ 729 2026-08-09
TPA 开源

把注意力复杂度从平方降到线性,长序列不再卡顿

[NeurIPS 2025 Spotlight] TPA: Tensor ProducT ATTenTion Transformer (https://arxiv.or···

★ 463 2026-08-09
minimind 开源

两小时造出你的小模型,练手入门不求人

Train a 64M-parameter LLM from scratch in just 2h!

★ 62178 2026-08-09
pruna 开源

一键优化 AI 模型,推理提速又省资源。

Pruna is a model optimization framework built for developers, enabling you to delive···

★ 1284 2026-08-13