模型調整簡介

諸如少量樣本提示等提示設計策略不一定每次都能產生您需要的結果。使用模型調整功能改善模型在特定工作上的效能,或在指示還不夠,且您擁有一組可示範所需輸出內容的範例時,協助模型遵循特定的輸出要求。

本頁說明如何調整 Gemini API 文字服務背後的文字模型。

模型調整作業的運作方式

模型調整作業的目標是進一步提升模型執行特定工作的效能。模型微調的運作原理為,提供含有許多工作範例的訓練資料集模型。如果是小眾工作,只要用少量樣本調整模型,將可大幅提升模型效能。

訓練資料的結構應採用含有提示輸入和預期回應輸出內容的範例。您也能直接在 Google AI Studio 中使用範例資料調整模型。目標是訓練模型模擬所需行為或任務,方法是提供許多說明該行為或任務的範例。

執行調整工作時,模型會學習其他參數,協助將必要資訊進行編碼以執行想要的工作或學習所需行為。然後,就能在推論時間使用這些參數。調整工作的輸出內容是新模型,實際上是新學習的參數和原始模型的組合。

支援的模型

下列基礎模型可調整模型僅支援單輪文字完成。

  • gemini-1.0-pro-001

Gemini 1.5 Flash 的微調功能即將推出。進一步瞭解 1.5 Flash 的功能與方案

模型調整工作流程

模型調整工作流程如下:

  1. 準備資料集。
  2. 如果您使用的是 Google AI Studio,請匯入資料集。
  3. 開始調整工作。

模型調整完成後,系統會顯示調整後模型的名稱。您也可以在 Google AI Studio 中選取該模型,做為建立新提示時要使用的模型。

準備資料集

開始調整模型之前,您必須先建立用來調整模型的資料集。為獲得最佳效能,資料集內的範例必須具有高品質、多元且代表真實輸入和輸出的要素。

形式

資料集中包含的範例應符合您預期的實際工作環境流量。如果您的資料集含有特定格式、關鍵字、操作說明或資訊,則實際工作環境資料的格式應相同,並含有相同的指示。

例如,如果資料集中的範例包含 "question:""context:",則實際工作環境流量也應一併設定包含 "question:""context:" 的格式,且順序應與資料集範例中的順序相同。如果您排除結構定義,即使資料集的範例包含確切的問題,模型將無法辨識模式。

在資料集中的每個範例中加入提示或前置碼,也有助於改善調整後模型的效能。請注意,如果資料集中包含提示或前置碼,那麼在推論時向已調整的模型發出提示時,也應包含該提示或前置碼。

訓練資料大小

您可以只用 20 個樣本來微調模型,一般來說,其他資料可以提升回應的品質。您可以根據應用程式,指定 100 至 500 個範例。下表列出用於調整各種常見工作文字模型的建議資料集大小:

工作 資料集中的範例數量
分類 100+
摘要 100-500+
文件搜尋 100+

上傳調整用資料集

資料可透過 API 以內嵌方式傳送,或透過 Google AI Studio 上傳的檔案。

點選「Import」按鈕,從檔案匯入資料,或是選擇含有範例的結構化提示,以匯入做為調整資料集。

用戶端程式庫

如要使用用戶端程式庫,請在 createTunedModel 呼叫中提供資料檔案。檔案大小不得超過 4 MB。請參閱使用 Python 調整快速入門導覽課程,瞭解如何開始使用。

Curl

如要使用 Curl 呼叫 REST API,請將 JSON 格式的訓練範例提供給 training_data 引數。請參閱使用 Curl 調整快速入門導覽課程,瞭解如何開始使用。

進階微調設定

建立調整工作時,您可以指定下列進階設定:

  • 訓練週期 - 整個訓練集的完整訓練過程,每個範例都只處理一次。
  • 批次大小 - 在單一訓練疊代中使用的一組範例。批次大小會決定批次中的樣本數量。
  • 學習率 - 這個浮點數,指示演算法在每次疊代時,調整模型參數的強度。舉例來說,學習率為 0.3 時,權重和偏誤的調整能力會比學習率 0.1 高三倍。高和低學習率各有獨特的權衡取捨,您應根據用途進行調整。
  • 學習率調節係數:速率調節係數會修改模型的原始學習率。如果值為 1,則會使用模型的原始學習率。值大於 1 會提升學習率,而值介於 1 到 0 之間會降低學習率。

下表顯示調整基礎模型的建議設定:

超參數 預設值 建議的調整
持續期間 5 如果在 5 個週期前開始損失,請使用較小的值。
如果損失情況在收斂且看起來不穩定,請使用較高的值。
批量 4
學習率 0.001 請針對較小的資料集使用較小的值。

損失曲線會顯示每次訓練週期後,模型預測與訓練範例中理想預測結果的差距有多大。理想情況下,最好在曲線最低點停止訓練,直到穩定為止。例如,下圖顯示大約 4 至 6 月的損失曲線,也就是說,將 Epoch 紀元參數設為 4 後,仍可獲得相同的效能。

損失曲線

查看調整工作狀態

您可以在 Google AI Studio UI 的「My Library」分頁下方,查看調整工作的狀態,也可以在 Genmini API 中使用調整後模型的 metadata 屬性。

排解錯誤

本節提供如何解決建立調整後模型時可能遇到的錯誤。

驗證

需要使用者驗證才能使用 API 和用戶端程式庫進行微調。光是 API 金鑰是不夠的。如果看到 'PermissionDenied: 403 Request had insufficient authentication scopes' 錯誤,您必須設定使用者驗證。

如要設定 Python 的 OAuth 憑證,請參閱 OAuth 設定教學課程

已取消的模型

在工作完成前,您隨時可以取消模型調整工作。不過,已取消模型的推論效能是無法預測的,特別是在訓練初期取消調整工作的情況下。如果您因為想要在更早的週期中停止訓練,則應建立新的調整工作,並將訓練週期設為較低的值。

後續步驟