Vertex AI Pipelines 소개

Vertex AI Pipelines를 사용하면 ML 파이프라인을 사용하여 ML 워크플로를 조정하여 서버리스 방식으로 머신러닝(ML) 시스템을 자동화, 모니터링, 제어할 수 있습니다. Kubeflow Pipelines(Kubeflow Pipelines) 또는 TensorFlow Extended(TFX) 프레임워크를 사용하여 정의된 ML 파이프라인을 일괄 실행할 수 있습니다. ML 파이프라인 정의를 위한 프레임워크를 선택하는 방법을 알아보려면 파이프라인을 정의하는 인터페이스를 참조하세요.

이 페이지에서는 다음 개요를 제공합니다.

ML 파이프라인이란?

ML 파이프라인은 MLOps 워크플로를 파이프라인 태스크라고 하는 일련의 단계로 설명하는 포팅 및 확장 가능한 설명입니다. 각 태스크는 워크플로의 특정 단계를 수행하여 ML 모델을 학습시키거나 배포합니다.

ML 파이프라인을 통해 MLOps 전략을 적용하여 ML 사용 시 반복 가능한 프로세스를 자동화하고 모니터링할 수 있습니다. 예를 들어 파이프라인 정의를 재사용하여 최신 프로덕션 데이터로 모델을 계속 재학습할 수 있습니다. Vertex AI의 MLOps에 대한 자세한 내용은 Vertex AI의 MLOps를 참조하세요.

ML 파이프라인의 구조

ML 파이프라인은 입력-출력 종속 항목을 사용하여 상호 연결된 컨테이너화된 파이프라인 태스크의 방향성 비순환 그래프(DAG)입니다. 각 태스크를 Python으로 또는 사전 빌드된 컨테이너 이미지로 작성할 수 있습니다.

Kubeflow Pipelines SDK 또는 TFX SDK를 사용하여 파이프라인을 DAG로 정의하고 중간 표현을 위해 YAML로 컴파일한 후 파이프라인을 실행할 수 있습니다. 기본적으로 파이프라인 태스크는 동시에 실행됩니다. 태스크를 연결하여 연속으로 실행할 수 있습니다. 파이프라인 태스크에 대한 자세한 내용은 파이프라인 태스크를 참조하세요. 파이프라인 정의, 컴파일, 실행을 위한 워크플로에 대한 자세한 내용은 ML 파이프라인의 수명 주기를 참조하세요.

파이프라인 태스크 및 구성요소

파이프라인 태스크는 특정 입력이 포함된 파이프라인 구성요소의 인스턴스화입니다. ML 파이프라인을 정의할 때 하나의 파이프라인 태스크 출력을 ML 워크플로의 다음 파이프라인 태스크 입력으로 라우팅하여 여러 태스크를 상호 연결하여 DAG를 형성할 수 있습니다. ML 파이프라인의 입력을 파이프라인 태스크의 입력으로 사용할 수도 있습니다.

파이프라인 구성요소

파이프라인 구성요소는 데이터 사전 처리, 모델 학습 또는 모델 배포와 같은 ML 워크플로의 특정 단계를 수행하는 독립 실행형 코드 집합입니다. 구성요소는 일반적으로 다음으로 구성됩니다.

  • 입력: 구성요소에는 하나 이상의 입력 매개변수와 아티팩트가 있을 수 있습니다.

  • 출력: 모든 구성요소에는 하나 이상의 출력 매개변수 또는 아티팩트가 있습니다.

  • 로직: 구성요소의 실행 가능한 코드입니다. 컨테이너화된 구성요소의 경우 로직에는 구성요소가 실행되는 환경 또는 컨테이너 이미지의 정의도 포함됩니다.

구성요소는 ML 파이프라인에서 태스크를 정의하는 기초입니다. 파이프라인 태스크를 정의하려면 사전 정의된 Google Cloud 파이프라인 구성요소를 사용하거나 커스텀 구성요소를 직접 만들면 됩니다.

