跳轉到

Gemma 模型微調

Models Gemma 4

微調 Gemma 這類生成式人工智慧(AI)模型,會改變模型的行為。您通常會為了提升模型在特定任務或領域的表現,或為了讓它更好地扮演某個角色(例如客服)而微調 Gemma。Gemma 模型以開放權重發布,這表示您可以修改這些權重,進而改變模型的行為。微調 Gemma 模型的一般步驟如下:

  1. 選擇框架 每個框架都與模型格式及您擁有的硬體綁定。請在準備資料之前先選好框架,因為資料格式會由框架決定。
  2. 收集資料 輸入與預期回應的配對。從小開始——少至 20 組配對就能改變行為。
  3. 微調與測試模型 在完整微調與 LoRA 這類參數效率型方法之間選擇,然後用成功、失敗與邊界案例來測試。
  4. 部署模型 發布微調後的權重——如果是 LoRA,基底模型與轉接器一起發布。

1. 選擇框架

Gemma 模型相容於多種 AI 微調框架。每個框架都與特定的模型格式及所需的硬體綁定,這個決定會影響後續一切。請確認您打算使用的框架支援您預期的部署格式——Keras、Safetensors 或 GGUF——作為輸出。

用 Python 微調

當微調是您掌控的訓練管線的一部分時,您會選用的函式庫。

從 Notebook 開始

開箱即用的食譜式 Notebook,可端到端執行。這些是為較早世代的 Gemma 編寫的——方法仍可沿用,但請預期需要更新模型名稱與相依套件。

大規模微調

適合超出單機規模的訓練,或您不想自己操作的情境。

Note

JAX 微調指南已被 Gemma 函式庫微調 指南取代。

2. 收集資料

模型微調需要資料。微調資料通常由輸入資料與預期回應的配對組成。網路上有許多公開資料集,可用於各種任務或輸出的訓練。例如,如果您想訓練 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 模型的行為。更多詳情請參閱使用 Hugging Face Transformers 進行完整模型微調。

3. 微調與測試模型

備齊微調框架與微調資料後,就可以開始 Gemma 模型微調流程。微調方式有幾種選擇,會影響完成所需的資源。您也應該為微調後的模型準備測試計畫,以評估它是否如預期運作。

參數效率型微調

在微調 Gemma 這類開放權重模型時,您可以選擇調整模型的所有參數,也可以使用資源需求較低的參數效率型微調技術,只更新其中一部分參數。完整微調方法是指,在套用微調資料時,為模型的所有參數計算新權重。這種方法運算與記憶體需求都很高,因為您要為數十億個參數執行這些計算。使用資源需求較低的方法——稱為參數效率型微調(parameter efficient fine-tuning, PEFT),包括低秩轉接器(LoRA)微調等技術——可以用更少的運算資源達到相近的效果。如需瞭解如何用 LoRA 以較少資源進行微調,請參閱使用 Hugging Face Transformers 與 QLoRA 微調 Gemma 以及 Fine-Tuning Gemma Models in Hugging Face。

測試微調後的模型

針對特定任務微調完模型後,您應該用它要執行的那組任務來測試其表現。應該用模型未曾專門訓練過的任務或請求來測試。測試方式取決於您要它執行的任務,以及您對模型輸入輸出的管理程度。管理生成式模型測試的常見做法是使用成功、失敗與邊界案例:

  • 成功測試:微調後模型應該永遠能成功執行的請求。
  • 失敗測試:微調後模型應該永遠不能執行、或被要求時應明確拒絕執行的請求。
  • 邊界測試:落在可接受輸出行為的定義邊界(或一組邊界)內時,微調後模型應該能執行的請求。

在為您的生成式 AI 應用測試失敗或邊界條件時,也應該套用 Responsible Generative AI Toolkit 中描述的生成式 AI 安全方法、技術與工具。

4. 部署模型

完成微調並通過測試後,就該部署模型了。部署方式通常可以參考您所選框架的文件。

如果部署的是以 LoRA 微調權重的模型,請注意,這種技術通常會同時部署原始模型及其權重,並將 LoRA 權重作為模型的額外計算層。