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'
    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: カスタムジョブのデプロイに使用される VPC ネットワークの予約済み 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 コンポーネント SDK リファレンスをご覧ください。