核心概念

Fine-tuning(微調)是在預訓練 LLM 的基礎上,以特定領域資料調整模型參數,使其適應特定任務或領域。它是 LLM 客製化的三條主要路線之一,與其他兩條形成各有側重的三角關係:

路線 改動模型參數 知識更新成本 適用場景
Prompt Engineering 幾乎零 通用問答、快速原型驗證
RAG 低(更新知識庫即可) 知識頻繁更動、需要答案溯源
Fine-tuning 高(需重新訓練) 固定格式、特定語調、小模型效率優化

Fine-tuning 的本質是讓模型內化特定知識或行為模式,而不是在推理時才動態補充。這使它在一些場景下比 RAG 更有效,但也帶來對應的限制。

Fine-tuning 最適合的三類場景:

  1. 輸出格式嚴格規範:需要模型固定輸出特定 JSON schema、醫療報告格式、法律文件結構,用提示詞難以穩定控制時
  2. 特定語調或品牌聲音:企業希望 AI 客服始終使用品牌定義的語氣、詞彙偏好,且跨對話一致
  3. 小模型效率優化:在特定任務上,7B 微調模型可比肩未微調的 70B 模型,大幅降低推理成本

不適合 Fine-tuning 的情境:

  • 知識需即時更新:Fine-tuning 把知識「燒」進參數,更新時必須重新訓練;若產品資訊每天變動,應選 RAG
  • 需要答案可追溯:Fine-tuning 的知識來源無法在推理時被引用,用戶看不到依據
  • 資料量不足:通常需要數百至數千筆高品質標記樣本;資料稀少時模型容易過擬合或無法收斂

全量微調 vs 參數高效微調(PEFT)

全量微調(Full Fine-tuning)更新模型所有參數,效果最佳,但資源需求龐大——以 7B 模型為例,至少需要 4 張 A100(80GB),且容易因資料量不足而過擬合。

PEFT(Parameter-Efficient Fine-Tuning,參數高效微調)的核心思路:凍結預訓練模型的絕大部分權重,只訓練少量新增或選定的參數,在接近全量微調效果的同時,大幅降低資源需求與過擬合風險。

關鍵要點

LoRA:低秩適配(Low-Rank Adaptation)

LoRA 是目前最主流的 PEFT 方法,由 Hu et al.(2021)提出。技術基礎來自一個關鍵觀察:大型預訓練模型在做特定任務適應時,有效的權重更新本質上是低秩的——可以用兩個較小矩陣的乘積來近似表示,而不需要修改全部參數。

運作機制:

  • 對原始權重矩陣 W(形狀 d×k)保持凍結,不做任何改動
  • 並聯兩個低秩矩陣:A(d×r)和 B(r×k),其中秩 r 遠小於 d 和 k
  • 實際輸出 = Wx + α(BA)x,訓練時只更新 A 和 B
  • 推理時可選擇直接合併 BA 回原始 W,不增加任何推理延遲

效果: 7B 模型的可訓練參數從 70 億降至約 2000 萬(減少約 99%),單張 24GB 消費級 GPU(如 RTX 4090)即可訓練。

關鍵超參:

  • r(秩):通常取 4-64;越小參數越少、訓練越快,但擬合能力越弱;建議從 8-16 開始調試
  • lora_alpha:縮放因子,通常設為 2r,控制 LoRA 更新的幅度
  • target_modules:應用 LoRA 的層,通常針對 Transformer 注意力層的 Q、K、V 矩陣;也可擴展到 FFN 層

QLoRA:消費硬體上的大模型微調

QLoRA 在 LoRA 基礎上加入 4-bit NF4 量化,在加載基礎模型時就先做量化壓縮,大幅降低 GPU 記憶體佔用。65B 參數模型可在單張 48GB GPU(如 A6000 或 A100 40GB)上完成微調,代價是訓練稍慢,效果略低於標準 LoRA。

QLoRA 使用 LoftQ 初始化(量化感知初始化),在量化過程中最小化精度損失,是讓 4-bit 訓練仍保有可用效果的關鍵。

其他 PEFT 方法

方法 機制 適合場景
Prefix Tuning 在輸入前加入可訓練的「前綴向量」,引導模型輸出 參數極少,適合資源極度受限的部署
Adapter 在 Transformer 層之間插入小型 MLP 瓶頸層 效果穩定,但增加推理延遲(不可合併)
指令微調 以(指令, 期望回答)配對資料訓練 ChatGPT 系列模型的核心技術之一,提升指令遵循能力
RLHF 人類反饋強化學習,根據人類偏好打分調整模型 最終的對齊步驟,成本最高,通常用於大型基礎模型開發

實務應用

Fine-tuning vs RAG 決策框架

知識需要即時更新?
├─ 是 → RAG 優先
└─ 否 → 需要特定格式或語調?
         ├─ 是 → LoRA Fine-tuning
         └─ 否 → Prompt Engineering 先試
                  └─ 若仍不穩定 → 考慮 Fine-tuning

生產環境最常見是混合架構:LoRA 微調讓模型掌握特定格式和語調,RAG 補充即時事實知識。兩者不是互斥選項,而是在不同維度解決問題。

訓練實務要點

  • 品質 > 數量:500 筆精心標記樣本通常優於 5000 筆雜訊資料;錯誤的訓練資料比沒有資料更危險
  • 基礎模型選擇:任務越接近基礎模型的預訓練領域,所需微調資料越少(法律任務優先選法律預訓練模型)
  • 過擬合監控:訓練損失持續下降但驗證損失轉為上升時立即停止,不要執著讓訓練損失趨近零
  • LoRA 合併:訓練完成後,可選擇將 LoRA 權重合併進基礎模型,產出獨立模型,簡化部署管線、無需每次載入 LoRA adapter

延伸觀點

綜合三個來源的交叉驗證,浮現兩個一致性洞察:

Fine-tuning 與 RAG 解決的是不同維度的問題。 RAG 解決「模型不知道什麼」,Fine-tuning 解決「模型怎麼說話」。2025 年的實踐趨勢是兩者組合:LoRA 微調賦予模型領域語調與格式規範,RAG 在推理時注入即時知識。把兩者對立比較,本質上是錯誤的框架。

LoRA 的「低秩假設」被多個研究一致支持。 HuggingFace PEFT 文件與原始論文都指出,LLM 在做任務適應時,有效的知識更新本身存在於低維空間中。這表示全量微調中大部分的參數更新並非必要——LoRA 讓模型更誠實地揭示了這個事實,同時帶來了讓普通開發者也能負擔的 Fine-tuning 成本。對實際使用者而言,這個洞察的重要結論是:LoRA 不是「次等的」全量微調,而是在大多數場景下同樣有效、更現實的選擇。

延伸閱讀:RAG 檢索增強生成架構 / 嵌入模型基礎與選型 / LLM主流地位與替代路徑

反向連結

以下頁面引用了本頁: