创建永久性资源时,训练服务首先会根据您提供的规范从 Compute Engine 资源池中查找所需资源,然后为您预配一个长时间运行的集群。本页面介绍如何使用 Vertex AI API 或 Google Cloud CLI 创建用于运行自定义训练作业的永久性资源。
创建永久性资源
根据需要选择以下任一标签页,了解如何创建永久性资源。
gcloud
永久性资源可以具有一个或多个资源池。如需在一个永久性资源中创建多个资源池,请指定多个 --resource-pool-spec
标志。
每个资源池都可以启用或停用自动扩缩功能。如需启用自动扩缩,请指定 min_replica_count
和 max_replica_count
。
您可以在命令行中指定所有资源池配置,也可以使用 --config
标志指定包含配置的 YAML 文件的路径。
在使用下面的命令数据之前,请先进行以下替换:
- PROJECT_ID:要创建永久性资源的 Google Cloud 项目的 ID。
- LOCATION:要创建永久性资源的区域。如需查看受支持区域的列表,请参阅功能可用性。
- PERSISTENT_RESOURCE_ID:永久性资源的 ID。
- DISPLAY_NAME:(可选)永久性资源的显示名称。
- MACHINE_TYPE:要使用的虚拟机类型。如需查看支持的虚拟机列表,请参阅机器类型。此字段对应于
ResourcePool
API 消息中的machineSpec.machineType
字段。 - ACCELERATOR_TYPE:(可选)要挂接到资源池中每个虚拟机的 GPU 的类型。如需查看受支持的 GPU 列表,请参阅 GPU。此字段对应于
ResourcePool
API 消息中的machineSpec.acceleratorType
字段。 - ACCELERATOR_COUNT:(可选)要挂接到资源池中每个虚拟机的 GPU 的数量。默认值为
1
。此字段对应于ResourcePool
API 消息中的machineSpec.acceleratorCount
字段。 - REPLICA_COUNT:创建此资源池时要创建的副本数。此字段对应于
ResourcePool
API 消息中的replicaCount
字段。如果您未指定 MIN_REPLICA_COUNT 和 MAX_REPLICA_COUNT,则此字段为必需字段。 - MIN_REPLICA_COUNT:(可选)自动扩缩功能可将此资源池缩减到的最小副本数量。如需在此资源池上启用自动扩缩,则需要同时提供 MIN_REPLICA_COUNT 和 MAX_REPLICA_COUNT。
- MAX_REPLICA_COUNT:(可选)自动扩缩功能可将此资源池扩容到的最大副本数量。如需在此资源池上启用自动扩缩,则需要同时提供 MIN_REPLICA_COUNT 和 MAX_REPLICA_COUNT。
- BOOT_DISK_TYPE:(可选)要用作资源池中每个虚拟机的启动磁盘的类型。此字段对应于
ResourcePool
API 消息中的diskSpec.bootDiskType
字段。可接受的值包括:pd-standard
(默认)pd-ssd
- BOOT_DISK_SIZE_GB:(可选)资源池中每个虚拟机的启动磁盘的大小(以 GiB 为单位)。可接受
100
(默认值)到64000
之间的值。此字段对应于ResourcePool
API 消息中的diskSpec.bootDiskSizeGb
字段。 - CONFIG:永久性资源 YAML 配置文件的路径。此文件应包含 ResourcePool 的列表。如果配置文件和命令行参数中都指定了选项,则命令行参数将替换配置文件。请注意,带有下划线的键无效。
示例 YAML 配置文件:
resourcePoolSpecs: machineSpec: machineType: n1-standard-4 replicaCount: 1
执行以下命令:
Linux、macOS 或 Cloud Shell
gcloud beta ai persistent-resources create \ --persistent-resource-id=PERSISTENT_RESOURCE_ID \ --display-name=DISPLAY_NAME \ --project=PROJECT_ID \ --region=LOCATION \ --resource-pool-spec="replica-count=REPLICA_COUNT,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT,machine-type=MACHINE_TYPE,accelerator-type=ACCELERATOR_TYPE,accelerator-count=ACCELERATOR_COUNT,disk-type=BOOT_DISK_TYPE,disk-size=BOOT_DISK_SIZE_GB"
Windows (PowerShell)
gcloud beta ai persistent-resources create ` --persistent-resource-id=PERSISTENT_RESOURCE_ID ` --display-name=DISPLAY_NAME ` --project=PROJECT_ID ` --region=LOCATION ` --resource-pool-spec="replica-count=REPLICA_COUNT,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT,machine-type=MACHINE_TYPE,accelerator-type=ACCELERATOR_TYPE,accelerator-count=ACCELERATOR_COUNT,disk-type=BOOT_DISK_TYPE,disk-size=BOOT_DISK_SIZE_GB"
Windows (cmd.exe)
gcloud beta ai persistent-resources create ^ --persistent-resource-id=PERSISTENT_RESOURCE_ID ^ --display-name=DISPLAY_NAME ^ --project=PROJECT_ID ^ --region=LOCATION ^ --resource-pool-spec="replica-count=REPLICA_COUNT,min-replica-count=MIN_REPLICA_COUNT,max-replica-count=MAX_REPLICA_COUNT,machine-type=MACHINE_TYPE,accelerator-type=ACCELERATOR_TYPE,accelerator-count=ACCELERATOR_COUNT,disk-type=BOOT_DISK_TYPE,disk-size=BOOT_DISK_SIZE_GB"
您应该会收到类似如下所示的响应:
Using endpoint [http://us-central1-aiplatform.googleapis.com/] Operation to create PersistentResource [projects/123456789012/locations/us-central1/persistentResources/mypersistentresource/operations/1234567890123456789] is submitted successfully. You may view the status of your PersistentResource create operation with the command $ gcloud beta ai operations describe projects/sample-project/locations/us-central1/operations/1234567890123456789
示例 gcloud
命令:
gcloud beta ai persistent-resources create \ --persistent-resource-id=my-persistent-resource \ --region=us-central1 \ --resource-pool-spec="min-replica-count=4,max-replica-count=12,machine-type=n1-highmem-2,accelerator-type=NVIDIA_TESLA_K80,accelerator-count=1,disk-type=pd-standard,disk-size=200" \ --resource-pool-spec="replica-count=4,machine-type=n1-standard-4"
gcloud
中的高级配置
如果您想指定前面示例中未提供的配置选项,则可以使用 --config
标志指定本地环境中的 config.yaml
文件的路径,该文件包含 persistentResources
的字段。例如:
gcloud beta ai persistent-resources create \ --persistent-resource-id=PERSISTENT_RESOURCE_ID \ --project=PROJECT_ID \ --region=LOCATION \ --config=CONFIG
REST
永久性资源可以具有一个或多个资源池 (machine_spec
),并且每个资源池都可以启用或停用自动扩缩功能。
在使用任何请求数据之前,请先进行以下替换:
- PROJECT_ID:要创建永久性资源的 Google Cloud 项目的 ID。
- LOCATION:要创建永久性资源的区域。如需查看受支持区域的列表,请参阅功能可用性。
- PERSISTENT_RESOURCE_ID:永久性资源的 ID。
- DISPLAY_NAME:(可选)永久性资源的显示名称。
- MACHINE_TYPE:要使用的虚拟机类型。如需查看支持的虚拟机列表,请参阅机器类型。此字段对应于
ResourcePool
API 消息中的machineSpec.machineType
字段。 - ACCELERATOR_TYPE:(可选)要挂接到资源池中每个虚拟机的 GPU 的类型。如需查看受支持的 GPU 列表,请参阅 GPU。此字段对应于
ResourcePool
API 消息中的machineSpec.acceleratorType
字段。 - ACCELERATOR_COUNT:(可选)要挂接到资源池中每个虚拟机的 GPU 的数量。默认值为
1
。此字段对应于ResourcePool
API 消息中的machineSpec.acceleratorCount
字段。 - REPLICA_COUNT:创建此资源池时要创建的副本数。此字段对应于
ResourcePool
API 消息中的replicaCount
字段。如果您未指定 MIN_REPLICA_COUNT 和 MAX_REPLICA_COUNT,则此字段为必需字段。 - MIN_REPLICA_COUNT:(可选)自动扩缩功能可将此资源池缩减到的最小副本数量。如需在此资源池上启用自动扩缩,则需要同时提供 MIN_REPLICA_COUNT 和 MAX_REPLICA_COUNT。
- MAX_REPLICA_COUNT:(可选)自动扩缩功能可将此资源池扩容到的最大副本数量。如需在此资源池上启用自动扩缩,则需要同时提供 MIN_REPLICA_COUNT 和 MAX_REPLICA_COUNT。
- BOOT_DISK_TYPE:(可选)要用作资源池中每个虚拟机的启动磁盘的类型。此字段对应于
ResourcePool
API 消息中的diskSpec.bootDiskType
字段。可接受的值包括:pd-standard
(默认)pd-ssd
- BOOT_DISK_SIZE_GB:(可选)资源池中每个虚拟机的启动磁盘的大小(以 GiB 为单位)。可接受
100
(默认值)到64000
之间的值。此字段对应于ResourcePool
API 消息中的diskSpec.bootDiskSizeGb
字段。
HTTP 方法和网址:
POST http://us-central1-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/persistentResources?persistent_resource_id=PERSISTENT_RESOURCE_ID
请求 JSON 正文:
{ "display_name": "DISPLAY_NAME", "resource_pools": [ { "machine_spec": { "machine_type": "MACHINE_TYPE", "accelerator_type": "ACCELERATOR_TYPE", "accelerator_count": ACCELERATOR_COUNT }, "replica_count": REPLICA_COUNT, "autoscaling_spec": { "min_replica_count": MIN_REPLICA_COUNT, "max_replica_count": MAX_REPLICA_COUNT }, "disk_spec": { "boot_disk_type": "BOOT_DISK_TYPE", "boot_disk_size_gb": BOOT_DISK_SIZE_GB } } ] }
如需发送您的请求,请展开以下选项之一:
您应该收到类似以下内容的 JSON 响应:
{ "name": "projects/123456789012/locations/us-central1/persistentResources/mypersistentresource/operations/1234567890123456789", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.CreatePersistentResourceOperationMetadata", "genericMetadata": { "createTime": "2023-02-08T21:17:15.009668Z", "updateTime": "2023-02-08T21:17:15.009668Z" } } }
资源供应不足
A100 GPU 等稀缺资源可能会供应不足,如果在您指定的区域中没有可用的资源,则可能会导致永久性资源创建失败。在这种情况下,您可以尝试减少副本数量,更改为其他加速器类型,或在非高峰时段重试。