部署集群后,您可以使用以下 REST API 端点来管理其整个生命周期。
List:查看项目中的所有活跃集群。Get:检索特定集群的详细信息。Update:修改现有集群配置。Delete:永久移除集群及其资源。
身份验证
alias gcurl='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json"'
列出集群:
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters
列表方法支持以下可选查询参数来控制分页。
pageSize(整数,可选):响应中要返回的集群数量上限。即使存在更多项,服务返回的项数也可能小于此值。如果未指定,则使用默认页面大小。pageToken (string, optional):从上一个列表调用收到的令牌。提供此令牌可检索后续结果页面。
gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=5"
nextPageToken 字符串。获取集群:
gcurl -X GET https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
更新集群:
UPDATE_PAYLOAD 指定 JSON 文件的本地路径,该文件定义了您要更新到的完整 ModelDevelopmentCluster。
例如,如需更新仅限使用 CPU 的集群的节点池的节点数量,请使用以下 JSON 载荷:
{ "display_name": "DISPLAY_NAME", "network": { "network": "projects/PROJECT_ID/global/networks/NETWORK", "subnetwork": "projects/PROJECT_ID/regions/REGION/subnetworks/SUBNETWORK" }, "node_pools": [ { "id": "cpu", "machine_spec": { "machine_type": "n2-standard-8" }, "scaling_spec": { "min_node_count": UPDATED_MIN_NODE_COUNT, "max_node_count": UPDATED_MAX_NODE_COUNT }, "zone": "ZONE", "enable_public_ips": true, "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 120 } }, { "id": "login", "machine_spec": { "machine_type": "n2-standard-8", }, "scaling_spec": { "min_node_count": 1, "max_node_count": 1 }, "zone": "ZONE", "enable_public_ips": true, "boot_disk": { "boot_disk_type": "pd-standard", "boot_disk_size_gb": 120 } }, ], "orchestrator_spec": { "slurm_spec": { "home_directory_storage": "projects/PROJECT_ID/locations/ZONE/instances/FILESTORE", "partitions": [ { "id": "cpu", "node_pool_ids": [ "cpu" ] } ], "login_node_pool_id": "login" } } }
gcurl -X PATCH -d @UPDATE_PAYLOAD https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
-
updateMask(字符串,可选):一个 FieldMask,用于指定要更新的模型开发集群资源的哪些字段。只有updateMask中列出的字段会发生更改。ModelDevelopmentCluster资源中的以下字段可在updateMask中指定:labelsnode_poolsorchestrator_spec.slurm_spec.partitionsorchestrator_spec.slurm_spec.login_node_pool_idorchestrator_spec.slurm_spec.prolog_bash_scriptsorchestrator_spec.slurm_spec.epilog_bash_scripts
-
updateMode(枚举,可选):指定更新模式。可能的值包括:UPDATE_MODE_UNSPECIFIED:默认值,视为USER_AND_SERVICE。USER_ONLY:仅应用请求中用户指定的字段更改。 服务不会刷新服务管理的字段,例如启动、序幕或尾声脚本。USER_AND_SERVICE:应用用户指定的字段更改,并让服务刷新服务管理的字段。
USER_AND_SERVICE来确保集群是最新的。
以下命令会同时更新节点池配置和 Slurm 分区。
gcurl -X PATCH -d @update-payload.json 'https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID?updateMask=orchestrator_spec.slurm_spec.partitions,node_pools&updateMode=USER_AND_SERVICE'
对于 node_pools、prolog_bash_scripts 和 epilog_bash_scripts 等重复字段,该 API 仅支持完全替换操作。用户必须在请求载荷中提供完整的预期商品列表,才能完全替换现有列表。
如果请求成功,则会返回长时间运行的操作 (LRO)。然后,您可以使用以下命令监控此操作的状态:
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
删除集群:
gcurl -X DELETE https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters/CLUSTER_ID
如果成功,此命令会返回一个长时间运行的操作,然后您可以使用 operations describe 命令监控该操作。
gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
后续步骤
通过管理 Gemini Enterprise Agent Platform 训练集群,您可以优化其使用情况、将其集成到自动化工作流中,并为部署做好经过训练的模型。
- 使用 Gemini Enterprise Agent Platform Pipelines 编排训练:使用以受管集群为目标的流水线,自动执行训练作业的整个生命周期,从数据准备到模型注册。
- 监控和调试训练作业:跟踪进度和资源使用情况,并找出在集群上运行的分布式训练作业存在的问题。
- 部署模型以进行推理:在模型训练完毕并注册后,将其部署到 Gemini Enterprise Agent Platform 端点,以便大规模处理在线推理请求。
- 优化费用:定期检查集群利用率,并在集群未处于活跃使用状态时将其删除,以最大限度减少预留硬件的结算费用。