사전 정의된 구성요소

파이프라인에서 AutoML과 같은 Vertex AI의 기능을 사용하려면 사전 정의된 Google Cloud 파이프라인 구성요소를 사용합니다. Google Cloud 파이프라인 구성요소를 사용하여 파이프라인을 정의하는 방법은 파이프라인 빌드를 참조하세요.

커스텀 구성요소

ML 파이프라인에서 사용할 자체 커스텀 구성요소를 작성할 수 있습니다. 커스텀 구성요소 작성에 대한 자세한 내용은 자체 파이프라인 구성요소 빌드를 참조하세요.

커스텀 Kubeflow Pipelines 구성요소를 작성하는 방법은 GitHub의 'Python 함수 기반 경량형 구성요소를 사용한 파이프라인' Jupyter 노트북을 참조하세요. 커스텀 TFX 구성요소를 작성하는 방법은 프로덕션 환경의 TensorFlow Extended 튜토리얼에서 TFX Python 함수 구성요소 튜토리얼을 참조하세요.

파이프라인 태스크

파이프라인 태스크는 파이프라인 구성요소 인스턴스화이며 ML 워크플로에서 특정 단계를 수행합니다. Python을 사용하거나 사전 빌드된 컨테이너 이미지로 ML 파이프라인 태스크를 작성할 수 있습니다.

태스크 내에서 Kubernetes로 Vertex AI의 주문형 컴퓨팅 기능을 기반으로 코드 실행을 확장하거나 BigQuery, Dataflow, Dataproc Serverless와 같은 다른 실행 엔진으로 워크로드를 위임할 수 있습니다.

ML 파이프라인의 수명 주기

정의에서 실행 및 모니터링에 이르기까지 ML 파이프라인의 수명 주기는 다음과 같은 개략적인 단계로 구성됩니다.

  1. 정의: ML 파이프라인 및 해당 태스크를 정의하는 프로세스를 파이프라인 빌드라고도 합니다. 이 단계에서는 다음 단계를 수행해야 합니다.

    1. ML 프레임워크 선택: Vertex AI Pipelines는 TFX 또는 Kubeflow Pipelines 프레임워크를 사용하여 정의된 ML 파이프라인을 지원합니다. 파이프라인 빌드를 위한 프레임워크를 선택하는 방법을 알아보려면 파이프라인을 정의하는 인터페이스를 참조하세요.

    2. 파이프라인 태스크 정의 및 파이프라인 구성: 자세한 내용은 파이프라인 빌드를 참조하세요.

  2. 컴파일: 이 단계에서는 다음 단계를 수행해야 합니다.

    1. ML 파이프라인을 실행하는 데 사용할 수 있는 중간 표현을 위해 컴파일된 YAML 파일에 ML 파이프라인 정의를 생성합니다.

    2. 선택사항: 컴파일된 YAML 파일을 파이프라인 템플릿으로 저장소에 업로드하고 재사용하여 ML 파이프라인 실행을 만들 수 있습니다.

  3. 실행: 컴파일된 YAML 파일 또는 파이프라인 템플릿을 사용하여 ML 파이프라인의 실행 인스턴스를 만듭니다. 파이프라인 정의의 실행 인스턴스를 파이프라인 실행이라고 부릅니다.

    일회성 파이프라인 실행을 만들거나 Vertex AI Scheduler를 사용하여 동일한 ML 파이프라인 정의에서 반복되는 파이프라인 실행을 만들 수 있습니다. 기존 파이프라인 실행을 클론할 수도 있습니다. ML 파이프라인을 실행하기 위한 인터페이스를 선택하는 방법은 파이프라인 실행을 위한 인터페이스를 참조하세요. 파이프라인 실행을 만드는 방법에 대한 자세한 내용은 파이프라인 실행을 참조하세요.

  4. 실행 모니터링, 시각화, 분석: 파이프라인 실행을 만든 후 파이프라인 실행의 성능, 상태, 비용을 모니터링하려면 다음을 수행할 수 있습니다.

  5. 선택사항: 파이프라인 실행 중지 또는 삭제: 파이프라인 실행을 활성 상태로 유지할 수 있는 기간에는 제한이 없습니다. 원하는 경우 다음 작업을 수행할 수 있습니다.

    • 파이프라인 실행을 중지합니다.

    • 파이프라인 실행 일정을 일시중지하거나 재개합니다.

    • 기존 파이프라인 템플릿, 파이프라인 실행 또는 파이프라인 실행 일정을 삭제합니다.

