微調大型語言模型和 AI 模型

大型語言模型 (LLM) 是強大的工具,可協助處理各種工作,包括撰寫電子郵件和回答複雜問題。但有時,這些模型無法完全理解您希望它們為特定專案做什麼。此時「微調」就能派上用場。就像教導聰明的學生特定工作所需的專用技能。

使用 Google AI Studio 微調 Gemini

什麼是微調?

微調是指使用特定工作適用的資料集,進一步訓練經預訓練的 LLM (遷移學習程序)。您可以這麼想:預先訓練模型已學會許多一般資訊,而微調則能協助模型專精於特定領域。

比較微調與使用 RAG 的時機

微調和檢索增強生成 (RAG) 是兩種不同的 LLM 調整方式,可因應特定用途。選擇合適的方法取決於多項因素,例如任務類型、資料是否充足,以及您想達成的目標。

做法


主要差異


優點

挑戰

微調

變更模型的參數。

提升準確率、強化明確性、減少幻覺、自訂互動方式、符合成本效益、減少偏誤。

可能出現「災難性遺忘」現象、資源成本較高、資料需求較高,以及可能會「過度配適」。

RAG


使用外部知識加強提示詞。

動態知識整合、內容關聯性、功能多元,以及減少大量訓練需求。

準確率有限 (例如,RAG 只能參考可存取的資料,無法根據訓練內容進行推論)、維護 RAG 系統的複雜性、可能產生幻覺。

做法


主要差異


優點

挑戰

微調

變更模型的參數。

提升準確率、強化明確性、減少幻覺、自訂互動方式、符合成本效益、減少偏誤。

可能出現「災難性遺忘」現象、資源成本較高、資料需求較高,以及可能會「過度配適」。

RAG


使用外部知識加強提示詞。

動態知識整合、內容關聯性、功能多元,以及減少大量訓練需求。

準確率有限 (例如,RAG 只能參考可存取的資料,無法根據訓練內容進行推論)、維護 RAG 系統的複雜性、可能產生幻覺。

如果希望 LLM 做到以下幾點,建議考慮微調:

  • 瞭解特定語言或專業術語:如果專案使用大量產業專用字詞,微調可協助模型學習並正確使用語言
  • 提升特定工作的準確率:如果需要模型執行特定工作,例如分類顧客評論或生成產品說明,微調可大幅提升模型成效
  • 符合特定風格或語氣:如果想讓模型生成符合特定品牌風格或寫作風格的文字,微調功能就能派上用場。
  • 使用有限的資料:如果資料有限,微調模型會比從頭訓練更有效率,因為微調能運用預先訓練模型已具備的知識
  • 降低成本和延遲時間:對於大量使用案例,微調較小的模型可能比為每個要求使用較大的一般用途模型,更具成本效益
  • 處理極端案例:微調可提升模型處理極端案例和複雜提示詞的能力,這些情況單靠提示工程難以解決

微調的運作方式:逐步指南

微調是以經預訓練的 LLM 為基礎。這些預先訓練的模型已從龐大的資料集中學到大量一般語言知識。在微調過程中,模型會接觸到較小的工作專屬資料集,並調整內部參數 (可視為數百萬個微小的旋鈕,用來控制模型的知識),以更符合新資料集中的範例。這個「重新訓練」的過程會溫和地更新模型的內部結構,使其成為新主題的專家。以下將微調程序拆解為幾個實用步驟:

步驟 1:準備資料

開始微調前,請務必先準備好資料。資料的品質和結構會直接影響微調模型的成效。這個階段包括收集、清理、格式化資料,並將資料分割成適當的訓練、驗證和測試集。

  • 收集資料:收集將用於微調模型的資料,這些資料應與您希望模型擅長的特定工作相關
  • 清理及格式化:移除錯誤、不一致和無關的資訊來清理資料,並確保資料格式符合模型需求
  • 分割資料:將資料分成三組:1.) 訓練 (用於訓練模型),2.) 驗證 (用於監控模型成效並調整設定),以及 3.) 測試 (用於評估微調後模型的最終成效)

