一个免费开源的大语言模型微调与后训练框架,通过 YAML 文件进行配置。
MakazhanAlpamys/Soup
通过一份 YAML 配置完成 LLM 微调与后训练的命令行工具,支持在低显存消费级显卡上训练。
- Star
- 9,388
- Fork
- 1,540
- 未关闭 Issue
- 195
- 最近提交
- 昨天
这是什么?
Soup 是一个用于微调和后训练大语言模型的命令行工具。用户用一个 YAML 文件指定基础模型、任务、数据集和训练参数,再执行 `soup train` 即可运行训练。支持的任务包括 SFT,以及 DPO、KTO、ORPO、SimPO 等偏好优化方法,还有 GRPO、PPO 等强化学习变体,默认使用 LoRA 和 QLoRA 进行量化训练。
数据方面,Soup 可从 JSONL、JSON、CSV、Parquet 或 TXT 文件中自动识别 Alpaca、ShareGPT、ChatML 等常见格式。训练之后,它还提供模型对话、兼容 OpenAI 接口的推理服务、LoRA 合并、导出 GGUF 供 Ollama 或 llama.cpp 使用,以及推送到 Hugging Face Hub 等功能。
项目还提供一个可选的分层流式加载模式,将冻结的基础模型放在内存中,每次只把一个解码层搬到 GPU 上计算。项目称借此可在 4 GB 显存的笔记本 GPU 上微调 8B 模型,该模式目前仍处于 Beta 阶段。另有可选组件提供本地 Web 界面、Unsloth 和 MLX 后端以及评测工具。
核心功能
- 01通过 `soup train` 和单个 YAML 配置完成训练。
- 02支持 SFT、DPO、KTO、ORPO、SimPO、GRPO、PPO 等任务。
- 03基于 LoRA 和 QLoRA,自动处理批大小和量化设置。
- 04自动识别 Alpaca、ShareGPT、ChatML 等常见数据格式。
- 05可导出 GGUF 格式,并提供兼容 OpenAI 接口的推理服务。
适用场景
- 在单张消费级显卡上用 QLoRA 微调 7B 至 14B 模型。
- 无需编写训练循环,快速进行 DPO、ORPO 等偏好优化实验。
- 将微调后的模型导出为 GGUF,在 Ollama 或 llama.cpp 中本地运行。
- 在显存有限的笔记本上,借助可选的分层流式加载模式进行训练。
快速上手
- 1
使用 pip 安装训练依赖
pip install "soup-cli[train]" - 2
从模板创建配置文件
soup init --template chat - 3
训练模型
soup train
使用前须知
- 仅支持 Python 3.10–3.12,不支持 3.13 及以上版本。
- 微调需要安装 [train] 额外依赖,低显存的层流式加载功能仍处于 BETA 阶段且需手动开启。
- 部分选项(如 awq/gptq 导出)已弃用,将在 v0.77 中移除。
标签
常见问题
- Soup 是什么?
- 通过一份 YAML 配置完成 LLM 微调与后训练的命令行工具,支持在低显存消费级显卡上训练。 Soup 是一个用于微调和后训练大语言模型的命令行工具。用户用一个 YAML 文件指定基础模型、任务、数据集和训练参数,再执行 `soup train` 即可运行训练。支持的任务包括 SFT,以及 DPO、KTO、ORPO、SimPO 等偏好优化方法,还有 GRPO、PPO 等强化学习变体,默认使用 LoRA 和 QLoRA 进行量化训练。
- Soup 可以免费使用吗?用的什么许可证?
- Soup 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- Soup 还在维护吗?
- 活跃维护中。Soup 最近一次提交是在 2026年10月19日。
- Soup 适合用来做什么?
- 在单张消费级显卡上用 QLoRA 微调 7B 至 14B 模型。 无需编写训练循环,快速进行 DPO、ORPO 等偏好优化实验。 将微调后的模型导出为 GGUF,在 Ollama 或 llama.cpp 中本地运行。 在显存有限的笔记本上,借助可选的分层流式加载模式进行训练。
- Soup 怎么安装和运行?
- 使用 pip 安装训练依赖: pip install "soup-cli[train]" 从模板创建配置文件: soup init --template chat 训练模型: soup train
- 在哪里获取 Soup?
- 源代码和安装说明在 GitHub 上:https://github.com/MakazhanAlpamys/Soup
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源桌面应用与 Web 界面,可在本地运行、微调和导出大语言模型与扩散模型,并提供代码版训练库。
统一的大模型微调框架,支持 100 多种 LLM 与 VLM,提供零代码命令行和 Web 界面。
Python 库,逐层加载大语言模型,让 70B 级模型可在单张 4GB 显卡上推理,无需量化。
一款 Rust 编写的命令行与终端工具,检测 CPU、内存和显卡,按硬件适配度推荐可运行的开源大模型。
用 PyTorch 从零实现的 Transformer 大模型训练教程与代码库,涵盖预训练、SFT、奖励模型、DPO/PPO/GRPO 与文本生成。