瞭解如何在 Vertex AI Pipelines 中要求 Google Cloud 機器資源

您可以使用 Vertex AI 自訂訓練提供的 Google Cloud專屬機器資源,在 Vertex AI Pipelines 上執行 Python 元件。

您可以使用 Google Cloud Pipeline Componentscreate_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'
    persistent_resource_id: 'PERSISTENT_RESOURCE_ID'
)

# 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:用於部署自訂作業的虛擬私有雲網路中,預留 IP 範圍的名稱清單。詳情請參閱 reserved_ip_ranges 參數參考資料

  • NFS_MOUNTS:JSON 字典格式的 NFS 掛接資源清單。詳情請參閱 nfs_mounts 參數參考資料

  • PERSISTENT_RESOURCE_ID (搶先版):要執行管道的持續性資源 ID。如果您指定永久資源,管道會在與永久資源相關聯的現有機器上執行,而不是在隨選和短期機器資源上執行。請注意,管道的網路和 CMEK 設定必須與為持續性資源指定的設定相符。如要進一步瞭解永久資源和建立方式,請參閱「建立永久資源」。

  • PIPELINE_ROOT:指定管道服務帳戶可存取的 Cloud Storage URI。管道執行作業的構件會儲存在管道根目錄中。

  • PROJECT_ID:這個管道執行的 Google Cloud 專案。

  • LOCATION:這個管道執行的位置或區域。

API 參考資料

如需 create_custom_training_job_from_component 方法支援的完整引數清單,請參閱 Google Cloud Pipeline Components SDK 參考資料