파이프라인 실행

Vertex Pipelines를 사용하면 서버리스 방식으로 Kubeflow Pipelines SDK 또는 TensorFlow Extended를 사용하여 빌드된 머신러닝(ML) 파이프라인을 실행할 수 있습니다. 이 문서에서는 ML 파이프라인을 실행하는 방법과 반복되는 파이프라인 실행을 예약하는 방법을 설명합니다.

ML 파이프라인을 아직 빌드하지 않았으면 파이프라인 빌드 가이드를 읽어보세요.

시작하기 전에

파이프라인을 실행하기 전 다음 안내에 따라 Google Cloud 프로젝트 및 개발 환경을 설정합니다.

  1. ML 파이프라인을 실행하도록 클라우드 프로젝트를 준비하려면 클라우드 프로젝트 구성 가이드의 안내를 따릅니다.

  2. Python을 사용하여 파이프라인을 실행하려면 ML 파이프라인을 만들기 위해 사용한 SDK를 사용해야 합니다.

파이프라인 실행 만들기

다음 안내에 따라 Google Cloud Console 또는 Python을 사용하여 ML 파이프라인을 실행합니다.

Console

다음 안내에 따라 Cloud Console을 사용하여 ML 파이프라인을 실행합니다.

  1. Cloud Console의 Vertex AI 섹션에서 파이프라인 페이지로 이동합니다.

    파이프라인으로 이동

  2. 리전 드롭다운 목록에서 파이프라인 실행을 만들려는 리전을 선택합니다.

  3. 실행 만들기를 클릭하여 파이프라인 실행 만들기 창을 엽니다.

  4. 다음 실행 세부정보를 지정합니다.

    • 파일 필드에서 선택을 클릭하여 파일 선택기를 엽니다. 실행하려는 컴파일된 파이프라인 JSON 파일로 이동하고, 파이프라인을 선택하고, 열기를 클릭합니다.

    • 파이프라인 이름은 기본적으로 파이프라인 정의에 지정한 이름으로 지정됩니다. 선택적으로 다른 파이프라인 이름을 지정합니다.

    • 이 파이프라인 실행을 고유하게 식별하기 위해 실행 이름을 지정합니다.

  5. 이 파이프라인 실행에 커스텀 서비스 계정, 고객 관리 암호화 키, 피어링된 VPC 네트워크가 사용되도록 지정하려면 고급 옵션을 클릭합니다.

    다음 안내에 따라 커스텀 서비스 계정과 같은 고급 옵션을 구성합니다.

    • 서비스 계정을 지정하려면 서비스 계정 드롭다운 목록에서 서비스 계정을 선택합니다.

      서비스 계정을 지정하지 않으면 Vertex Pipelines가 기본 Compute Engine 서비스 계정을 사용하여 파이프라인을 실행합니다.

      Vertex Pipelines에 사용할 서비스 계정 구성에 대해 자세히 알아보세요.

    • 고객 관리 암호화 키(CMEK)를 사용하려면 고객 관리 암호화 키 사용을 선택합니다. 고객 관리 키 선택 드롭다운 목록이 표시됩니다. 고객 관리 키 선택 드롭다운 목록에서 사용하려는 키를 선택합니다.

    • 이 파이프라인 실행에서 피어링된 VPC 네트워크를 사용하려면 피어링된 VPC 네트워크 상자에 VPC 네트워크 이름을 입력합니다.

  6. 계속을 클릭합니다.

    파이프라인 실행 매개변수 창이 표시됩니다.

  7. 파이프라인에 매개변수가 있으면 파이프라인 실행 매개변수를 지정합니다.

  8. 제출을 클릭하여 파이프라인 실행을 만듭니다.

Kubeflow Pipelines SDK

다음 안내에 따라 Kubeflow Pipelines SDK를 사용하여 ML 파이프라인을 실행합니다. 다음 코드 샘플을 실행하기 전에 인증을 설정해야 합니다.

from kfp.v2.google.client import AIPlatformClient

api_client = AIPlatformClient(project_id=PROJECT_ID,
                           region=REGION)

pipeline_run_name = api_client.create_run_from_job_spec(
    job_spec_path=COMPILED_PIPELINE_PATH,
    job_id=JOB_ID,
    pipeline_root=PIPELINE_ROOT_PATH,
    parameter_values=PIPELINE_PARAMETERS,
    enable_caching: ENABLE_CACHING,
    cmek: CMEK,
    service_account: SERVICE_ACCOUNT,
    network: VPC_PEERED_NETWORK)

