
Soup:一条命令在 4GB 笔记本 GPU 上微调 8B 模型
Layer streaming 技术让微调不再需要高端显卡:实测 Llama-3.1-8B 在 4GB 显存上跑出 119.6 tok/s,峰值占用 3.32GB,与常规运行逐位一致
原文来源:GitHub - MakazhanAlpamys/Soup — 一个用 YAML 配置一条命令微调 LLM 的开源工具,核心卖点是层流式训练(layer streaming):让 8B 模型在 4GB 显存的笔记本显卡上完成 LoRA 微调。
微调大模型长期是件"门槛很高"的事:一张像样的显卡动辄几万块,显存不够就得折腾量化、梯度检查点、CPU offload 各种技巧。Soup 想解决的就是这个问题——它的定位是一句话能说清的:"一条命令微调 LLM,无 SSH、无配置地狱",而最吸引人的卖点是:8B 模型能在 4GB 显存的笔记本 GPU 上微调。
核心原理:Layer Streaming
传统 LoRA 微调时,整个冻结的基座模型都要驻留在显存里。8B 模型哪怕 NF4 量化后也要 4-5GB 左右,加上 LoRA 适配器和优化器状态,4GB 显存的消费级显卡根本装不下。
Soup 的做法是把冻结的基座模型从显存里"请出去":模型权重常驻在主机内存(RAM)中,训练时按 decoder 层逐个流式送入 GPU,用完一层换下一层。这就是 Layer Streaming 的核心思想——用 PCIe 带宽换显存容量。
实测数据来自项目作者在 RTX 3050 Laptop 4GB 上的真实运行:Llama-3.1-8B-Instruct + NF4 量化 + LoRA,batch 1、序列长度 512,峰值显存占用 3.32GB,训练速度 119.6 tok/s。更关键的是结果与常规"整模型驻留"运行逐位一致(bit-exact)——不是近似,而是完全相同的训练结果。这个正确性协议在项目的预印本论文里有详细描述(Exact Layer Streaming: LoRA Fine-Tuning of an 8B Model on a 4 GB Laptop GPU,Zenodo 收录)。
—— 广告 ——
功能盘点
- 一条命令工作流:
soup init --template chat初始化项目,soup train开始训练。配置全部在一个 YAML 里,支持 chat、code、medical 三种模板。 - 多训练方式:SFT、DPO、ORPO、SimPO、KTO 都支持,DPO 等偏好损失同样可以在层流式引擎上跑(参考模型用同一份流式基座、禁用适配器,实测峰值是流式 SFT 的 0.914 倍,结果同样逐位一致)。GRPO/PPO 被明确排除——rollout 需要每个生成 token 重读所有层,不适合流式。
- 数据管线:支持 JSONL/JSON/CSV/Parquet 和 HuggingFace 数据集,自动识别 Alpaca、ShareGPT、ChatML 格式。
- 工程成熟度:608 个 commit,16935 个测试通过,PyPI 发布(
pip install "soup-cli[train]"),提供 Docker 镜像(CUDA 12.1),Apache-2.0 许可证。作者维护态度非常认真——从提交历史能看到对 trl 版本边界的逐版本实测验证(而不是读源码猜),以及为 Windows cmd.exe 修正安装提示这样的细节。
适合谁用
适合:想在本地显卡上做 LoRA 微调但显存吃紧的个人开发者;想低成本实验 SFT/DPO 的学生和研究者;做垂直领域小模型的独立开发者——4GB 显存就能跑通 8B 模型的完整微调闭环,意味着入门成本从"租云 GPU 或买大卡"降到了"一台普通笔记本"。
不适合:需要全参数微调或训练超大模型的生产环境;对训练速度有极致要求的场景(层流式本质是用带宽换容量,吞吐会比驻留式低);需要 GRPO/PPO 强化学习训练的用户。
一点观察
层流式训练不是新概念(CPU offload 的思路类似),但 Soup 把它做到了产品级的易用程度,并且用"bit-exact"验证打消了"流式会不会影响精度"的最大疑虑。对独立开发者来说,这个工具的实际意义在于:微调的门槛从硬件预算转移到了时间和耐心——你不再需要先花几万块买显卡,才能开始做自己的模型。配合越来越便宜的消费级显卡和量化方案,本地微调正在变成普通开发者也能上手的日常操作。
需要说明的是,Layer Streaming 目前标注为 BETA(v0.72+),作者也还在持续打磨。生产环境大规模微调前建议先在 benchmark 数据上验证自己的场景。
© 2026 四月
原文链接:https://www.aprilzz.com/tools/soup-4gb-laptop-finetune
相关文章
Clippy:90 年代风格的本地 LLM 界面
把 Clippy 带回桌面,但让它接入本地大模型。一个有趣的复古 UI 实验,证明了 LLM 交互可以有不同的形式。
AirLLM:一张 4GB 显卡跑 70B 大模型,2.8T 的 Kimi K3 也只要 3.7GB 显存
AirLLM 用分层流式加载让 70B 模型跑在单张 4GB 显卡上,无需量化蒸馏剪枝,现在连 2.8T 参数的 Kimi K3 都能以 3.72GB 显存运行。小显存玩家的本地大模型福音。
Syncular:离线优先的 SQL 同步方案,客户端本地 SQLite + 服务端单一提交日志
Syncular 是一个开源的 offline-first SQL 同步框架:客户端保留真实本地 SQLite 数据库(浏览器用 OPFS、其他平台用原生 SQLite),写入走乐观 outbox,服务端一条有序提交日志作为唯一事实来源。TypeScript 和 Rust 双核心,支持 Tauri、React Native、Flutter 等绑定。