5,236· 782 forks· Python· Apache-2.0开发工具

Soup: 4GB 显卡也能微调 8B 大模型的命令行工具

MakazhanAlpamys/Soup

一条 YAML 配置微调大语言模型, 独创层流式技术让 4GB 笔记本显卡跑通 80 亿参数模型, 峰值显存仅 3.32GB

成熟度维护活跃, 最近提交 0 天前, 开放 53 个 issues, 持续迭代中

项目体检

部署 · 基于 Docker Compose 一键启动, 需 NVIDIA GPU 支持, 或直接 pip 安装本地运行, 默认无固定端口(训练工具非服务)

成本 · 开箱即用无需外部 API Key, 训练依赖本地 GPU(支持 4GB 起), 可选接入 Hugging Face 模型库(需梯子), 轻量 CLI 模式无 PyTorch 依赖

技术 · Python 3.10-3.12 + PyTorch + Transformers + PEFT + TRL, 支持 QLoRA/LoRA/DPO, 可导出 GGUF 格式

许可 · Apache-2.0 协议, 允许商业使用、修改和分发, 需保留版权声明

活跃 · 最新版本 v0.73.3 发布于 2026 年 8 月, 38 位贡献者, 最近提交 0 天前, 维护活跃

解决什么

大语言模型微调长期被高显存门槛卡死: 传统方案训练 80 亿参数模型需要 24GB 以上显存, 普通开发者只能租用云端 GPU 或放弃本地训练。即使采用 QLoRA 等量化技术, 配置环境仍需反复调试 SSH 连接、CUDA 版本、依赖冲突, 30-50% 时间耗在基础设施而非模型优化。Soup 通过独创的 层流式技术(Layer Streaming) 将冻结的基础模型分层加载到显存, 实测让 4GB 笔记本显卡(RTX 3050 Laptop)以 119.6 tok/s 速度训练 Llama-3.1-8B, 峰值显存仅 3.32GB, 且与常规驻留方式的输出完全一致。

为何火

该项目在 GitHub 获得 5200+ stars, 核心吸引力在于 打破显存墙: 免费 Colab T4(15GB)、甚至 4GB 消费级显卡都能跑通 80 亿参数模型微调, 这在以往不可想象。其次是 零配置哲学 —— 一个 YAML 文件定义数据集、模型、训练参数, 运行 soup train 自动处理批次大小、GPU 检测、量化策略, 无需手动调优。对比商业 MLOps 平台(如 Weights & Biases)需要云端账号和付费计划, Soup 完全本地运行, 适合预算有限的个人开发者和小团队快速验证想法。

核心功能

  1. 层流式训练(Beta): 将基础模型按解码器层切片, 每次仅加载一层到显存, 训练时逐层流式计算。实测 Llama-3.1-8B + NF4 量化在 4GB 显卡上可用, 且输出与全驻留方式按位一致
  2. 一键微调: 支持 SFT(监督微调)、DPO(直接偏好优化)、QLoRA/LoRA 等主流技术, 通过 YAML 配置即可切换
  3. 自动优化: 根据硬件自动选择批次大小、梯度累积步数、量化精度(NF4/INT8), 无需手动计算显存占用
  4. 格式转换: 训练完成后可导出 GGUF 格式, 直接供 Ollama 等推理工具使用
  5. 轻量 CLI: 核心安装包(soup-cli)不含 PyTorch, 仅 CLI 和数据工具; 训练功能通过 pip install "soup-cli[train]" 按需安装

安装

基础安装(仅 CLI 工具):

pip install soup-cli

完整训练环境:

pip install "soup-cli[train]"  # 包含 PyTorch/Transformers/PEFT 等

Docker 方式(需 NVIDIA Docker):

docker compose up  # 自动挂载 GPU, 工作目录映射到 /workspace

系统要求: Python 3.10-3.12(故意不支持 3.13+, 避免 torch 加载器崩溃), CUDA 兼容 GPU(最低 4GB 显存可用层流式, 常规模式建议 8GB+)。

适合谁

  1. 显存受限的研究者: 只有消费级显卡(RTX 3050/3060)但需要微调 7B-13B 模型的学生或独立开发者
  2. 快速验证场景: 不想配置复杂 MLOps 流程, 只需本地跑通概念验证(PoC)的团队
  3. 离线环境: 无法稳定访问云端 GPU 或需要数据本地化的场景(注意首次下载模型仍需联网)
  4. 成本敏感用户: 避免按小时付费的云端 GPU, 用自有硬件长时间训练

不适合: 需要分布式多卡训练、生产级监控告警、或已有成熟 Kubernetes 集群的大型团队(此时 Weights & Biases 等商业方案更合适)。

社区评价

暂无足量社区公开讨论, 以下为基于项目本身的中立评估: 该项目技术创新点明确(层流式训练), 且提供可复现的基准测试(Colab notebook 限制进程到 4GB 后验证输出一致性), 在 GitHub 快速积累 5200+ stars 和 38 位贡献者。v0.74.0 版本修复了重大内存泄漏(冻结基础模型被错误加载为 fp32, 修复后显存占用降低 2.59 倍), 说明项目仍在快速迭代中。开放 53 个 issues 反映活跃的用户反馈, 但也暗示存在待解决的边界情况。Apache-2.0 协议和详细文档降低了商业应用门槛, 但层流式功能标注 Beta 状态, 生产使用需自行验证稳定性。

选型对比

vs Weights & Biases / Comet ML(商业 MLOps):

  • Soup: 完全本地, 零月费, 但缺少实验追踪、团队协作、超参数扫描等企业功能
  • 商业工具: 提供可视化面板、模型注册表、CI/CD 集成, 但需云端账号且按用量计费

vs Axolotl / LLaMA-Factory(同类开源):

  • Soup: 主打低显存(4GB 可用), 配置极简(单 YAML), 但功能相对基础
  • Axolotl: 更灵活的训练策略配置, 但需手动计算显存、调整超参
  • LLaMA-Factory: 支持更多模型架构和数据格式, 但安装依赖更重

核心取舍: Soup 牺牲高级功能换取 上手速度硬件兼容性, 适合快速验证而非生产部署。

已知坑

  1. 首次运行需梯子: 从 Hugging Face 下载模型和数据集需稳定国际网络, 建议提前用 huggingface-cli download 缓存到本地
  2. 层流式仍为 Beta: README 明确标注实验性功能, 某些模型架构(如 Qwen 早期版本)可能不兼容, 需回退到常规模式
  3. Python 版本硬限制: 不支持 3.13+, 因 PyTorch 2.5.x 在新版本 Python 上有加载器崩溃问题(项目故意设置上界避免用户遇到无法定位的 C++ 错误)
  4. v0.74.0 重大修复: 之前所有版本的 SFT 训练都将冻结基础模型错误加载为 fp32(双倍显存占用), 升级后显存占用大幅下降但需重新测试已有配置
  5. 免费 Colab 兼容性: T4/P100 等老架构 GPU 在早期版本无法使用层流式(因 fp16 GradScaler 与 LoRA 适配器 dtype 冲突), v0.74.0 已修复但需验证
  6. 无内置实验追踪: 不记录历史训练指标, 需手动保存检查点或集成 TensorBoard

数据来源: GitHub 仓库 MakazhanAlpamys/Soup + 项目 README + 技术文档

安装方式:pip