Vertex AI Pipelines를 사용하면 ML 파이프라인을 사용하여 ML 워크플로를 조정해 서버리스 방식으로 머신러닝(ML) 시스템을 자동화, 모니터링, 제어할 수 있습니다. 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 워크플로의 특정 단계를 수행하는 독립 실행형 코드 집합입니다. 구성요소는 일반적으로 다음 요소로 구성됩니다.
입력: 구성요소에는 입력 매개변수와 아티팩트가 하나 이상 있을 수 있습니다.
출력: 모든 구성요소에는 출력 매개변수나 아티팩트가 하나 이상 있습니다.
Logic: 구성요소의 실행 가능한 코드입니다. 컨테이너화된 구성요소의 경우 로직에는 환경 또는 구성요소가 실행되는 컨테이너 이미지의 정의도 포함됩니다.
구성요소는 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 파이프라인의 수명 주기는 다음과 같은 개략적인 단계로 구성됩니다.
정의: ML 파이프라인 및 해당 태스크를 정의하는 프로세스를 파이프라인 빌드라고도 합니다. 이 단계에서는 다음 단계를 수행해야 합니다.
ML 프레임워크 선택: Vertex AI Pipelines는 TFX 또는 Kubeflow Pipelines 프레임워크를 통해 정의된 ML 파이프라인을 지원합니다. 파이프라인을 빌드할 프레임워크를 선택하는 방법은 파이프라인을 정의하기 위한 인터페이스를 참조하세요.
파이프라인 태스크 정의 및 파이프라인 구성: 자세한 내용은 파이프라인 빌드를 참조하세요.
컴파일: 이 단계에서는 다음 단계를 수행해야 합니다.
ML 파이프라인을 실행하는 데 사용할 수 있는 중간 표현을 위해 컴파일된 YAML 파일에 ML 파이프라인 정의를 생성합니다.
선택사항: 컴파일된 YAML 파일을 파이프라인 템플릿으로 저장소에 업로드하고 이를 다시 사용하여 ML 파이프라인 실행을 만들 수 있습니다.
실행: 컴파일된 YAML 파일이나 파이프라인 템플릿을 사용하여 ML 파이프라인의 실행 인스턴스를 만듭니다. 파이프라인 정의의 실행 인스턴스를 파이프라인 실행이라고 합니다.
일회성 파이프라인 실행을 만들거나 스케줄러 API를 사용하여 동일한 ML 파이프라인 정의에서 반복되는 파이프라인 실행을 만들 수 있습니다. 기존 파이프라인 실행을 클론할 수도 있습니다. ML 파이프라인을 실행할 인터페이스를 선택하는 방법은 파이프라인을 실행할 인터페이스를 참조하세요. 파이프라인 실행을 만드는 방법에 대한 자세한 내용은 파이프라인 실행을 참조하세요.
실행 모니터링, 시각화, 분석: 파이프라인 실행을 만든 후 다음을 수행하여 파이프라인 실행의 성능, 상태, 비용을 모니터링할 수 있습니다.
파이프라인 오류에 대한 이메일 알림을 구성합니다. 자세한 내용은 이메일 알림 구성을 참조하세요.
Cloud Logging을 사용하여 모니터링 이벤트의 로그 항목을 만듭니다. 자세한 내용은 파이프라인 작업 로그 보기를 참조하세요.
파이프라인 실행을 시각화, 분석, 비교합니다. 자세한 내용은 파이프라인 결과 시각화 및 분석을 참조하세요.
BigQuery로 Cloud Billing 내보내기를 사용하여 파이프라인 실행 비용을 분석합니다. 자세한 내용은 파이프라인 실행 비용 이해를 참조하세요.
선택사항: 파이프라인 실행 중지 또는 삭제: 파이프라인 실행을 활성 상태로 유지할 수 있는 기간에 대한 제한은 없습니다. 원하는 경우 다음을 수행할 수 있습니다.
파이프라인 실행을 중지합니다.
파이프라인 실행 일정을 일시중지하거나 재개합니다.
기존 파이프라인 템플릿, 파이프라인 실행 또는 파이프라인 실행 일정을 삭제합니다.
파이프라인 실행이란 무엇인가요?
파이프라인 실행은 ML 파이프라인 정의의 실행 인스턴스입니다. 각 파이프라인 실행은 고유한 실행 이름으로 식별됩니다. Vertex AI Pipelines를 사용하면 다음 방법으로 ML 파이프라인 실행을 만들 수 있습니다.
파이프라인의 컴파일된 YAML 정의 사용
템플릿 갤러리에서 파이프라인 템플릿 사용
파이프라인 실행을 만드는 방법에 대한 자세한 내용은 파이프라인 실행을 참조하세요. 파이프라인 템플릿에서 파이프라인 실행을 만드는 방법은 파이프라인 템플릿 만들기, 업로드, 사용을 참조하세요.
Vertex ML Metadata를 사용하여 파이프라인 실행 메타데이터를 캡처하고 저장하는 방법은 Vertex ML Metadata를 사용하여 ML 아티팩트 계보 추적을 참조하세요.
Vertex AI Experiments를 사용하여 파이프라인 실행을 통해 ML 워크플로를 실험하는 방법은 실험에 파이프라인 실행 추가를 참조하세요.
ML 아티팩트 계보 추적
파이프라인 실행에는 파이프라인 메타데이터를 포함한 여러 아티팩트와 매개변수가 포함됩니다. ML 시스템의 성능 또는 정확성이 변화할 때 이를 이해하려면 ML 파이프라인 실행의 ML 아티팩트의 메타데이터와 계보를 분석해야 합니다. ML 아티팩트 계보에는 생성에 영향을 준 모든 요소뿐 아니라 이 아티팩트에서 비롯된 아티팩트에 대한 참조와 메타데이터도 포함됩니다.
계보 그래프를 사용하면 업스트림 근본 원인 및 다운스트림 영향을 분석할 수 있습니다. 각 파이프라인 실행은 실행에 입력되고, 실행 내에서 구체화되고, 실행에서 출력되는 매개변수 및 아티팩트의 계보 그래프를 생성합니다. 이 계보 그래프를 구성하는 메타데이터는 Vertex ML Metadata에 저장됩니다. 이 메타데이터는 Dataplex에도 동기화할 수 있습니다.
Vertex ML Metadata를 사용하여 파이프라인 아티팩트 계보 추적
Vertex AI Pipelines를 사용하여 파이프라인을 실행하면 파이프라인에서 소비되고 생성되는 모든 매개변수 및 아티팩트 메타데이터가 Vertex ML Metadata에 저장됩니다. Vertex ML Metadata는 TensorFlow에서 ML Metadata 라이브러리의 관리형 구현이며, 커스텀 메타데이터 스키마의 등록 및 작성을 지원합니다. Vertex AI Pipelines에서 파이프라인 실행을 만들면 파이프라인 실행의 메타데이터는 파이프라인을 실행하는 프로젝트 및 리전의 기본 메타데이터 저장소에 저장됩니다.
Dataplex를 사용하여 파이프라인 아티팩트 계보 추적
Dataplex는 Vertex AI, BigQuery, Cloud Composer와 같은 Google Cloud 내의 여러 시스템과 통합된 전역 프로젝트 간 데이터 패브릭입니다. Dataplex 내에서 파이프라인 아티팩트를 검색하고 계보 그래프를 볼 수 있습니다. 아티팩트 충돌을 방지하기 위해 Dataplex에 카탈로그화된 모든 리소스는 정규화된 이름(FQN)으로 식별됩니다.
Vertex ML Metadata 및 Dataplex를 사용한 ML 아티팩트 계보 추적에 대한 자세한 내용은 파이프라인 아티팩트 계보 추적을 참조하세요.
파이프라인 실행 시각화, 분석, 비교에 대한 자세한 내용은 파이프라인 결과 시각화 및 분석을 참조하세요. Google Cloud 파이프라인 구성요소에 정의된 퍼스트 파티 아티팩트 유형의 목록은 ML 메타데이터 아티팩트 유형을 참조하세요.
실험에 파이프라인 실행 추가
Vertex AI Experiments를 사용하면 다양한 모델 아키텍처, 초매개변수, 학습 환경을 추적 및 분석하여 ML 사용 사례에 가장 적합한 모델을 찾을 수 있습니다. ML 파이프라인 실행을 만든 후 실험이나 실험 실행과 연결할 수 있습니다. 이렇게 하면 초매개변수, 학습 단계 수 또는 반복과 같은 다양한 변수 집합을 실험할 수 있습니다.
Vertex AI Experiments를 사용하여 ML 워크플로를 실험하는 방법에 대한 자세한 내용은 Vertex AI Experiments 소개를 참조하세요.