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 リファレンスをご覧ください。