使用 Gemini API 進行微調

提示設計策略 (例如少量樣本提示) 不一定能產生您需要的結果。「微調」此程序可以改善模型在特定工作上的效能,或協助模型在指令不足時遵循特定輸出要求,且您擁有一組能展示所需輸出的範例。

本頁面說明如何微調 Gemini API 文字服務的文字模型。

微調功能的運作方式

微調的目標是進一步提升特定工作的模型效能。微調作業的運作方式為提供模型,其中含有許多工作範例的訓練資料集。對於小眾工作,您可以利用少量樣本調整模型,大幅提升模型效能。

訓練資料的結構應是含有提示輸入內容的範例,並含有預期的回應輸出內容。您也可以直接在 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,並且仍可取得相同的效能。

顯示模型損失曲線的折線圖。第一和第二週期之間的線條激增,接著急遽下降至將近 0 個,並在三個週期後升高。

查看調整工作狀態

如要查看調整工作的狀態,您可以前往 Google AI Studio 的「My Library」分頁,或使用 Gemini API 調整模型後,使用 metadata 屬性。

排解錯誤

本節提供多項提示,說明如何解決建立調整後模型時可能會遇到的錯誤。

驗證機制

使用 API 與用戶端程式庫進行調整時,需要使用者驗證。光是 API 金鑰並不足夠。如果您看到 'PermissionDenied: 403 Request had insufficient authentication scopes' 錯誤,則需要設定使用者驗證。

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

已取消的模型

在工作完成前,您隨時可以取消微調工作。然而,取消模型的推論效能無法預測,尤其是在訓練中提早取消調整工作的情況。如果您是因為想要在更早的週期停止訓練而取消訓練,應建立新的調整工作,並將週期設定為較低的值。

後續步驟