Soup CLI logo

Soup CLI

認領

Soup CLI is an open-source command-line tool for post-training and related model workflows, including fine-tuning, preference training, evaluation, merging, deployment, and data preparation. It is aimed at users who want a single offline CLI to manage model training and shipping on local or borrowed hardware.

Soup CLI preview

Post-training 與模型營運整合於單一 CLI

Soup CLI 是一款離線、以 CLI 為優先的工具組,用於後訓練語言模型與相關工作流程。它把訓練設定、資料準備、評估、模型合併、推論服務、匯出與部署指令整合在同一個介面中。

其核心訓練流程設計為可從工具產生的設定檔執行,並以規則自動設定許多預設值。網站強調監督式微調與偏好訓練等方法,以及 layer streaming,讓凍結的基礎模型可以保留在 CPU RAM 或 NVMe 中,而不是占滿完整 VRAM。

此產品定位於在有限硬體上訓練的使用者,包括模型太大而無法完整駐留於 GPU 記憶體的情況。文件也展示了從其他工具遷移設定、瀏覽 recipes、執行評估閘門,以及將模型推送或部署到外部執行環境的指令。

核心能力

設定檔驅動的訓練設定

`soup init` 會建立 `soup.yaml`,網站說明 Soup 會自動寫入大量訓練設定,包括當規則判定時的任務、量化、學習率與 epoch。

適用於超大模型的 layer streaming

Soup 可以將凍結的基礎模型逐層從 CPU RAM 或 NVMe 串流到 VRAM,讓一次只駐留一層;網站表示這可支援訓練無法完整放入顯示卡的模型。

多種訓練方法

訓練文件與首頁提到支援監督式微調與偏好方法,包括 DPO、ORPO、SimPO 和 KTO,訓練頁面則說明 schema 中有 23 種 task 值。

評估與儲存閘門

`soup train` 支援 `--gate`,可在每個 epoch 邊界執行評估套件,並在退化時停止;首頁則表示 Soup 會從使用者自己的資料推導評估,並以是否可交付的判定來控制儲存。

遷移與 recipes

`soup migrate` 可匯入來自 LLaMA-Factory、Axolotl 與 Unsloth 等工具的設定,而 `soup recipes` 則讓使用者列出、查看、搜尋並複製 142 個現成 recipes。

更廣泛的 CLI 工作流程

參考文件包含 chat、serving、export、merge、push、evaluation、資料驗證、去重、生成與資料集發布等指令,使這個工具成為更完整的模型營運 CLI,而不只是訓練工具。

使用 Soup CLI 的實際方式

  • 在有限 GPU 記憶體上微調

    當基礎模型太大而無法完整載入 VRAM,且你需要把凍結的基礎模型保留在 RAM 或 NVMe 上的串流方式時,就可使用 Soup。

  • 偏好訓練與對齊

    可用於 DPO、ORPO、SimPO 或 KTO 執行,且希望參考模型來自同一個串流中的基礎模型,而不是再載入第二份常駐副本。

  • 從其他框架遷移設定

    使用 `soup migrate` 將既有設定從 LLaMA-Factory、Axolotl 或 Unsloth 轉換為 Soup YAML,盡量減少手動重寫。

  • 帶有檢查點與退化檢查的訓練

    當你希望訓練在評估退化時停止,或在訓練期間自動恢復並推送檢查點時,可使用閘門與檢查點相關旗標。

  • 在單一 CLI 中準備、評估並交付

    當你想要一套從資料審查、訓練、評估、adapter 合併、部署到匯出為服務格式的單一工作流程時,可使用 Soup。

Pros and Cons

Pros

  • 在單一 CLI 中涵蓋從訓練到交付的完整流程,而非將任務拆散到多個工具。
  • 依網站定位支援離線使用。
  • layer streaming 可讓某些無法將完整凍結基礎模型放入 VRAM 的硬體也能訓練部分模型。
  • 包含遷移工具與 recipes,可減少常見起始情境的設定工作。
  • 提供評估閘門與執行管理指令,有助於更可控的訓練迴圈。

Cons

  • 網站將 layer streaming 描述為 beta,並註明其速度比常駐式訓練慢。
  • 最強的串流宣稱綁定於網站上描述的特定方法與環境,因此支援情境可能比完整 CLI 表面看起來更窄。
  • 所提供的網站文字未清楚拆分價格資訊;公開頁面主要強調開源存取與文件。

FAQ

Soup CLI 是做什麼的?

Soup CLI 是一個用於後訓練工作流程的命令列工具,例如訓練、評估、合併、部署、資料準備與資料集處理。

它可以訓練無法完整放入 GPU 記憶體的模型嗎?

可以。網站說明 Soup 能將凍結的基礎模型從 CPU RAM 或 NVMe 逐層串流,因此模型不必完整駐留在 VRAM 中。

支援哪些訓練方法?

網站明確提到 SFT、DPO、ORPO、SimPO 與 KTO,而訓練文件描述 schema 中有 23 種 task 值。

我可以使用其他工具的設定檔嗎?

可以。文件有說明可使用 `soup migrate` 從 LLaMA-Factory、Axolotl 與 Unsloth 匯入設定。

它只有訓練功能嗎?

不是。CLI 參考文件也有記錄 chat、serving、export、merge、push、eval 與 data 指令。

Quick Facts

Category
Developer Tool
Primary interface
Command-line interface
License
Apache-2.0
Source domain
trysoup.dev
Install command
`pip install "soup-cli[train]"`
Supported Python
3.10 to 3.12