Zubnet AI學習Wiki › 微調
訓練

微調

別名:Fine-tuning
透過在較小且特定的數據集上進一步訓練預訓練模型,使其行為更加專門化。就像讓全科醫生接受外科住院醫師訓練—相同的基礎知識,新的專業技能。

為什麼重要

微調是讓通用模型能應用於特定任務的方法。經過微調的模型可以學習您公司的語調、領域的術語或特定的輸出格式,而無需從頭開始訓練。

深度解析

微調(fine-tuning)的運作方式是從預訓練模型的權重出發,而非隨機初始化,並在一個通常較小的新數據集上繼續訓練過程。機制相當直接:你將數據準備成輸入-輸出對(或指令-回應對),設定一個較低的學習率(通常比預訓練時低10到100倍),並訓練數個epoch。低學習率至關重要——太高會破壞模型在預訓練階段學到的知識,這種現象稱為災難性遺忘(catastrophic forgetting)。太低則模型幾乎無法適應新數據。找到正確的平衡點更像是一門藝術而非科學,通常需要多次嘗試才能成功。

The Flavors

微調有幾種不同的類型,術語也容易混淆。完整的微調(full fine-tuning)會更新模型中所有參數——這是最具表達力的方法,但也是最昂貴且最容易在小數據集上過度擬合(overfitting)。監督微調(supervised fine-tuning, SFT)專指在標記的指令-回應對上進行訓練,這也是基底模型轉變為聊天助手的方式。這就是當你使用OpenAI的微調API時所做的事,也是Axolotl和LLaMA-Factory等專案在本地端輕鬆實現的方式。此外還有參數高效的方法,例如LoRA和QLoRA,僅更新一小部分參數,目前已在大多數實際應用中取代完整的微調。這種區別很重要,因為每種方法在數據需求、計算成本和風險上都有所不同。

Data Quality Over Quantity

你的微調數據集的品質和格式極其重要——通常比數據量更重要。幾個 hundred 個高品質且精心設計的正確格式範例,往往比數萬個雜亂的數據產生更好的效果。指令微調的標準格式是結構化的對話:系統訊息、用戶訊息、助手回應。數據集在格式、語調和品質上的一致性比數量更重要。一個常見的陷阱是訓練數據與模型在預訓練階段學到的內容矛盾——如果數據集說天空是綠色的,模型會學會在與訓練範例相似的情境下說天空是綠色的,但在其他情境下則會回歸預訓練知識,導致行為不一致且難以調試。

When to Use It

在應用人工智慧中,判斷何時使用微調,何時採用其他方法,是最重要的實務決策之一。當你需要模型持續採用特定格式、語調或行為模式,而這種模式無法僅透過提示(prompting)可靠實現時,微調就是正確的工具。如果你只是需要模型了解公司的產品(應使用RAG),或在每個請求中遵循特定指示(應使用系統提示),那麼微調可能過度且可能適得其反。一個不錯的經驗法則是:如果你能寫出一個提示,讓模型在90%的情況下達到你想要的行為,微調可以將這個比例提升到99%。如果你的提示僅在20%的情況下有效,單獨使用微調很可能無法解決問題——你可能需要徹底重新思考整體方法。

相關概念

← 所有術語
← 評估 基礎模型 →
ESC