Vertex AI Pipelines로 Google Cloud 머신 리소스 요청

Vertex AI 커스텀 학습에서 제공하는 Google Cloud별 머신 리소스를 사용하여 Vertex AI Pipelines에서 Python 구성요소를 실행할 수 있습니다.

Google Cloud 파이프라인 구성요소에서 create_custom_training_job_from_component 메서드를 사용하여 Python 구성요소를 Vertex AI 커스텀 학습 작업으로 변환할 수 있습니다. 커스텀 작업을 만드는 방법 알아보기

Vertex AI 파이프라인을 사용하여 구성요소에서 커스텀 학습 작업 만들기

다음 샘플에서는 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 파이프라인 구성요소 SDK 참조를 확인하세요.