Vertex Pipelines 소개

머신러닝 작업(MLOps)은 머신러닝(ML) 시스템에 DevOps 전략을 적용하는 방법입니다. DevOps 전략을 사용하면 코드 변경을 효율적으로 빌드 및 출시하고 시스템을 모니터링하여 안정성 목표를 달성할 수 있습니다. MLOps를 통해 ML 시스템을 모니터링하고 이해하는 방식으로 데이터 수집에서 프로덕션에 모델을 배포하는데 이르기까지 걸리는 시간을 줄일 수 있습니다.

Vertex Pipelines는 ML 워크플로를 서버리스 방식으로 조정하며 Vertex ML 메타데이터를 사용하여 워크플로의 아티팩트를 저장하여 ML 시스템을 자동화, 모니터링, 제어하는 데 도움이 됩니다. ML 워크플로의 아티팩트를 Vertex ML 메타데이터에 저장하여 워크플로 아티팩트의 계보를 분석할 수 있습니다. 예를 들어 ML 모델의 계보에는 학습 데이터, 초매개변수, 모델을 만드는 데 사용된 코드가 포함될 수 있습니다.

ML 파이프라인 이해

Vertex Pipelines에서 ML 워크플로를 조정하려면 먼저 워크플로를 파이프라인으로 설명해야 합니다. ML 파이프라인은 컨테이너 기반의 이동성 및 확장성을 가진 ML 워크플로입니다. ML 파이프라인은 일련의 입력 매개변수와 단계 목록으로 구성됩니다. 각 단계는 파이프라인 구성요소의 인스턴스입니다.

ML 파이프라인을 사용하여 다음 작업을 수행할 수 있습니다.

  • MLOps 전략을 적용하여 반복적인 프로세스를 자동화 및 모니터링합니다.
  • ML 워크플로를 다양한 초매개변수, 학습 단계 또는 반복 횟수 등의 모음과 함께 실행하여 실험합니다.
  • 파이프라인의 워크플로를 재사용하여 새 모델을 학습시킵니다.

Vertex Pipelines를 사용하여 Kubeflow Pipelines SDK 또는 TensorFlow Extended를 사용하여 빌드된 파이프라인을 실행할 수 있습니다. Kubeflow Pipelines SDK와 TFX 중에서 선택에 대해 자세히 알아보세요.

파이프라인 구성요소 이해

파이프라인 구성요소는 데이터 사전 처리, 데이터 변환, 모델 학습과 같은 파이프라인 워크플로의 한 단계를 수행하는 독립 실행형 코드 집합입니다.

구성요소는 입력 집합, 출력 집합, 컨테이너 이미지의 위치로 구성됩니다. 구성요소의 컨테이너 이미지는 구성요소의 실행 가능한 코드와 코드가 실행되는 환경의 정의를 포함하는 패키지입니다.

커스텀 구성요소를 빌드하거나 사전 빌드된 구성요소를 재사용할 수 있습니다. 파이프라인에서 AutoML과 같은 Vertex AI의 기능을 사용하려면 Google Cloud 파이프라인 구성요소를 사용합니다. 파이프라인에서 Google Cloud 파이프라인 구성요소 사용에 대해 자세히 알아보세요.

파이프라인 워크플로 이해

파이프라인의 각 단계는 파이프라인 워크플로의 일부를 수행합니다. 단계는 파이프라인 구성요소의 인스턴스이므로 단계에는 입력, 출력, 컨테이너 이미지가 있습니다. 단계 입력은 파이프라인의 입력에서 설정되거나 이 파이프라인 내의 다른 단계의 출력에 따라 설정될 수 있습니다. 이러한 종속 항목은 파이프라인의 워크플로를 방향성 비순환 그래프(DAG)로 정의합니다.

예를 들어 다음과 같은 단계의 파이프라인을 가정해 보겠습니다.

  • 데이터 수집: 이 단계는 학습 데이터를 파이프라인으로 로드합니다.
  • 데이터 사전 처리: 이 단계는 수집된 학습 데이터를 사전 처리합니다.
  • 모델 학습: 이 단계에서는 사전 처리된 학습 데이터를 사용하여 모델을 학습시킵니다.
  • 모델 평가: 이 단계는 학습된 모델을 평가합니다.
  • 배포: 이 단계에서는 예측을 위해 학습된 모델을 배포합니다.

파이프라인을 컴파일할 때 파이프라인 SDK (Kubeflow Pipelines SDK 또는 TFX)는 단계 간의 데이터 종속 항목을 분석하여 워크플로 그래프를 생성합니다.

  • 데이터 수집 단계는 다른 작업과는 관계가 없으므로 워크플로의 첫 번째 단계가 될 수도 있고 다른 단계와 동시에 실행할 수도 있습니다.
  • 사전 처리 데이터 단계는 데이터 수집 단계에서 생성된 데이터를 사용하므로 데이터 수집 후에 데이터를 사전 처리해야 합니다.
  • 모델 학습 단계에서는 사전 처리된 학습 데이터를 사용하므로 데이터를 사전 처리한 후 모델을 학습시켜야 합니다.
  • 모델 평가 및 학습된 모델 배포는 모두 학습된 모델을 사용하므로 모델 학습 단계 후에 진행해야 합니다. 모델 평가와 예측을 위해 학습된 모델을 배포하는 작업은 모두 모델 학습 단계에 있기 때문에 동시에 발생할 수 있습니다.

이 분석을 기반으로 Vertex Pipelines는 수집 데이터, 데이터 사전 처리, 모델 학습 단계를 순차적으로 실행한 다음 모델 평가 및 배포 단계를 동시에 실행합니다.

ML 아티팩트 계보 이해

ML 시스템의 성능 또는 정확도 변경을 이해하려면 파이프라인 실행의 메타데이터와 ML 아티팩트의 계보를 분석할 수 있어야 합니다. 아티팩트의 계보에는 아티팩트 생성에 영향을 준 모든 요소뿐 아니라 이 아트팩트에서 비롯된 아티팩트와 메타데이터도 포함됩니다. 임시로 이러한 메타데이터를 관리하는 것은 어렵고 시간이 오래 걸릴 수 있습니다.

예를 들어 모델의 계보에 다음이 포함될 수 있습니다.

  • 모델을 만드는 데 사용된 학습, 테스트, 평가 데이터입니다.
  • 모델 학습 중에 사용되는 초매개변수입니다.
  • 모델을 학습시키는 데 사용된 코드입니다.
  • 모델의 정확도와 같은 학습 및 평가 프로세스에서 기록된 메타데이터입니다.
  • 일괄 예측 결과와 같이 이 모델에서 비롯된 아티팩트입니다.

Vertex Pipelines를 사용하여 파이프라인을 실행하면 파이프라인 실행의 아티팩트와 메타데이터가 Vertex ML Metadata를 사용하여 저장됩니다. 이 메타데이터를 사용하면 다음과 같은 질문에 대한 답을 얻을 수 있습니다.

  • 특정 파이프라인 실행에서 특별히 정확한 모델을 만든 이유는 무엇인가요?
  • 가장 정확한 모델을 생성한 파이프라인 실행과 모델 학습에 사용된 초매개변수는 무엇인가요?
  • 파이프라인의 단계에 따라 Vertex ML Metadata를 사용하여 시스템 거버넌스 질문에 답할 수 있습니다. 예를 들어 메타데이터를 사용하여 특정 시점에 프로덕션 단계에 있는 모델 버전을 파악할 수 있습니다.

파이프라인 실행 시각화 또는 ML 아티팩트 계보 분석에 대해 자세히 알아보세요.

다음 단계