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

相同指令適用於 pipuv 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.0trl>=0.29 相衝突;需使用更新的 torch 重新安裝。
  • CPU 訓練僅用於測試 – 極其緩慢,不適用於生產環境。
  • 某些高階後端(DeepSpeed、FSDP)為可選擴充,需額外設定。
  • 安全性soup serve 在非回環主機綁定時,若無工具認證令牌將報錯退出;/v1/tools/bash 端點僅在作業系統層級隔離後重新啟用。

適合誰使用

  • 希望在個人工作站上微調 LLM 而無需與 CUDA 設定搏鬥的研究人員或愛好者。
  • 尋找可重現、單指令流水線並能處理部署格式匯出的小團隊。
  • 任何需要在訓練期間快速檢視資料集或進行即時聊天的使用者。

總結

Soup 是一個真實、持續維護的開源專案,抽象了 LLM 微調的底層複雜性。其最突出的特性是 層流式,將低 VRAM 硬體的訓練能力推向極限,而其餘工具鏈(設定驅動 CLI、Web UI、匯出選項)使其成為實驗與輕量生產環境的實用選擇。

相關