MakazhanAlpamys/Soup
Fine-tune LLMs from one YAML. Layer streaming trains an 8B model on a 4 GB laptop GPU.
Soup – 一指令式 LLM 微調與後訓練
是什麼 – Soup 是一個基於 Python 的 CLI(可選 Web UI),將整個 LLM 微調流程封裝為單一、可重現的工作流。透過一個極小的 YAML 設定檔,您可以:
- 從 HuggingFace 下載基礎模型,
- 應用 LoRA / QLoRA 适配器,
- 使用 層流式 技術,在低階 GPU(最低僅需 4 GB VRAM)上進行量化訓練,將凍結的基礎模型保留在 GPU 之外,
- 評估、合併、匯出(GGUF、ONNX、TensorRT 等),甚至透過 OpenAI 相容 API 提供模型服務。
所有這些操作均由 soup 命令統一協調;無需手動 SSH,無需自訂腳本,也無需煩瑣的環境變數。
核心功能(如 README 所述)
| 功能 | 你將獲得 |
|---|---|
| 一指令式工作流 | soup init … && soup train 從資料載入到檢查點儲存,一步完成。 |
| 層流式(Beta) | 逐個將解碼器層從 RAM 流式傳輸到 GPU,使 8B 模型可在 4GB 電腦 GPU 上訓練(約 120 tokens/s,峰值 3.3 GB)。 |
| QLoRA 與 4 位量化 | 內存高效微調,自動選擇批次大小、梯度縮放等參數。 |
| 廣泛模型支援 | 任何支援 AutoModelForCausalLM 加載的模型——Llama‑3.x/4、Qwen、Gemma、Mistral、Mixtral、Phi‑4 等。 |
| 多種訓練目標 | SFT、DPO、GRPO、PPO、KTO、ORPO、SimPO、IPO、BCO、工具呼叫、預訓練、知識蒸餾、視覺/音訊等。 |
| Web UI 與儀表板 | soup ui 啟動本地 Gradio 風格介面,用於資料集檢查、即時指標和聊天。 |
| 匯出與服務 | 合併 LoRA,匯出為 GGUF(llama.cpp/Ollama)、ONNX、TensorRT、AWQ、GPTQ、BitNet,並執行 OpenAI 相容伺服器(soup serve)。 |
| 詳盡文件與配方 | 超過 100 個現成的模型配方,詳細的資料格式、合規性與效能調校指南。 |
| 跨平台支援 | 支援 CUDA GPU、Apple Silicon(MPS),甚至 CPU(僅用於測試)。提供 Docker 鏡像。 |
| 社群驅動 | 最近版本中超過 95% 為外部 PR,活躍的 Discord/Telegram,以及 DOI 連結論文。 |
快速開始(來自 README)
# 安裝輕量 CLI(無需 PyTorch)
pipx install soup-cli
# 加入訓練堆疊(torch, transformers, peft 等)
pipx install "soup-cli[train]"
# 初始化設定(互動式向導或範本)
soup init --template chat
# 使用產生的 soup.yaml 進行訓練
soup train
相同指令適用於 pip、uv tool 或直接從 Git 檢出使用。
優勢
- 低資源微調 – 層流式技術使 8B 模型在廉價筆電上成為可能。
- 零設定易用性 – 自動偵測批次大小、GPU 類型、量化等級和資料格式。
- 一站式工具鏈 – 訓練、評估、合併、匯出、服務全部涵蓋。
- 可擴展性 – 可選擴充(
[fast]、[mlx]、[ui]、[serve]等)可添加加速、Apple Silicon 支援或 UI,而無需引入不必要的重型相依性。 - 良好文件 – 完整的文件資料夾、命令參考,以及大量教學(Colab 筆記本、影片)。
局限性 / 注意事項(專案中明確指出)
- 層流式仍為 Beta – 某些 GPU 型號(如免費 Colab/T4 層級)可能失敗,需在設定中設定
stream_layers: true。 - Python 版本限制 – 官方支援 3.10–3.12;3.13+ 可能出現 wheel 解析問題。
- Torch 2.5.x 不相容 –
torch>=2.5.0與trl>=0.29相衝突;需使用更新的 torch 重新安裝。 - CPU 訓練僅用於測試 – 極其緩慢,不適用於生產環境。
- 某些高階後端(DeepSpeed、FSDP)為可選擴充,需額外設定。
- 安全性 –
soup serve在非回環主機綁定時,若無工具認證令牌將報錯退出;/v1/tools/bash端點僅在作業系統層級隔離後重新啟用。
適合誰使用
- 希望在個人工作站上微調 LLM 而無需與 CUDA 設定搏鬥的研究人員或愛好者。
- 尋找可重現、單指令流水線並能處理部署格式匯出的小團隊。
- 任何需要在訓練期間快速檢視資料集或進行即時聊天的使用者。
總結
Soup 是一個真實、持續維護的開源專案,抽象了 LLM 微調的底層複雜性。其最突出的特性是 層流式,將低 VRAM 硬體的訓練能力推向極限,而其餘工具鏈(設定驅動 CLI、Web UI、匯出選項)使其成為實驗與輕量生產環境的實用選擇。
相關
- Dispatch
- 專案
- 專案
- 專案
- 專案