파이프라인 실행이란 무엇인가요?

파이프라인 실행은 ML 파이프라인 정의의 실행 인스턴스입니다. 각 파이프라인 실행은 고유한 실행 이름으로 식별됩니다. Vertex AI Pipelines를 사용하면 다음 방법으로 ML 파이프라인 실행을 만들 수 있습니다.

  • 파이프라인의 컴파일된 YAML 정의 사용

  • 템플릿 갤러리에서 파이프라인 템플릿 사용

파이프라인 실행을 만드는 방법에 대한 자세한 내용은 파이프라인 실행을 참조하세요. 파이프라인 템플릿에서 파이프라인 실행을 만드는 방법에 대한 자세한 내용은 파이프라인 템플릿 만들기, 업로드, 사용을 참조하세요.

Vertex ML Metadata를 사용하여 파이프라인 실행 아티팩트와 메타데이터를 추적하고 저장하는 방법은 Vertex ML Metadata를 사용하여 ML 아티팩트 계보 추적을 참조하세요.

Vertex AI 실험을 사용하여 파이프라인 실행을 통해 ML 워크플로를 실험하는 방법은 실험에 파이프라인 실행 추가를 참조하세요.

Vertex ML Metadata를 사용하여 ML 아티팩트 계보 추적

파이프라인 실행에는 파이프라인 메타데이터를 포함한 여러 아티팩트 및 매개변수가 포함됩니다. ML 시스템의 성능 또는 정확성이 변화할 때 이를 이해하려면 ML 파이프라인 실행의 ML 아티팩트의 메타데이터와 계보를 분석해야 합니다. ML 아티팩트 계보에는 생성에 영향을 준 모든 요소, 그리고 여기에서 비롯된 아티팩트와 메타데이터가 포함됩니다.

임시 방편으로 이러한 메타데이터를 관리하는 것은 쉬운 일이 아니며, 시간도 오래 걸립니다. Vertex ML Metadata를 사용하여 이 메타데이터를 효율적으로 유지관리할 수 있습니다. Vertex AI Pipelines를 사용하여 ML 파이프라인을 실행하면 파이프라인 실행의 아티팩트와 메타데이터가 Vertex ML Metadata를 사용하여 저장됩니다.

Vertex ML Metadata를 사용하여 ML 아티팩트 계보 추적에 대한 자세한 내용은 파이프라인 아티팩트 계보 추적을 참조하세요.

파이프라인 실행 시각화, 분석, 비교에 대한 자세한 내용은 파이프라인 결과 시각화 및 분석을 참조하세요. Google Cloud 파이프라인 구성요소에 정의된 자사 아티팩트 유형 목록은 ML 메타데이터 아티팩트 유형을 참조하세요.

실험에 파이프라인 실행 추가

Vertex AI 실험을 사용하면 다양한 모델 아키텍처, 초매개변수, 학습 환경을 추적하고 분석하여 ML 사용 사례에 가장 적합한 모델을 찾을 수 있습니다. ML 파이프라인 실행을 만든 후 이를 실험 또는 실험 실행과 연결할 수 있습니다. 이렇게 하면 초매개변수, 학습 단계 수, 반복과 같은 여러 가지 변수 집합을 실험할 수 있습니다.

Vertex AI 실험을 사용한 ML 워크플로 실험에 대한 자세한 내용은 Vertex AI 실험 소개를 참조하세요.

다음 단계