📌 项目定位:
Soup 是一个把 LLM 微调 / 后训练压缩成"一个 YAML + 一条命令"的 Python CLI。它的杀手锏是 **Layer Streaming**:把冻结的基座权重留在显存之外,**逐 decoder layer 喂给 GPU**,于是 **8B 模型真能在 4 GB 笔记本显卡上跑起来**。RTX 3050 Laptop 4GB 实测 Llama-3.1-8B-Instruct + NF4:**119.6 tok/s、峰值 3.32 GB**,且与常规常驻运行**比特级一致**;同样的 3.32 GB 在 H100 上复现出 113.00 tok/s。它对准的痛点很具体——训练 LLM 的团队有 **30-50% 的时间在跟基础设施搏斗,而不是改进模型**。
⚡️ 核心优势:
▫️ **零 SSH、单配置**:`pip install "soup-cli[train]"
→ `soup init --template chat → `soup train`,batch size、GPU 检测、量化全部自动,本地 QLoRA 不用上云。▫️ **层流式可自证**:`stream_layers: true` 为 opt-in(BETA),官方提供免费 Colab T4 notebook,把进程硬限制在 4 GB 并断言流式与常驻结果比特一致——数字可以自己验。
▫️ **配置不再骗你**:v0.75.0 起未知配置键直接拒绝加载(CLI exit 1 / API ValueError),并提示你可能想写的字段名,比如把
quantizaton 拼错的情况,不再静默忽略后照跑。▫️ **MLX 后端不再吞参数**:此前 6 个训练选项和 24 个优化器名在 MLX 上被验证通过却无人读取、静默退化成 AdamW,现在按名拒绝。
▫️ **validation loss 终于落地**:它原本在每个后端都算、然后被丢掉,现在被记录、流式上报并显示在面板上。
🎯 实战落地场景:
只有一张 4 GB 消费级显卡的学生和独立开发者——想微调 8B 级别模型,过去只能租云卡或放弃;合规要求数据不出本地的团队——本地 QLoRA 直接把敏感语料锁在机器里;急着验证数据配方而非调基建的小组——改 YAML 就能换配方重跑;以及从 transformers 迁 MLX 的工程师,终于能确认配置真的被读进去了。上线 230 天收获 8,348 star,最近新增 2,171。
🔗 项目直达: https://github.com/MakazhanAlpamys/Soup
🏷 标签: #LLM微调 #LoRA #QLoRA #Python #开源工具