建立及管理翻譯專用大型語言模型
本文說明如何調整及使用自訂翻譯 LLM 模型。
事前準備
開始前,您必須先準備監督式微調資料集。視用途而定,您需要滿足不同的條件。
- 準備用於調整的文字資料集:文字調整
啟用 Vertex AI API
如要調整自訂 TLLM 模型,請按照下列步驟操作:
啟用 Vertex AI API (如果尚未啟用)。
啟用 API 所需的角色
您必須具備 serviceusage.services.enable 權限,才能啟用 API。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「Service Usage 管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。
支援的模型
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 回覆。
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 Platform Studio」頁面。
在「Translation LLM tuned models」(翻譯 LLM 調整模型) 專區下方的表格中,查看翻譯 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 Platform 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 Platform Studio」頁面。
在「Translation LLM tuned models」(翻譯 LLM 調整模型) 表格中,按一下 「Manage run」(管理執行作業)。
按一下「取消」。
取得模型相關資訊
訓練完成後,您可以取得模型相關資訊,例如模型 ID。
如要查看可用模型清單,請前往 Agent Platform Studio 頁面。
使用微調後的模型
下列範例使用模型 ID 為 1395675701985363739 的自訂模型翻譯文字。如要使用自訂翻譯 LLM,請指定 models/translation-llm-custom/{model-id} 做為模型 ID。
您可以使用 model 查詢參數,指定要用於翻譯的模型。
REST
使用任何要求資料之前,請先修改下列項目的值:
- PROJECT_ID:您的 Google Cloud 專案 ID
- LOCATION:自訂模型所在的區域,例如
us-central1。
HTTP 方法和網址:
POST https://TUNING_JOB_REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/TUNING_JOB_REGION/tuningJobs/TUNING_JOB_ID:cancel
JSON 要求內文:
{
"model": "projects/PROJECT_ID/locations/LOCATION/model/translation-llm-custom/1395675701985363739",
"sourceLanguageCode": "en",
"targetLanguageCode": "ru",
"contents": ["Dr. Watson, please discard your trash. You've shared unsolicited email with me.
Let's talk about spam and importance ranking in a confidential mode."]
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "x-goog-user-project: PROJECT_ID" \
-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/TUNING_JOB_ID:cancel"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_ID" }
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/TUNING_JOB_ID:cancel" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"translation": {
"translatedText": "Доктор Ватсон, пожалуйста, откажитесь от своего мусора.
Вы поделились нежелательной электронной почтой со мной. Давайте поговорим о
спаме и важности рейтинга в конфиденциальном режиме.",
"model": "projects/PROJECT_NUMBER/locations/LOCATION/model/translation-llm-custom/1395675701985363739"
}
}
Python
調整和驗證指標
您可以設定模型微調工作,收集並回報模型微調和模型評估指標,然後在 Agent Platform Studio 中以圖表呈現。
如要在 Google Cloud 控制台查看微調模型的詳細資料,請前往「Agent Platform 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 知識庫」。