步驟 2:選擇做法

微調時,您可以選擇要調整多少預先訓練模型。您選擇的方法取決於資料集大小、可用的運算資源和期望的準確率等因素。主要有兩種做法:完整微調和高效參數微調 (PEFT)。


完整微調

在完整微調中,模型的所有參數都會在訓練期間更新。如果特定任務的資料集很大,且與預先訓練資料有顯著差異,就適合採用這種做法。  


PEFT

高效參數微調提供更聰明有效率的微調方式。PEFT 方法會凍結原始 LLM,並新增可訓練的小型層,而非重新訓練整個模型 (這既緩慢又昂貴)。

這就像在 1,000 頁的教科書中,貼上幾張便利貼,寫上新的專業資訊,不必重寫整本書。這可以大幅加快程序並降低成本。熱門的 PEFT 方法包括 LoRA (低秩調整) 和 QLoRA (量化低秩調整),可更有效率地微調 LLM。

步驟 3:訓練模型

資料準備就緒,也選定技術後,就可以開始訓練模型。模型會從您的資料中學習,並調整參數,以提升特定工作的成效。仔細監控及調整訓練設定,是獲得最佳成效的關鍵。

  • 設定超參數:設定學習率、批量和訓練週期數等參數,這些設定有助於控制模型的學習方式
  • 開始訓練:將訓練資料提供給模型,讓模型學習;使用驗證集監控模型成效
  • 視需要調整:如果模型成效不佳,可以調整超參數或嘗試其他微調技術

步驟 4:評估與部署

最後階段是評估微調後模型的成效,並部署模型以供實際使用。這需要評估模型的準確率和效率,然後將其整合到應用程式或系統中。為確保模型長期維持最佳成效,可能需要持續監控並重新訓練。

  • 評估成效:使用測試集評估微調後模型的最終成效,並查看與工作相關的指標,例如準確率、精確度和召回率
  • 部署模型:如果對模型成效感到滿意,請將模型部署至應用程式或系統
  • 監控成效:密切關注模型在實際環境中的成效,並視需要重新訓練,以維持準確率

微調類型

根據目標和資源,微調模型的方式有很多種:

類型

說明

用途

監督式微調

模型會使用已加上標籤的資料集進行訓練,資料集包含輸入內容/輸出內容。

文字分類、具名實體辨識、情緒分析。

微調指令

模型會根據指令和預期回覆的資料集進行訓練。

聊天機器人、回答問題系統、程式碼生成。

少量樣本學習

模型會收到提示詞,其中包含幾個所需工作的範例。

在資料有限的情況下,適應新工作。

遷移學習

模型會運用從一般用途資料集預先訓練中獲得的知識。

適應相關任務。

特定領域的微調

模型會根據特定領域或產業調整。

法律文件分析、醫療報告生成、財務預測。

多工學習

模型會同時接受多項任務的訓練。

提升相關工作的成效。

依序微調

模型會分階段調整,以適應一系列相關任務。

逐步調整處理複雜任務的能力。

類型

說明

用途

監督式微調

模型會使用已加上標籤的資料集進行訓練,資料集包含輸入內容/輸出內容。

文字分類、具名實體辨識、情緒分析。

微調指令

模型會根據指令和預期回覆的資料集進行訓練。

聊天機器人、回答問題系統、程式碼生成。

少量樣本學習

模型會收到提示詞,其中包含幾個所需工作的範例。

在資料有限的情況下,適應新工作。

遷移學習

模型會運用從一般用途資料集預先訓練中獲得的知識。

適應相關任務。

特定領域的微調

模型會根據特定領域或產業調整。

法律文件分析、醫療報告生成、財務預測。

多工學習

模型會同時接受多項任務的訓練。

