微調 Gemma 等生成式人工智慧 (AI) 模型時,模型行為會隨之改變。您通常會微調 Gemma,以提升模型在特定工作或領域的成效,或更妥善地扮演某個角色,例如客戶服務。Gemma 模型會發布開放權重,也就是說,您可以修改這些權重,進而變更模型的行為。微調 Gemma 模型的一般步驟如下:
選擇架構
Gemma 模型與各種 AI 微調架構相容。每個架構都提供各種優點,且通常會限制為特定模型格式。以下是使用各種架構微調 Gemma 模型的指南:
- 使用 LoRA 的 Keras
- JAX 適用的 Gemma 程式庫
- Hugging Face
- Google Cloud GKE (搭配 HF Transformers 的多 GPU)
- Google Cloud Vertex AI
- Unsloth
- Axolotl
- 使用分散式微調的 Keras
請確認所選架構支援您預期的部署模型格式 (例如 Keras 格式、Safetensors 或 GGUF) 做為輸出內容。
收集資料
模型調整需要資料。調整資料通常包含輸入資料和預期回應的配對。網路上有許多公開資料集,可用於訓練各種工作或輸出內容。舉例來說,如果想訓練 Gemma 模型,將汽車零件說明翻譯成零件編號,資料集可能包含下列內容:
training_data = [
{"input_text": "Part number for A4 brake caliper", "output_text": "4M0615107BS"},
{"input_text": "Part number for Beetle fuel pump", "output_text": "6A127026H"},
{"input_text": "Part number for Camaro cylinder head", "output_text": "12711770"},
]
如要讓 Gemma 模型執行特定的一組工作或角色,通常需要編譯資料集,其中包含該工作的多種變化。調整模型所需的資料量取決於您的目標,特別是您希望模型產生多少行為變化,以及您希望模型根據要完成的任務和輸入資料的變異程度,達到什麼樣的效能。
一般來說,您應該先使用少量資料調整工作、調整訓練參數,然後加入資料,直到工作成效符合需求為止。部分範例應用程式顯示,只要 20 組提示和回覆,就能影響 Gemma 模型的行為。詳情請參閱 使用 Gemma 建立企業電子郵件 AI 助理 和 使用 Gemma 處理口語語言的任務。
調整及測試模型
準備好調整架構和調整資料後,即可開始進行 Gemma 模型調整程序。執行微調時,您可以選擇微調方式,這會影響完成微調所需的資源。此外,您也應為微調後的模型制定測試計畫,評估微調後的模型是否達到預期效能。
高效參數調整
微調 Gemma 等開放權重模型時,您可以選擇微調模型的所有參數,也可以使用資源密集度較低的參數效率微調技術,更新部分參數。完整微調方法是指在套用微調資料時,計算模型所有參數的新權重。由於您要對數十億個參數執行這些計算,因此這種方法需要大量運算和記憶體資源。使用較不耗費資源的調整方法 (稱為參數高效微調 (PEFT)),包括低秩適應器 (LoRA) 調整等技術,可以運用較少的運算資源,產生類似的結果。如要瞭解如何使用 LoRA 進行微調,減少資源耗用,請參閱「使用 LoRA 在 Keras 中微調 Gemma 模型」和「在 Hugging Face 中微調 Gemma 模型」。
測試調整過的模型
針對特定工作調整模型後,您應根據要執行的工作集測試模型效能。您應使用模型未接受過特定訓練的任務或要求來測試模型。測試微調模型的方式取決於您希望模型執行的工作,以及您管理模型輸入內容和輸出內容的密切程度。管理生成模型測試的常見做法是使用成功、失敗和邊界案例:
- 成功測試:經過微調的模型應一律能順利執行的要求。
- 失敗測試:要求微調模型一律無法執行或明確拒絕執行要求。
- 界線測試:要求微調模型應能執行的要求,前提是這些要求落在可接受輸出行為的定義界線或界線集內。
測試生成式 AI 應用程式的故障或邊界條件時,也應套用負責任的生成式 AI 工具包所述的生成式 AI 安全方法、技術和工具。
部署模型
完成調整及測試後,就可以部署模型。如要部署微調模型,通常可以參閱所選架構的說明文件。
如果您要部署使用 LoRA 調整權重的模型,請注意,使用這項技術時,您通常會同時部署原始模型及其權重,並將 LoRA 權重做為模型的額外計算層。