🎯 什麼情境該想到我
當你已經確定「提示工程與 RAG 都不夠,這次真的要微調」(那個判斷見 工具-微調與RAG的取捨),接下來要決定用哪種微調方式、吃多少 VRAM、用哪個框架的時候。
⚙️ 怎麼用(步驟 / 公式)
-
先確認 SFT 能不能解你的問題:SFT 教的是「怎麼回答」——結構化輸出、遵循指令、對話格式。它只能重新喚起預訓練already有的知識,無法憑空教會模型新的語言或領域能力。要灌新知識請走 RAG。
-
資料優先於超參數:高品質的指令—回應配對,效果勝過在爛資料上狂調參數。先把資料集做對。
-
依 VRAM 選訓練方式:
方式 做法 代價 Full Fine-Tuning 更新全部參數 VRAM 隨模型大小暴增,彈性最大,產出全新 checkpoint LoRA 凍結原權重,在注意力層加上低秩矩陣 W' = W + BA可訓練參數大幅減少 QLoRA 基礎模型存成 4-bit NormalFloat + LoRA adapter 用 FP16/BF16 訓練 單張 48GB GPU 就能微調 65B,品質相對 LoRA 掉很少 -
設定 LoRA 關鍵參數:
r(秩):分解的維度,常用 16–128alpha(縮放):通常設 rank 的 1–2 倍target_modules:要掛 adapter 的層,常見q_proj、v_proj、k_proj、o_proj
-
選框架:
TRL(Hugging Face 官方,SFTTrainer自動處理資料格式,同一套還能接 DPO/PPO)、Axolotl(設定檔驅動)、Unsloth(速度與記憶體優化)。
🧪 我實際套用的紀錄
- 2026-08-01:從 LLM Course 收錄,尚未實際跑過。
⚠️ 注意 / 什麼時候不適用
- SFT 只是表層適配。期待它教會模型全新領域知識會失望——那是預訓練或 RAG 的工作。
- 微調完必須有評估集才知道有沒有變好,否則只是換個貴的方式瞎調(見 工具-AI系統評估)。
- QLoRA 省 VRAM 但訓練較慢;資源夠的話 LoRA 品質與速度較平衡。
🔗 相關工具
- 工具-微調與RAG的取捨 —— 上游決策,先用它判斷「這題該不該微調」,再進來看怎麼做
- 工具-偏好對齊方法選擇 —— 下一階段,SFT 讓模型會聽指令,偏好對齊才調整回答的品質與風格
- 工具-模型量化格式選擇 —— QLoRA 的基礎,4-bit 量化是它省下 VRAM 的關鍵
- 工具-AI系統評估 —— 微調的硬前提,沒有評估集就證明不了微調後真的比較好
🎯 什麼情境該想到我
當你的模型已經做完 SFT、會照指令回答了,但回答的語氣、有用程度、安全性還不到位,想用人類偏好把它調到位的時候。
⚙️ 怎麼用(步驟 / 公式)
-
確認位置:偏好對齊是後訓練的第二階段,前面必須先有 SFT 模型(見 工具-LLM微調實作路線)。它原本用來調語氣、降毒性、減幻覺,現在也被用來大幅提升推理任務表現。
-
依算力與目標選演算法:
方法 算力成本 最適合 需要獎勵模型 DPO Direct Preference Optimization 低—中 聊天模型、一般對齊 否 ORPO Odds Ratio Preference Optimization 低 單階段對齊(SFT 與對齊合併) 否 GRPO Group Relative Policy Optimization 中—高 推理型模型 否(改用獎勵函式) PPO Proximal Policy Optimization 高 複雜推理任務 是 -
算力有限就走直接最佳化路線(DPO / ORPO):訓練循環快、不必額外訓一個獎勵模型。
-
要衝推理品質才考慮 RL 路線(GRPO / PPO):彈性更大、天花板更高,但成本與不穩定性也高。
-
用拒絕採樣(Rejection Sampling)產生 on-policy 偏好資料:讓「正在訓練的那個模型」對每個 prompt 生成多個候選,再挑出好壞配對。好處是 chosen 與 rejected 都來自模型當前的分布:
面向 On-policy(拒絕採樣) Off-policy(現成資料集) 分布吻合 反映模型當前行為 可能與現在的輸出對不上 訓練穩定性 較穩 容易分布偏移
🧪 我實際套用的紀錄
- 2026-08-01:從 LLM Course 收錄,尚未實際跑過。
⚠️ 注意 / 什麼時候不適用
- 順序不能顛倒:沒做過 SFT 就直接對齊,等於在還不會聽指令的模型上調語氣。
- PPO 需要另外訓練並維護獎勵模型,工程複雜度是 DPO 的數倍,沒有明確理由不要一開始就選它。
- 偏好資料的品質決定上限,配對標得含糊,演算法再高級也救不回來。
🔗 相關工具
- 工具-LLM微調實作路線 —— 前一階段,必須先有 SFT 模型才談得上對齊
- 工具-AI系統評估 —— 驗收關卡,對齊有沒有真的變好只能靠評估集說話
- 工具-LLM安全防護 —— 目標重疊,降低有害輸出既是對齊目標也是安全防線的一環
🧑🔬 訓練與調校
🎯 什麼情境該想到我
當你想把一個大模型塞進手上的硬體——降精度換記憶體,卻不知道該降到幾位元、選哪種格式、品質會掉多少的時候。
⚙️ 怎麼用(步驟 / 公式)
-
先算記憶體帳。以 70B 模型為例:
格式 每參數位元 需要記憶體 目標硬體 品質損失 FP32 32 ~280 GB 多卡叢集 基準 FP16 16 ~140 GB 高階 GPU 幾乎無 (~0%) INT8 8 ~70 GB 中階 GPU 低 (~1–2%) INT4 (GPTQ) 4 ~35 GB 消費級 GPU 中等 (~3–5%) Q4_K_M (GGUF) ~4.5 ~40 GB 消費級硬體 中等 (~3–5%) INT2 2 ~17 GB 受限裝置 高 (~10–15%) -
沒有獨顯、要在 CPU 上跑 → 選 GGUF + llama.cpp。GGUF 的特點:單一檔案就含模型/tokenizer/詞表/metadata、支援 mmap 快速載入、可對不同層用不同精度。
-
看懂 GGUF 代號(
Q<位元>_<變體>):型別 每權重位元 用途 Q2_K ~2.5 極限壓縮,品質最差 Q4_K_M ~4.5 品質/體積最佳平衡,預設首選 Q5_K_M ~5.5 品質優於 Q4 Q6_K 6.0 接近 FP16 品質 Q8_0 8.0 品質損失極小 -
有 GPU 要跑推論服務 → 走 GPTQ / AWQ / EXL2 這類 GPU 導向格式。
-
理解底層兩種基本做法:
absmax(對稱,scale = max(abs(tensor))/127,簡單快速但怕離群值)與zero-point(非對稱,把完整值域映射到整數範圍,偏斜分布時精度較好)。
🧪 我實際套用的紀錄
- 2026-08-01:從 LLM Course 收錄,尚未實際跑過。
⚠️ 注意 / 什麼時候不適用
- 表中的品質損失是量級參考而非保證值,實際掉多少要用自己的評估集量(見 工具-AI系統評估)。
- 別一路壓到 2-bit 省記憶體,10–15% 的品質損失通常讓模型變得不堪用。
- 量化縮的是模型體積,不會讓生成速度自動變快——那是推論最佳化的工作。
🔗 相關工具
- 工具-LLM推論最佳化 —— 互補面向,量化省記憶體,它省時間,兩者常一起上
- 工具-LLM微調實作路線 —— QLoRA 正是把 4-bit 量化用在訓練階段的產物
- 工具-AI系統評估 —— 量化後掉多少品質,只能靠自己的評估集回答
🎯 什麼情境該想到我
當模型品質已經夠用,但回應太慢、長輸入就爆記憶體、每次呼叫太貴——問題出在推論階段而不是模型本身的時候。
⚙️ 怎麼用(步驟 / 公式)
- 先分辨瓶頸屬於哪一類:注意力運算(隨序列長度平方成長)/重複計算(每生成一個 token 就重算前面所有 token)/逐字生成(自迴歸天生序列化)。三種瓶頸各有對應解法,別亂套。
- 注意力吃記憶體 → Flash Attention。標準注意力要具體化整個 N×N 矩陣,記憶體 O(N²);Flash Attention 用三招繞開:
- Tiling:把 Q/K/V 切成小塊放進 GPU 的 SRAM 分塊算,不寫回完整矩陣
- Recomputation:反向傳播時重算而不是存下中間結果,用算力換記憶體
- Kernel Fusion:把多個運算融成單一 kernel,減少記憶體來回搬運
- 重複計算 → KV Cache。把已生成 token 的 key/value 存起來,下一步只算新 token。代價是快取本身佔記憶體,且會隨序列長度成長,需要管理策略。
- 逐字生成太慢 → Speculative Decoding。用一個小的 draft 模型一次猜好幾個 token,再讓大模型平行驗證:猜對就一次收好幾個,猜錯就退回。品質不變,速度變快。
- 這三者可以疊加,也可以再疊上量化(見 工具-模型量化格式選擇)——量化省記憶體,這裡省時間。
🧪 我實際套用的紀錄
- 2026-08-01:從 LLM Course 收錄,尚未實際套用。
⚠️ 注意 / 什麼時候不適用
- 沒量過就別優化。先確認慢在注意力、在快取、還是在逐字生成,否則做白工。
- Speculative Decoding 的收益取決於 draft 模型猜中率,猜太爛時反而多花一次驗證。
- KV Cache 是拿記憶體換速度,長上下文情境下它自己就可能變成新的記憶體瓶頸。
🔗 相關工具
- 工具-模型量化格式選擇 —— 互補面向,它省記憶體,這裡省時間,實務上常一起上
- 工具-AI系統評估 —— 加速之後要驗證品質沒掉,用同一套評估集前後對照
- 工具-前端效能優化規則 —— 同一套紀律換個場域:都是先量出瓶頸才動手,別憑感覺優化
⚙️ 跑得動、跑得快
🎯 什麼情境該想到我
當 LLM 功能要接觸到你無法控制的輸入——外部使用者、爬來的網頁、RAG 檢索到的文件——上線前需要盤點攻擊面的時候。
⚙️ 怎麼用(步驟 / 公式)
-
盤點提示注入的四種形態:
- 直接注入:使用者在輸入裡直接下指令覆蓋系統提示
- 間接注入:惡意指令藏在被檢索或被讀入的文件裡(RAG 情境最危險,因為輸入不是使用者打的)
- 分隔符攻擊:偽造分隔記號讓模型誤判哪裡是指令、哪裡是資料
- 角色混淆:誘導模型切換身分或人格,繞過原本的約束
-
盤點外洩向量:
向量 洩漏什麼 系統提示外洩 你的 prompt 設計與內部規則 訓練資料萃取 訓練語料裡的敏感內容 上下文外洩 同一對話中其他來源的資料 設定曝光 模型參數、工具清單、後端結構 -
區分越獄與注入:越獄針對的是安全護欄(誘導產生有害內容),提示注入針對的是指令優先權(讓模型聽攻擊者而不是你)。防法不同,不要混為一談。
-
別忘了訓練期攻擊:資料下毒與後門,是在模型還沒上線前就被埋進去的。
-
用縱深防禦,不要押單一措施:輸入驗證與淨化 → 系統提示加固 → 輸出過濾 → 上線前對抗性測試(red teaming)→ 上線後監控異常模式。
🧪 我實際套用的紀錄
- 2026-08-01:從 LLM Course 收錄,尚未實際套用。
⚠️ 注意 / 什麼時候不適用
- 沒有任何單一防護能擋下所有注入,把安全押在「我的系統提示寫得很嚴」上是最常見的誤判。
- 純內部、輸入完全可控的場景,做到基本輸出檢查即可,不必上全套。
- 過度過濾會犧牲可用性,防護強度要對應實際暴露面。
🔗 相關工具
- 工具-RAG檢索增強生成 —— 高風險交會點,檢索進來的文件正是間接注入的主要載體
- 工具-AI-Agent設計 —— 風險放大器,Agent 能呼叫工具,注入成功的後果從「說錯話」變成「做錯事」
- 工具-偏好對齊方法選擇 —— 目標重疊,降低有害輸出是訓練期的防線,這裡是執行期的防線
🛡 上線安全
🎯 什麼情境該想到我
當提示工程與 RAG 都試過還不夠,開始考慮「要不要微調一個模型」時。
⚙️ 怎麼用(先分清問題屬於哪一類)
- 缺「知識/事實」 → 用 RAG(換文件即可更新,別微調)。
- 缺「行為/風格/格式」(要固定語氣、特定輸出樣式、遵循領域慣例)→ 微調較合適。
- 順序:提示工程 → RAG → 微調。越後面越貴、越慢、越難維護。
- 微調前提:要有足量、高品質的標註資料 + 可靠的 工具-AI系統評估 來證明它真的更好。
🧪 我實際套用的紀錄
- 2026-07-15:(待填)
⚠️ 注意
- 微調不會「教模型新事實」得可靠(仍會幻覺);事實類需求優先 RAG。微調也會綁死模型版本、增加維運負擔。
🔗 相關工具
- 工具-提示工程 —— 三段順序的第一段,成本最低;多數「模型不聽話」的問題到這裡就解決了,不必走到微調
- 工具-RAG檢索增強生成 —— 判定屬於「缺知識/事實」時的正解:換文件就能更新,別為了灌事實去微調
- 工具-AI系統評估 —— 微調的硬前提,沒有可靠評估集就無法證明微調後真的比較好,只是換個貴的方式瞎調
- 工具-LLM微調實作路線 —— 判定「該微調」之後的下一步:Full/LoRA/QLoRA 怎麼選、要多少顯存
🎯 什麼情境該想到我
當你「改了 prompt/模型/RAG,卻不知道到底變好還變壞」——這是 AI 工程最核心也最被低估的能力。
⚙️ 怎麼用
- 先建一組評估集:代表性的輸入 + 你要的判準(正確性、相關性、格式、無害…)。
- 選評估方法:
- 有標準答案 → 用自動指標(精確比對、相似度)。
- 開放式輸出 → LLM-as-judge(用另一個模型當評審)+ 人工抽檢校準。
- 每次改動都跑同一評估集,比較分數再決定要不要採用(別憑一兩個例子的感覺)。
- 上線後持續監控:抽樣真實流量做線上評估,抓退化。
🧪 我實際套用的紀錄
- 2026-07-15:(待填)
⚠️ 注意
- LLM-as-judge 本身也有偏誤,要用人工樣本校準它;沒有評估的迭代=盲調。
🔗 相關工具
- 工具-提示工程 —— 評估發現品質不佳時,這是成本最低的第一個調整手段,先試它再考慮更貴的路
- 工具-RAG檢索增強生成 —— 評估若指出問題是「缺知識/講錯事實」,正解是接 RAG 而不是調 prompt
- 工具-微調與RAG的取捨 —— 微調的硬前提就是這張卡:沒有可靠評估集,微調完也無法證明真的變好
- 工具-LLM微調實作路線 —— 微調後有沒有變好,只能靠這裡的評估集回答,不能靠感覺
- 工具-偏好對齊方法選擇 —— 對齊調的是語氣與有用程度,最需要評估集把「主觀變好」變成可驗收的數字
- 工具-模型量化格式選擇 —— 量化號稱只掉 3–5%,實際掉多少要用自己的評估集量過才算數
🔗 銜接《AI工程》
LLM Course 課程文件
mlabonne/llm-course