Repolode
MakazhanAlpamys

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. 1

    使用 pip 安装训练依赖

    pip install "soup-cli[train]"
  2. 2

    从模板创建配置文件

    soup init --template chat
  3. 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 数据每日更新。

相关项目