執行自訂訓練時,您必須指定要讓 Vertex AI 執行哪些機器學習 (ML) 程式碼。為此,請為自訂容器或在預先建構容器中執行的 Python 訓練應用程式設定訓練容器。
如要決定是否要使用自訂容器或預先建構的容器,請參閱「訓練程式碼需求」。
本文件說明您在上述任一情況下必須指定的 Vertex AI API 欄位。
指定容器設定的位置
請在 WorkerPoolSpec
中指定設定詳細資料。視您執行自訂訓練的方式而定,請將此 WorkerPoolSpec
放入下列任一 API 欄位:
如果您要建立
CustomJob
資源,請在CustomJob.jobSpec.workerPoolSpecs
中指定WorkerPoolSpec
。如果您使用 Google Cloud CLI,可以在
gcloud ai custom-jobs create
指令中使用--worker-pool-spec
旗標或--config
旗標,指定 worker 集區選項。進一步瞭解如何建立
CustomJob
。如果您要建立
HyperparameterTuningJob
資源,請在HyperparameterTuningJob.trialJobSpec.workerPoolSpecs
中指定WorkerPoolSpec
。如果您使用的是 gcloud CLI,則可以使用
gcloud ai hpt-tuning-jobs create
指令的--config
標記,指定 worker 集區選項。進一步瞭解如何建立
HyperparameterTuningJob
。如果您在建立
TrainingPipeline
資源時未進行超參數調整,請在TrainingPipeline.trainingTaskInputs.workerPoolSpecs
中指定WorkerPoolSpec
。進一步瞭解如何建立自訂
TrainingPipeline
。如果您要建立含有超參數調整的
TrainingPipeline
,請在TrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs
中指定WorkerPoolSpec
。
如果您要執行分散式訓練,可以為每個工作池使用不同的設定。
設定容器
視您使用的是預先建構的容器還是自訂容器而定,您必須在 WorkerPoolSpec
中指定不同的欄位。請選取符合您情況的分頁:
預先建構的容器
選取支援您打算用於訓練的 ML 架構的預先建構容器。在
pythonPackageSpec.executorImageUri
欄位中指定容器映像檔的其中一個 URI。在
pythonPackageSpec.packageUris
欄位中指定 Python 訓練應用程式的 Cloud Storage URI。在
pythonPackageSpec.pythonModule
欄位中指定訓練應用程式的進入點模組。您也可以在
pythonPackageSpec.args
欄位中指定要傳遞至訓練應用程式進入點模組的指令列引數清單。
下列範例會說明建立 CustomJob
時,您應在何處指定這些容器設定:
控制台
您無法在 Google Cloud 主控台中直接建立 CustomJob
。不過,您可以建立 TrainingPipeline
來建立 CustomJob
。在 Google Cloud 控制台中建立 TrainingPipeline
時,您可以在「訓練容器」步驟的特定欄位中指定預先建構的容器設定:
pythonPackageSpec.executorImageUri
:使用「Model framework」和「Model framework version」下拉式清單。pythonPackageSpec.packageUris
:使用「Package location」欄位。pythonPackageSpec.pythonModule
:使用「Python 模組」欄位。pythonPackageSpec.args
:使用「引數」欄位。
gcloud
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--python-package-uris=PYTHON_PACKAGE_URIS \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,executor-image-uri=PYTHON_PACKAGE_EXECUTOR_IMAGE_URI,python-module=PYTHON_MODULE
如需更多背景資訊,請參閱建立 CustomJob
的指南。
自訂容器
在
containerSpec.imageUri
欄位中,指定自訂容器的 Artifact Registry 或 Docker Hub URI。您也可以選擇覆寫容器中的
ENTRYPOINT
或CMD
指示,方法是指定containerSpec.command
或containerSpec.args
欄位。這些欄位會影響容器的執行方式,並遵循下列規則:如果您未指定任何欄位:容器會根據其
ENTRYPOINT
指示和CMD
指示 (如果有) 執行。請參閱 Docker 說明文件,瞭解CMD
和ENTRYPOINT
的互動方式。如果您只指定
containerSpec.command
:容器會以containerSpec.command
的值取代其ENTRYPOINT
指令執行。如果容器有CMD
指示,系統會忽略該指示。如果您只指定
containerSpec.args
:容器會根據其ENTRYPOINT
指令執行,其中containerSpec.args
的值會取代其CMD
指令。如果同時指定這兩個欄位:容器執行時,
containerSpec.command
會取代其ENTRYPOINT
指令,containerSpec.args
會取代其CMD
指令。
下列範例會強調您在建立 CustomJob
時,可指定部分容器設定的位置:
控制台
您無法在 Google Cloud 主控台中直接建立 CustomJob
。不過,您可以建立 TrainingPipeline
來建立 CustomJob
。在 Google Cloud 控制台中建立 TrainingPipeline
時,您可以在「訓練容器」步驟的特定欄位中指定自訂容器設定:
containerSpec.imageUri
:使用「容器映像檔」欄位。containerSpec.command
:您無法在Google Cloud 控制台中設定這個 API 欄位。containerSpec.args
:使用「引數」欄位。
gcloud
gcloud ai custom-jobs create \
--region=LOCATION \
--display-name=JOB_NAME \
--worker-pool-spec=machine-type=MACHINE_TYPE,replica-count=REPLICA_COUNT,container-image-uri=CUSTOM_CONTAINER_IMAGE_URI
Java
在試用這個範例之前,請先按照 Vertex AI 快速入門:使用用戶端程式庫中的操作說明設定 Java。詳情請參閱 Vertex AI Java API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
在試用這個範例之前,請先按照 Vertex AI 快速入門:使用用戶端程式庫中的操作說明設定 Node.js。詳情請參閱 Vertex AI Node.js API 參考說明文件。
如要向 Vertex AI 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python 適用的 Vertex AI SDK
如要瞭解如何安裝或更新 Python 適用的 Vertex AI SDK,請參閱「安裝 Python 適用的 Vertex AI SDK」。 詳情請參閱 Vertex AI SDK for Python API 參考說明文件。
如需更多背景資訊,請參閱建立 CustomJob
的指南。
後續步驟
- 如要瞭解如何執行自訂訓練,請建立
CustomJob
。