您可以使用 Vertex AI 自定义训练提供的 Google Cloud 特定机器资源在 Vertex AI Pipelines 上运行 Python 组件。
您可以从 Google Cloud 流水线组件使用 create_custom_training_job_from_component
方法将 Python 组件转换为 Vertex AI 自定义训练作业。了解如何创建自定义作业。
使用 Vertex AI Pipelines 从组件创建自定义训练作业
以下示例展示了如何使用 create_custom_training_job_from_component
方法将 Python 组件转换为使用用户定义的 Google Cloud 机器资源的自定义训练作业,然后在 Vertex AI Pipelines 上运行已编译的流水线:
import kfp
from kfp import dsl
from google_cloud_pipeline_components.v1.custom_job import create_custom_training_job_from_component
# Create a Python component
@dsl.component
def my_python_component():
import time
time.sleep(1)
# Convert the above component into a custom training job
custom_training_job = create_custom_training_job_from_component(
my_python_component,
display_name = 'DISPLAY_NAME',
machine_type = 'MACHINE_TYPE',
accelerator_type='ACCELERATOR_TYPE',
accelerator_count='ACCELERATOR_COUNT',
boot_disk_type: 'BOOT_DISK_TYPE',
boot_disk_size_gb: 'BOOT_DISK_SIZE',
network: 'NETWORK',
reserved_ip_ranges: 'RESERVED_IP_RANGES',
nfs_mounts: 'NFS_MOUNTS'
)
# Define a pipeline that runs the custom training job
@dsl.pipeline(
name="resource-spec-request",
description="A simple pipeline that requests a Google Cloud machine resource",
pipeline_root='PIPELINE_ROOT',
)
def pipeline():
training_job_task = custom_training_job(
project='PROJECT_ID',
location='LOCATION',
).set_display_name('training-job-task')
替换以下内容:
DISPLAY_NAME:自定义作业的名称。 如果未指定名称,则默认使用组件名称。
MACHINE_TYPE:运行自定义作业的机器类型,例如
e2-standard-4
。如需详细了解机器类型,请参阅机器类型。 如果您将 TPU 指定为accelerator_type
,请将此字段设置为cloud-tpu
。 如需了解详情,请参阅machine_type
参数参考文档。ACCELERATOR_TYPE:挂接到机器的加速器类型。如需详细了解可用的 GPU 以及如何配置它们,请参阅 GPU。如需详细了解可用的 TPU 类型以及如何配置它们,请参阅 TPU。 如需了解详情,请参阅
accelerator_type
参数参考文档。ACCELERATOR_COUNT:挂接到运行自定义作业的机器的加速器数量。 如果您指定加速器类型,则加速器数量默认设置为
1
。BOOT_DISK_TYPE:启动磁盘类型。 如需了解详情,请参阅
boot_disk_type
参数参考文档。BOOT_DISK_SIZE:启动磁盘大小(以 GB 为单位)。 如需了解详情,请参阅
boot_disk_size_gb
参数参考文档。NETWORK:如果自定义作业与配置了专用服务访问通道的 Compute Engine 网络对等互连,请指定网络的全名。如需了解详情,请参阅
network
参数参考文档。RESERVED_IP_RANGES:用于部署自定义作业的 VPC 网络下预留的 IP 地址范围的名称列表。如需了解详情,请参阅
reserved_ip_ranges
参数参考文档。NFS_MOUNTS:JSON 字典格式的 NFS 装载资源列表。如需了解详情,请参阅
nfs_mounts
参数参考文档。PIPELINE_ROOT:指定流水线服务账号可以访问的 Cloud Storage URI。流水线运行的工件存储在流水线根目录中。
PROJECT_ID:在其中运行此流水线的 Google Cloud 项目。
LOCATION:此流水线的运行位置或区域。
API 参考文档
如需查看 create_custom_training_job_from_component
方法支持的参数的完整列表,请参阅 Google Cloud 流水线组件 SDK 参考文档。