다음을 바꿉니다.

  • PROJECT_ID: 파이프라인을 실행하려는 프로젝트입니다.
  • REGION: 파이프라인을 실행하려는 리전입니다. Vertex Pipelines를 사용할 수 있는 리전에 대한 자세한 내용은 Vertex AI 위치 가이드를 참조하세요.
  • COMPILED_PIPELINE_PATH: 컴파일된 파이프라인 JSON 파일의 경로입니다.
  • JOB_ID: (선택사항) 이 파이프라인 실행의 고유 식별자입니다. 작업 ID를 지정하지 않으면 Vertex Pipelines가 파이프라인 이름과 파이프라인 실행이 시작되었을 때의 타임스탬프를 사용하여 작업 ID를 만듭니다.
  • PIPELINE_ROOT_PATH: (선택사항) 파이프라인 정의에 지정된 파이프라인 루트 경로를 재정의하려면 Cloud Storage 버킷 URI와 같이 파이프라인 작업이 액세스할 수 있는 경로를 지정합니다.
  • PIPELINE_PARAMETERS: (선택사항) 파이프라인 매개변수를 이 실행에 전달하려면 매개변수를 Mapping[str, Any] 유형의 인스턴스로 지정합니다. 예를 들어 dict() 매개변수 이름을 사전 키로 만들고 매개변수 값을 사전 값으로 만듭니다.
  • ENABLE_CACHING: (선택사항) 이 파이프라인 실행에서 실행 캐싱을 사용할지 여부를 지정합니다. 실행 캐싱은 현재 입력 집합에 대해 출력이 알려진 파이프라인 단계를 건너뛰어 비용을 줄여줍니다. 사용 설정 캐싱 인수가 지정되지 않으면 실행 캐싱이 이 파이프라인 실행에서 사용됩니다.

    실행 캐싱 자세히 알아보기

  • CMEK: (선택사항) 이 파이프라인 실행에 사용할 고객 관리 암호화 키의 이름입니다.

  • SERVICE_ACCOUNT: (선택사항) 이 파이프라인 실행에 사용할 서비스 계정의 이름입니다. 서비스 계정을 지정하지 않으면 Vertex Pipelines가 기본 Compute Engine 서비스 계정을 사용하여 파이프라인을 실행합니다.

  • VPC_PEERED_NETWORK: (선택사항) 이 파이프라인 실행에 사용할 VPC 피어링된 네트워크의 이름입니다.

Kubeflow Pipelines SDK를 사용하여 반복되는 파이프라인 실행 예약

다음 안내에 따라 Python 및 Kubeflow Pipelines SDK를 사용하여 반복되는 파이프라인 실행을 예약합니다. 다음 코드 샘플을 실행하기 전에 인증을 설정해야 합니다.

  1. Compute Engine 기본 서비스 계정으로 예약된 파이프라인 실행. Compute Engine 기본 서비스 계정은 PROJECT_NUMBER-compute@developer.gserviceaccount.com 형식으로 이름이 지정됩니다. Identity and Access Management를 사용하여 파이프라인에 사용되는 Google Cloud 리소스에 액세스할 수 있는 권한을 이 서비스 계정에 부여합니다.

  2. Kubeflow Pipelines SDK를 사용하여 반복되는 파이프라인 실행을 예약합니다.

    from kfp.v2.google.client import AIPlatformClient
    
    api_client = AIPlatformClient(project_id=PROJECT_ID,
                               region=REGION)
    
    api_client.create_schedule_from_job_spec(
        job_spec_path=COMPILED_PIPELINE_PATH,
        schedule=SCHEDULE,
        time_zone=TIME_ZONE,
        parameter_values=PIPELINE_PARAMETERS
    )
    

    다음을 바꿉니다.

    • PROJECT_ID: 파이프라인을 실행하려는 프로젝트입니다.
    • REGION: (선택사항) 파이프라인을 실행하려는 리전입니다. Vertex Pipelines를 사용할 수 있는 리전에 대한 자세한 내용은 Vertex AI 위치 가이드를 참조하세요.
    • COMPILED_PIPELINE_PATH: 컴파일된 파이프라인 JSON 파일의 경로입니다. 파이프라인 빌드에 대해 자세히 알아보세요.
    • SCHEDULE: unix-cron 형식을 사용하여 이 파이프라인을 실행하기 위한 일정입니다. 크론 작업 일정 구성에 대해 자세히 알아보세요.
    • TIME_ZONE: (선택사항) 일정을 평가할 때 사용되는 시간대입니다. 시간대가 지정되지 않았으면 'utc'가 기본값입니다. 시간대 데이터베이스의 시간대에 대해 자세히 알아보세요.
    • PIPELINE_PARAMETERS: (선택사항) 파이프라인 매개변수를 이 실행에 전달하려면 매개변수를 Mapping[str, str] 유형의 인스턴스로 지정합니다. 예를 들어 dict() 매개변수 이름을 사전 키로 만들고 매개변수 값을 사전 값으로 만듭니다.

다음 단계