🎯 什麼情境該想到我

當你已經確定「提示工程與 RAG 都不夠,這次真的要微調」(那個判斷見 工具-微調與RAG的取捨),接下來要決定用哪種微調方式、吃多少 VRAM、用哪個框架的時候。

⚙️ 怎麼用(步驟 / 公式)

  1. 先確認 SFT 能不能解你的問題:SFT 教的是「怎麼回答」——結構化輸出、遵循指令、對話格式。它只能重新喚起預訓練already有的知識,無法憑空教會模型新的語言或領域能力。要灌新知識請走 RAG。

  2. 資料優先於超參數:高品質的指令—回應配對,效果勝過在爛資料上狂調參數。先把資料集做對。

  3. 依 VRAM 選訓練方式

    方式做法代價
    Full Fine-Tuning更新全部參數VRAM 隨模型大小暴增,彈性最大,產出全新 checkpoint
    LoRA凍結原權重,在注意力層加上低秩矩陣 W' = W + BA可訓練參數大幅減少
    QLoRA基礎模型存成 4-bit NormalFloat + LoRA adapter 用 FP16/BF16 訓練單張 48GB GPU 就能微調 65B,品質相對 LoRA 掉很少
  4. 設定 LoRA 關鍵參數

    • r(秩):分解的維度,常用 16–128
    • alpha(縮放):通常設 rank 的 1–2 倍
    • target_modules:要掛 adapter 的層,常見 q_projv_projk_projo_proj
  5. 選框架TRL(Hugging Face 官方,SFTTrainer 自動處理資料格式,同一套還能接 DPO/PPO)、Axolotl(設定檔驅動)、Unsloth(速度與記憶體優化)。

🧪 我實際套用的紀錄

  • 2026-08-01:從 LLM Course 收錄,尚未實際跑過。

⚠️ 注意 / 什麼時候不適用

  • SFT 只是表層適配。期待它教會模型全新領域知識會失望——那是預訓練或 RAG 的工作。
  • 微調完必須有評估集才知道有沒有變好,否則只是換個貴的方式瞎調(見 工具-AI系統評估)。
  • QLoRA 省 VRAM 但訓練較慢;資源夠的話 LoRA 品質與速度較平衡。

🔗 相關工具