本文說明如何使用監督式微調功能,調整翻譯 LLM 模型。
事前準備
開始前,您必須先準備監督式微調資料集。視用途而定,您需要滿足不同的條件。
- 準備用於調整的文字資料集:文字調整
支援的模型
translation-llm-002(僅支援文字調整)
建立調整工作
您可以使用 REST API 或 Google Gen AI SDK 建立監督式微調工作。
REST
如要建立模型微調工作,請使用 tuningJobs.create 方法傳送 POST 要求。部分參數不適用於所有模型。請務必只加入適用於調整模型的參數。
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:您的專案 ID。
- TUNING_JOB_REGION:執行調整工作的區域。這也是上傳調整後模型的預設區域。支援的地區:
us-central1。 - BASE_MODEL:要調整的翻譯模型名稱。支援的值:
translation-llm-002。 - TRAINING_DATASET_URI:訓練資料集的 Cloud Storage URI。資料集必須採用 JSONL 檔案格式。為達最佳效果,請提供至少 100 到 500 個樣本。詳情請參閱「關於監督式調整資料集」。
- VALIDATION_DATASET_URI 選用:驗證資料集檔案的 Cloud Storage URI。
- TUNED_MODEL_DISPLAYNAME 選用:調整後模型的顯示名稱。如未設定,系統會產生隨機名稱。
HTTP 方法和網址:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
JSON 要求內文:
{
"baseModel": "BASE_MODEL",
"supervisedTuningSpec" : {
"trainingDatasetUri": "TRAINING_DATASET_URI",
"validationDatasetUri": "VALIDATION_DATASET_URI"
},
"tunedModelDisplayName": "TUNED_MODEL_DISPLAYNAME"
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆。
cURL 指令範例
PROJECT_ID=PROJECT_ID
LOCATION=us-central1
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/tuningJobs" \
-d \
$'{
"baseModel": "translation-llm-002",
"supervisedTuningSpec" : {
"trainingDatasetUri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini-2_0/text/sft_train_data.jsonl",
"validationDatasetUri": "gs://cloud-samples-data/ai-platform/generative_ai/gemini-2_0/text/sft_validation_data.jsonl"
},
"tunedModelDisplayName": "tuned_translation_llm"
}'
Python
查看調整工作清單
您可以使用 Google Cloud 控制台、Google Gen AI SDK,或使用 tuningJobs.list 方法傳送 GET 要求,查看目前專案中的調整工作清單。
REST
如要查看模型調整工作清單,請使用 tuningJobs.list 方法傳送 GET 要求。
使用任何要求資料之前,請先修改下列項目的值:
HTTP 方法和網址:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆。
Python
控制台
如要在 Google Cloud 控制台查看調整工作,請前往「Agent Studio」頁面。
翻譯 LLM 調整工作會列在「Translation LLM tuned models」(翻譯 LLM 調整模型) 專區下方的表格中。
取得調整工作的詳細資料
如要取得目前專案中調整工作的詳細資料,可以使用 Google Cloud 控制台、Google Gen AI SDK,或使用 tuningJobs.get 方法傳送 GET 要求。
REST
如要查看模型調整工作的詳細資料,請使用 tuningJobs.get 方法傳送 GET 要求,並指定 TUNING_JOB_ID。
使用任何要求資料之前,請先修改下列項目的值:
HTTP 方法和網址:
GET https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆。
Python
控制台
如要在 Google Cloud 控制台查看調整後模型的詳細資料,請前往「Agent Studio」頁面。
在「Translation LLM tuned models」(Translation LLM 調整模型) 表格中,找到模型並點選「Details」(詳細資料)。
畫面上會顯示模型詳細資料。
取消調整工作
您可以使用 Google Cloud 控制台、Google Gen AI SDK,或使用 tuningJobs.cancel 方法傳送 POST 要求,取消目前專案中的調整工作。
REST
如要取消模型調整工作,請使用 tuningJobs.cancel 方法傳送 POST 要求,並指定 TUNING_JOB_ID。
使用任何要求資料之前,請先修改下列項目的值:
HTTP 方法和網址:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel
如要傳送要求,請選擇以下其中一個選項:
curl
執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel"
PowerShell
執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆。
Python
控制台
如要在 Google Cloud 控制台取消調整工作,請前往「Agent Studio」頁面。
在「Translation LLM tuned models」(翻譯 LLM 調整模型) 表格中,按一下 「Manage run」(管理執行作業)。
按一下「取消」。
使用提示詞測試微調後的模型
您可以使用 Google Gen AI SDK,或使用 generateContent 方法傳送 POST 要求,在目前專案中測試調整後的模型。
以下範例提示模型將「Hello」從英文翻譯成西班牙文。
REST
如要使用提示測試調整後的模型,請傳送 POST 要求並指定 ENDPOINT_ID。
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:您的專案 ID。
- TUNING_JOB_REGION:執行調整工作的區域。這也是上傳調整後模型的預設區域。
- ENDPOINT_ID:從 GET API 取得的調整後模型端點 ID。
HTTP 方法和網址:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent
JSON 要求內文:
{
"contents": [
{
"role": "USER",
"parts": [
{
"text": "English: Hello. Spanish:"
}
]
}
]
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/endpoints/ENDPOINT_ID:generateContent" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆。
Python
調整和驗證指標
您可以設定模型微調工作,收集並回報模型微調和模型評估指標,然後在 Agent Studio 中以圖表呈現。
如要在 Google Cloud 控制台查看調整後模型的詳細資料,請前往「Agent Studio」頁面。
在「Tune and Distill」(調整及精煉) 表格中,按一下要查看指標的調整後模型名稱。
調整指標會顯示在「Monitor」(監控) 分頁下方。
模型調整指標
模型調整工作會自動收集 translation-llm-002 的下列調整指標。
/train_total_loss:訓練步驟中調整資料集的損失。/train_fraction_of_correct_next_step_preds:訓練步驟的詞元準確率。單一推論是由一連串預測的詞元組成。這項指標會將預測詞元與調整資料集中的基準真相比較,評估預測詞元的準確度。/train_num_predictions:訓練步驟中預測的詞元數量。
模型驗證指標
您可以設定模型微調工作,收集 translation-llm-002 的下列驗證指標。
/eval_total_loss:驗證步驟中驗證資料集的損失。/eval_fraction_of_correct_next_step_preds:驗證步驟的詞元準確率。單一推論是由一連串預測的詞元組成。這項指標會將預測詞元與驗證資料集中的基準真相比較,評估預測詞元的準確度。/eval_num_predictions:驗證步驟中預測的詞元數量。
調整工作開始執行後,即可查看指標圖表。系統會隨著微調進度即時更新。如果在建立調整工作時未指定驗證資料集,則只能查看調整指標的圖表。
後續步驟
- 如要瞭解如何在建構生成式 AI 知識庫的解決方案中使用監督式微調,請參閱「快速部署解決方案:生成式 AI 知識庫」。