Vertex AI カスタム トレーニングで提供される Google Cloud 固有のマシンリソースを使用して、Vertex AI Pipelines で Python コンポーネントを実行できます。
Google Cloud パイプライン コンポーネントの create_custom_training_job_from_component
メソッドを使用して、Python コンポーネントを Vertex AI カスタム トレーニング ジョブに変換できます。カスタムジョブの作成方法はこちらで確認してください。
Vertex AI Pipelines を使用して 1 つのコンポーネントからカスタム トレーニング ジョブを作成する
次のサンプルでは、create_custom_training_job_from_component
メソッドを使用して、ユーザー定義の Google Cloud マシンリソースで Python コンポーネントをカスタム トレーニング ジョブに変換し、コンパイルしたパイプラインを 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 リファレンスをご覧ください。