管理集群

如果您对 Gemini Enterprise Agent Platform 训练集群感兴趣,请与您的销售代表联系以获取访问权限。

部署集群后,您可以使用以下 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):从上一个列表调用收到的令牌。提供此令牌可检索后续结果页面。
以下示例请求第一页结果,每页最多包含 5 个聚类。

    gcurl "https://REGION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/REGION/modelDevelopmentClusters?pageSize=5"
    

成功的响应包含一个集群数组,其中最多包含 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 中指定:

    • labels
    • node_pools
    • orchestrator_spec.slurm_spec.partitions
    • orchestrator_spec.slurm_spec.login_node_pool_id
    • orchestrator_spec.slurm_spec.prolog_bash_scripts
    • orchestrator_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_poolsprolog_bash_scriptsepilog_bash_scripts 等重复字段,该 API 仅支持完全替换操作。用户必须在请求载荷中提供完整的预期商品列表,才能完全替换现有列表。

更新后的行为和集群状态

如果请求成功,则会返回长时间运行的操作 (LRO)。然后,您可以使用以下命令监控此操作的状态:

gcurl https://REGION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID
更新操作成功完成后,大多数修改会立即生效(或在 15 秒的 Slurm 同步时间内生效),无需进一步操作。只有对底层集群计算基础架构(包括对存储来源和启动脚本的修改)的更改才需要重新创建资源。

删除集群:

  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 端点,以便大规模处理在线推理请求。
  • 优化费用:定期检查集群利用率,并在集群未处于活跃使用状态时将其删除,以最大限度减少预留硬件的结算费用。