微調是指使用特定工作適用的資料集,進一步訓練經預訓練的 LLM (遷移學習程序)。您可以這麼想:預先訓練模型已學會許多一般資訊,而微調則能協助模型專精於特定領域。
微調和檢索增強生成 (RAG) 是兩種不同的 LLM 調整方式,可因應特定用途。選擇合適的方法取決於多項因素,例如任務類型、資料是否充足,以及您想達成的目標。
做法 | 主要差異 | 優點 | 挑戰 |
微調 | 變更模型的參數。 | 提升準確率、強化明確性、減少幻覺、自訂互動方式、符合成本效益、減少偏誤。 | 可能出現「災難性遺忘」現象、資源成本較高、資料需求較高,以及可能會「過度配適」。 |
RAG | 使用外部知識加強提示詞。 | 動態知識整合、內容關聯性、功能多元,以及減少大量訓練需求。 | 準確率有限 (例如,RAG 只能參考可存取的資料,無法根據訓練內容進行推論)、維護 RAG 系統的複雜性、可能產生幻覺。 |
做法
主要差異
優點
挑戰
微調
變更模型的參數。
提升準確率、強化明確性、減少幻覺、自訂互動方式、符合成本效益、減少偏誤。
可能出現「災難性遺忘」現象、資源成本較高、資料需求較高,以及可能會「過度配適」。
RAG
使用外部知識加強提示詞。
動態知識整合、內容關聯性、功能多元,以及減少大量訓練需求。
準確率有限 (例如,RAG 只能參考可存取的資料,無法根據訓練內容進行推論)、維護 RAG 系統的複雜性、可能產生幻覺。
如果希望 LLM 做到以下幾點,建議考慮微調:
微調是以經預訓練的 LLM 為基礎。這些預先訓練的模型已從龐大的資料集中學到大量一般語言知識。在微調過程中,模型會接觸到較小的工作專屬資料集,並調整內部參數 (可視為數百萬個微小的旋鈕,用來控制模型的知識),以更符合新資料集中的範例。這個「重新訓練」的過程會溫和地更新模型的內部結構,使其成為新主題的專家。以下將微調程序拆解為幾個實用步驟:
開始微調前,請務必先準備好資料。資料的品質和結構會直接影響微調模型的成效。這個階段包括收集、清理、格式化資料,並將資料分割成適當的訓練、驗證和測試集。
微調時,您可以選擇要調整多少預先訓練模型。您選擇的方法取決於資料集大小、可用的運算資源和期望的準確率等因素。主要有兩種做法:完整微調和高效參數微調 (PEFT)。
在完整微調中,模型的所有參數都會在訓練期間更新。如果特定任務的資料集很大,且與預先訓練資料有顯著差異,就適合採用這種做法。
高效參數微調提供更聰明有效率的微調方式。PEFT 方法會凍結原始 LLM,並新增可訓練的小型層,而非重新訓練整個模型 (這既緩慢又昂貴)。
這就像在 1,000 頁的教科書中,貼上幾張便利貼,寫上新的專業資訊,不必重寫整本書。這可以大幅加快程序並降低成本。熱門的 PEFT 方法包括 LoRA (低秩調整) 和 QLoRA (量化低秩調整),可更有效率地微調 LLM。
資料準備就緒,也選定技術後,就可以開始訓練模型。模型會從您的資料中學習,並調整參數,以提升特定工作的成效。仔細監控及調整訓練設定,是獲得最佳成效的關鍵。
最後階段是評估微調後模型的成效,並部署模型以供實際使用。這需要評估模型的準確率和效率,然後將其整合到應用程式或系統中。為確保模型長期維持最佳成效,可能需要持續監控並重新訓練。
根據目標和資源,微調模型的方式有很多種:
類型 | 說明 | 用途 |
監督式微調 | 模型會使用已加上標籤的資料集進行訓練,資料集包含輸入內容/輸出內容。 | 文字分類、具名實體辨識、情緒分析。 |
微調指令 | 模型會根據指令和預期回覆的資料集進行訓練。 | 聊天機器人、回答問題系統、程式碼生成。 |
少量樣本學習 | 模型會收到提示詞,其中包含幾個所需工作的範例。 | 在資料有限的情況下,適應新工作。 |
遷移學習 | 模型會運用從一般用途資料集預先訓練中獲得的知識。 | 適應相關任務。 |
特定領域的微調 | 模型會根據特定領域或產業調整。 | 法律文件分析、醫療報告生成、財務預測。 |
多工學習 | 模型會同時接受多項任務的訓練。 | 提升相關工作的成效。 |
依序微調 | 模型會分階段調整,以適應一系列相關任務。 | 逐步調整處理複雜任務的能力。 |
類型
說明
用途
監督式微調
模型會使用已加上標籤的資料集進行訓練,資料集包含輸入內容/輸出內容。
文字分類、具名實體辨識、情緒分析。
微調指令
模型會根據指令和預期回覆的資料集進行訓練。
聊天機器人、回答問題系統、程式碼生成。
少量樣本學習
模型會收到提示詞,其中包含幾個所需工作的範例。
在資料有限的情況下,適應新工作。
遷移學習
模型會運用從一般用途資料集預先訓練中獲得的知識。
適應相關任務。
特定領域的微調
模型會根據特定領域或產業調整。
法律文件分析、醫療報告生成、財務預測。
多工學習
模型會同時接受多項任務的訓練。
提升相關工作的成效。
依序微調
模型會分階段調整,以適應一系列相關任務。
逐步調整處理複雜任務的能力。
如要充分發揮微調的效益,請遵循下列最佳做法:
微調有幾項潛在優勢:
提升準確率
這項技術可大幅提升特定用途的模型輸出內容的準確率和關聯性,進而減少 AI 幻覺。
加快訓練速度
與從頭訓練模型相比,微調速度較快,需要的資料量也較少。
符合成本效益
由於所需的運算能力和資料較少,因此比訓練新模型更符合成本效益。
自訂
微調可讓您根據特定需求和目標,自訂模型的行為。
減少偏誤
提高對模型行為的控制,降低生成偏誤或爭議內容的風險。
擴大脈絡窗口
微調可用於擴大 LLM 的脈絡窗口,讓模型處理及保留更多資訊。
雖然微調有許多優點,但仍須留意以下幾個難題:
Google Cloud 提供強大的生態系統,可支援模型微調作業,從統一的機器學習平台到加速複雜運算所需的專用硬體,應有盡有。無論是自訂基礎模型或微調自有模型,這些服務都能簡化整個工作流程。