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 메서드를 사용하여 사용자 정의 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 파이프라인 구성요소 SDK 참조를 확인하세요.