提升相關工作的成效。

依序微調

模型會分階段調整,以適應一系列相關任務。

逐步調整處理複雜任務的能力。

微調的最佳做法

如要充分發揮微調的效益,請遵循下列最佳做法:

  • 資料品質和數量:使用相關、多元且數量充足的優質資料集。微調時,資料品質至關重要。確保資料準確、一致,且沒有錯誤或偏誤。舉例來說,如果資料集中的標籤有雜訊,或格式不一致,就會嚴重影響模型學習成效。   
  • 超參數調整:嘗試不同的超參數設定,找出最適合工作的設定。   
  • 定期評估:在訓練期間定期評估模型成效,追蹤進度並進行必要的調整。   
  • 避免過度配適:使用提早中止訓練和正則化等技術,防止模型過度配適訓練資料。   
  • 消除偏誤:留意資料中可能存在的偏誤,並使用相關技術來減少微調後模型中的偏誤。

微調 LLM 的優點

微調有幾項潛在優勢:

提升準確率

這項技術可大幅提升特定用途的模型輸出內容的準確率和關聯性,進而減少 AI 幻覺。  

加快訓練速度

與從頭訓練模型相比,微調速度較快,需要的資料量也較少。

符合成本效益

由於所需的運算能力和資料較少,因此比訓練新模型更符合成本效益。

自訂

微調可讓您根據特定需求和目標,自訂模型的行為。

減少偏誤

提高對模型行為的控制,降低生成偏誤或爭議內容的風險。

擴大脈絡窗口

微調可用於擴大 LLM 的脈絡窗口,讓模型處理及保留更多資訊。

微調時的常見挑戰

雖然微調有許多優點,但仍須留意以下幾個難題:

  • 過度配適:模型過度學習訓練資料,無法妥善將新資料一般化。您可以使用正則化和資料擴增等技術,減少過度配適的情況。  
  • 資料稀少:資料不足會限制微調的成效。建議使用資料擴增技術,或從其他相關工作進行遷移學習。  
  • 災難性遺忘:如果模型專精的領域過於狹隘,可能會忘記一般知識。就像一位醫術精湛的醫生,成為專精某領域的外科醫師後,卻忘了基本的急救知識。您可以使用正則化和重播緩衝區等技術,減輕災難性遺忘的問題。  
  • 運算資源:微調大型模型可能需要大量運算資源和記憶體。建議採用 PEFT、量化和分散式訓練等技術,降低運算資源需求。  
  • 評估:評估微調後 LLM 的成效可能很複雜,需要謹慎選擇指標和基準。  
  • 多工學習的挑戰:微調 LLM 以進行多工學習時,會遇到獨特的挑戰,例如任務干擾 (訓練期間不同目標相互衝突),以及資料不平衡 (資料較多的任務可能占主導地位)。

微調應用實例

微調技術可應用於各種用途:

客戶服務

微調 LLM,更有效地瞭解及回覆客戶問題,包括在聊天機器人中。  

微調 LLM 可提升其在特定領域或寫作風格中,生成簡潔準確摘要的能力。

內容創作

使用微調模型,以特定風格撰寫網誌文章、文章或產品說明。  

資料分析

微調模型,對社群媒體貼文或顧客評論等文字資料進行分類和分析。

使用微調模型,以特定程式設計語言或框架生成程式碼。

機器翻譯

Google 翻譯會微調模型,配合特定語言組合和領域,進而提升機器翻譯品質。

運用 Google Cloud 大規模微調模型

Google Cloud 提供強大的生態系統,可支援模型微調作業,從統一的機器學習平台到加速複雜運算所需的專用硬體,應有盡有。無論是自訂基礎模型或微調自有模型,這些服務都能簡化整個工作流程。

展開下一步行動

運用價值 $300 美元的免費抵免額和超過 20 項一律免費的產品,開始在 Google Cloud 中建構產品與服務。