三只貓
Rich Mindset Zone
richmindsetzone.com
← All posts

一條 command 微調 LLM:Soup 如何將 fine-tuning 門檻降到零

2024 年如果你想 fine-tune 一個開源 LLM,你要搞掂 CUDA、FlashAttention、DeepSpeed config、多卡 NCCL timeout、checkpoint 爛咗點 recover、batch size 點 tune——成個過程等於請多一個 infra 工程師返嚟。2026 年的今天,你只需要一條 command。唔係概念演示,係 production-ready 嘅 fine-tuning pipeline。

Soup 呢個開源 CLI 工具,將成個 fine-tuning 流程壓縮成 pip install + soup init + soup train 三個步驟。背後的工程取捨好直接:既然 30-50% 嘅 ML 工程時間都嘥喺 infra 除錯度,點解唔將 infra 層完全抽象化?呢篇文會由一個香港開發者嘅角度,拆解 Soup 點樣做到「一條 command 微調」,以及佢對中小團隊意味著咩。

由 LoRA 到 GRPO:13 種訓練方法的統一入口

傳統上,你想試唔同嘅訓練方法,要學唔同嘅框架——SFT 用 Hugging Face TRL、DPO 要自己寫 loss function、GRPO 要搞 reward model pipeline。Soup 將呢 13 種方法全部收埋入同一個 YAML config,一個 task key 就切換:

base: meta-llama/Llama-3.1-8B-Instruct
task: sft          # 一秒變 dpo / grpo / kto / orpo / simpo / ppo
data:
  train: ./data.jsonl
  format: alpaca
training:
  lora:
    r: 16
    alpha: 32

背後佢用咗 Hugging Face TRL 同 PEFT 做底層引擎,但將所有 boilerplate 封裝晒。你唔需要理解什麼是 peft_config、什麼是 trl.SFTTrainer 的參數——Soup 幫你 map 好。

特別值得留意係 GRPO(Group Relative Policy Optimization),即係 DeepSeek-R1 用嘅 reasoning training 方法。Soup 係少數 CLI 層面直接支援 GRPO 嘅工具,你只需 soup init --template reasoning 就有齊 reward function 嘅 skeleton。對於想做 domain-specific reasoning model 嘅團隊嚟講,呢個係好大嘅效率提升。

另一個 killer feature 係 template 系統。除咗基本嘅 chatcode,仲有 medicalvisionaudioembeddinglongcontext(128k+ context)、甚至 rlhf(完整 SFT→RM→PPO pipeline)。每個 template 對應一組經過實戰驗證嘅 default hyperparameter,唔使由零開始試。

Auto everything:GPU 檢測、batch size、quantization 背後的工程

Soup 最反常識嘅地方係佢嘅「自動化哲學」。多數 ML 工具嘅設計假設係「開發者知道自己要做咩」,所以提供大量參數俾你 tune。Soup 的假設相反:開發者只想解決問題,唔想研究 infra

所以佢有 batch_size: auto——自己計 VRAM,揀最大唔爆嘅 batch size。有 --gpus auto——detect NVLink/PCIe topology,自動揀最佳多卡策略。有 quantization autopilot—— detect 你張卡嘅 VRAM,決定用 4bit QLoRA 定 8bit LoRA,定係 full fine-tune。

呢啲「自動」唔係 hea 做。舉例個 batch size auto 係逐級 probe:先試大 batch,OOM 就二分 search,成個過程幾秒鐘。GPU detection 層面,佢會區分 NVLink 互連同 PCIe 互連——NVLink 卡之間 bandwidth 高啲,適合 tensor parallelism;PCIe 就適合數據並行。呢啲細節如果你自己搞,隨時睇幾日 NVIDIA docs 都未必搞清。

再講 quantization。Soup 支援 4bit(NF4/FP4)、8bit(FP8/INT8),仲有 AWQ 同 GPTQ export。但最實用嘅係 Quantization-Aware Training(QAT)——即係訓練期間就考慮量化誤差,最終模型量化後嘅準確度損失明顯更低。對於要 deploy 去邊緣裝置或者 consumer GPU 嘅產品嚟講,QAT 係好大嘅 advantage。

由 train 到 deploy:soup autopilot 同 100+ recipes 的生態

如果你連 YAML config 都唔想寫,Soup 有 soup autopilot 模式:

soup autopilot --model <model-id> --data ./data.jsonl --goal chat

佢會自動揀 template、set hyperparameter、決定 quantization strategy。呢個模式對於 prototyping 同實驗嚟講快到癲——你仲諗緊用咩 base model,佢已經 train 完第一個 checkpoint。

仲有一個好強大嘅功能係 recipes 系統。soup recipes list 會顯示超過 100 個預先配置好嘅模型 recipe,涵蓋 Llama 3、Mistral、Qwen、DeepSeek 等主流系列。每個 recipe 包含經測試嘅 learning rate、LoRA rank、target modules、dataset format——全部係社群貢獻同實戰驗證過嘅。呢個大大減少咗「揀 hyperparameter 試到天荒地老」嘅痛點。

Export 層面亦好完整。soup export --format gguf --quant q4_k_m 可以直接出 Ollama compatible 嘅模型,soup serve 起一個 OpenAI-compatible API server。即係你 fine-tune 完之後,唔使寫任何 glue code 就可以 deploy。

對中小團隊的啟示:fine-tuning 不再是護城河

講到尾,Soup 代表嘅趨勢好清楚:fine-tuning 正在 commodity 化。一年前,能夠 fine-tune LLM 係一種技術護城河,團隊要靠呢個能力做出差異化產品。但當工具門檻降到一條 command,護城河就消失咗——取而代之嘅係數據質量同 domain understanding。

對於香港同繁體中文圈的創業團隊,我嘅建議係:

第一,即刻試 Soup autopilot 做一個 domain-specific model。 用你最熟悉嘅數據(例如客服對話、產品文檔、行業 Q&A),一個下午就睇到效果。成本只係一張 GPU 嘅電費。

第二,唔好再自己寫 training infra。 如果你而家仲用緊 raw PyTorch 或者手動寫 TRL script 做 fine-tuning,你正在浪費時間。Soup 呢類工具唔係玩具——佢封裝嘅係成熟嘅開源組件(PEFT、TRL、Unsloth、DeepSpeed),你唔會因為用佢而失去控制權,反而慳返大量時間去專注數據同 evaluation。

第三,關注 GRPO 同 reasoning model 嘅應用。 DeepSeek-R1 證明咗 reasoning 可以大幅提升模型能力,而 Soup 係少數令 GRPO 真正 accessible 嘅工具。對於需要 domain-specific reasoning 嘅產品(例如法律分析、醫療診斷、金融風控),呢個可能係 2026 年最大嘅機會點。

Fine-tuning 曾經係少數人嘅遊戲。而家唔係啦。你只需要 terminal 同一條 command。