执行 Gemini Enterprise Agent Platform 无服务器训练时,您必须指定希望 Gemini Enterprise Agent Platform 运行的机器学习 (ML) 代码。为此,请为自定义容器或在预构建容器上运行的 Python 训练应用配置训练容器设置。
如需确定要使用自定义容器还是预构建容器,请参阅训练代码要求。
本文档介绍上述两种情况中必须指定的 Agent Platform API 字段。
在何处指定容器设置
在 WorkerPoolSpec 中指定配置详细信息。根据您执行无服务器训练的方式,请将此 WorkerPoolSpec 放入以下某个 API 字段中:
如果您要创建一个
CustomJob资源,在CustomJob.jobSpec.workerPoolSpecs中指定WorkerPoolSpec。如果您使用的是 Google Cloud CLI,则可以在
gcloud ai custom-jobs create命令上使用--worker-pool-spec标志或--config标志来指定工作器池选项。详细了解如何创建
CustomJob。如果您要创建一个
HyperparameterTuningJob资源,在HyperparameterTuningJob.trialJobSpec.workerPoolSpecs中指定WorkerPoolSpec。如果您使用的是 gcloud CLI,则可以使用
gcloud ai hpt-tuning-jobs create命令上的--config标志来指定工作器池选项。详细了解如何创建
HyperparameterTuningJob。如果您要创建一个未进行超参数调节的
TrainingPipeline资源,在TrainingPipeline.trainingTaskInputs.workerPoolSpecs中指定WorkerPoolSpec。详细了解如何创建自定义
TrainingPipeline。如果要使用超参数调节创建
TrainingPipeline,请在TrainingPipeline.trainingTaskInputs.trialJobSpec.workerPoolSpecs中指定WorkerPoolSpec。
如果您执行分布式训练,则可以对每个工作器池使用不同的设置。
配置容器设置
根据您使用的是预建容器还是自定义容器,您必须指定 WorkerPoolSpec 中的不同字段。请根据具体情况选择标签页:
预构建容器
选择支持你计划用于训练的机器学习框架的预构建容器。在
pythonPackageSpec.executorImageUri字段中指定容器映像的一个 URI。在
pythonPackageSpec.packageUris字段中指定 Python 训练应用的 Cloud Storage URI。在
pythonPackageSpec.pythonModule字段中指定训练应用的入口点模块。(可选)在
pythonPackageSpec.args字段中指定要传递给训练应用入口点模块的命令行参数列表。
以下示例突出显示了创建 CustomJob 时指定这些容器设置的位置:
控制台
在 Cloud de Confiance 控制台中,您无法直接创建 CustomJob。但是,您可以创建一个创建 CustomJob 的 TrainingPipeline。在 Cloud de Confiance 控制台中创建 TrainingPipeline 时,您可以在训练容器步骤的某些字段中指定预构建容器设置:
pythonPackageSpec.executorImageUri:使用模型框架和模型框架版本下拉列表。pythonPackageSpec.packageUris:使用软件包位置字段。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指令(如果存在)运行。请参阅关于CMD和ENTRYPOINT如何交互的 Docker 文档。仅指定
containerSpec.command:containerSpec.command的值替换容器的ENTRYPOINT指令,然后容器将据此运行。如果容器具有CMD指令,则会被忽略。仅指定
containerSpec.args:containerSpec.args的值替换容器的CMD指令,容器根据其ENTRYPOINT指令运行。同时指定两个字段:
containerSpec.command替换容器ENTRYPOINT指令并且containerSpec.args替换CMD指令,然后容器据此运行。
以下示例突出显示了在创建 CustomJob 时指定其中某些容器设置的位置:
控制台
在 Cloud de Confiance 控制台中,您无法直接创建 CustomJob。但是,您可以创建一个创建 CustomJob 的 TrainingPipeline。在 Cloud de Confiance 控制台中创建 TrainingPipeline 时,您可以在训练容器步骤的某些字段中指定自定义容器设置:
containerSpec.imageUri:使用容器映像字段。containerSpec.command:此 API 字段无法在Cloud de Confiance 控制台中配置。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
试用此示例之前,请按照Agent Platform 快速入门:使用客户端库中的 Java 设置说明进行操作。如需了解详情,请参阅 Agent Platform Java API 参考文档。
如需向代理平台进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
Node.js
试用此示例之前,请按照Agent Platform 快速入门:使用客户端库中的 Node.js 设置说明进行操作。如需了解详情,请参阅 Agent Platform Node.js API 参考文档。
如需向代理平台进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。
在运行代码示例之前,请将 GOOGLE_CLOUD_UNIVERSE_DOMAIN 环境变量设置为 s3nsapis.fr。
Python
如需了解如何安装或更新 Vertex AI SDK for Python,请参阅安装 Vertex AI SDK for Python。 如需了解详情,请参阅 Python API 参考文档。
如需了解详情,请参阅 创建 CustomJob 指南。
后续步骤
- 了解如何通过创建
CustomJob执行无服务器训练。