머신러닝(ML) 워크플로에는 데이터 준비 및 분석, 모델 학습 및 평가, 학습된 모델의 프로덕션 배포, ML 아티팩트 추적, 종속 항목 이해 등의 단계가 포함됩니다. 이 같은 단계를 매번 임시로 관리하는 것은 어려울 수 있으며 시간 또한 많이 소요됩니다.
MLOps는 ML 워크플로를 자동화, 관리, 감사하는 데 도움이 되는 DevOps 방식을 적용하는 방법입니다. AI Platform Pipelines는 워크플로의 단계를 파이프라인으로 조정할 수 있는 플랫폼을 제공하여 MLOps 구현을 지원합니다. ML 파이프라인은 이동성 및 재현 가능성을 갖춘 ML 워크플로의 정의입니다.
AI Platform 파이프라인을 통해 TensorFlow Extended(TFX)로 Kubeflow Pipelines를 설정하는 데 따른 어려움을 해소하여 MLOps를 더 쉽게 시작할 수 있습니다. Kubeflow Pipelines는 Kubernetes에서 ML 파이프라인을 실행, 모니터링, 감사, 관리하는 오픈소스 플랫폼입니다. TFX는 엔드 투 엔드 ML 워크플로를 조정하는 ML 파이프라인을 빌드하는 오픈소스 프로젝트입니다.
Kubeflow 및 Kubeflow Pipelines 플랫폼 정보
Kubeflow는 Kubernetes에서 ML 워크로드를 실행하는 오픈소스 도구입니다. Kubeflow Pipelines는 파이프라인이라는 ML 워크플로를 구축하고 배포하기 위한 플랫폼을 제공하는 Kubeflow의 구성요소입니다.
TensorFlow Extended 정보
TFX는 TensorFlow 기반 ML 워크플로를 파이프라인으로 정의하는 데 사용할 수 있는 오픈소스 프로젝트입니다. TFX는 데이터를 수집 및 변환하고, 모델을 학습 및 평가하고, 추론을 위해 학습된 모델을 배포하는 등의 작업에 재사용할 수 있는 구성요소를 제공합니다. TFX 구성요소를 재사용하면 단계별 커스텀 구성요소를 만들지 않고도 ML 프로세스를 조정할 수 있습니다.
AI Platform Pipelines 정보
AI Platform 파이프라인은 다음과 같은 어려움을 줄여줍니다.
- Google Kubernetes Engine 클러스터 설정
- Cloud Storage 버킷 만들기
- Kubeflow Pipelines 설치
AI Platform 파이프라인을 사용하면 15분 내로 Kubeflow Pipelines 클러스터를 설정할 수 있으므로 ML 파이프라인을 빠르게 시작할 수 있습니다. AI Platform Pipelines는 또한 Cloud Storage 버킷을 생성하여 쉽게 파이프라인 튜토리얼을 실행하고 TFX 파이프라인 템플릿을 시작할 수 있게 합니다.
ML 파이프라인 이해
ML 파이프라인은 컨테이너 기반의 이동성 및 확장성을 가진 ML 워크플로입니다. ML 파이프라인은 일련의 입력 매개변수와 작업 목록으로 구성됩니다. 각 작업은 파이프라인 구성요소의 인스턴스입니다.
ML 파이프라인을 사용하여 다음 작업을 수행할 수 있습니다.
- MLOps 전략을 적용하여 반복적인 프로세스를 자동화합니다.
- ML 워크플로를 다양한 초매개변수, 학습 단계 또는 반복 횟수 등의 모음과 함께 실행하여 실험합니다.
- 파이프라인의 워크플로를 재사용하여 새 모델을 학습시킵니다.
TensorFlow Extended 파이프라인 템플릿 또는 Kubeflow Pipelines SDK를 사용하여 파이프라인을 빌드할 수 있습니다.
- 가이드를 따라 TFX 파이프라인 템플릿에서 파이프라인을 빌드하는 방법을 알아보세요.
- Kubeflow 파이프라인 빌드에 대해 자세히 알아보세요.
파이프라인 구성요소 이해
파이프라인 구성요소는 데이터 사전 처리, 데이터 변환, 모델 학습 등의 파이프라인 워크플로에서 한 단계를 수행하는 독립 실행형 코드 집합입니다.
구성요소는 일련의 입력 매개변수, 출력 집합, 컨테이너 이미지의 위치로 구성됩니다. 구성요소의 컨테이너 이미지는 구성요소의 실행 가능한 코드와 코드가 실행되는 환경의 정의를 포함하는 패키지입니다.
파이프라인 워크플로 이해
파이프라인의 각 작업은 파이프라인의 워크플로에서 단계를 수행합니다. 작업은 파이프라인 구성요소의 인스턴스이므로 작업에는 입력 매개변수, 출력, 컨테이너 이미지가 있습니다. 작업 입력 매개변수는 파이프라인의 입력 매개변수에서 또는 이 파이프라인의 다른 작업 출력에 따라 설정할 수 있습니다. Kubeflow Pipelines는 이러한 종속 항목을 사용하여 파이프라인의 워크플로를 방향성 비순환 그래프(DAG)로 정의합니다.
다음과 같은 작업이 포함된 파이프라인을 예시로 들어 보겠습니다.
- 사전 처리: 이 작업에서 학습 데이터를 준비합니다.
- 학습: 이 작업에서 사전 처리된 학습 데이터를 사용하여 모델을 학습시킵니다.
- 예측: 이 작업에서 학습된 모델을 ML 서비스로 배포하고 테스트 데이터세트에 대한 예측을 가져옵니다.
- 혼동 행렬: 이 작업에서 예측 작업의 결과를 사용하여 혼동 행렬을 만듭니다.
- ROC: 이 작업에서 예측 작업의 결과를 사용하여 수신자 조작 특성(ROC) 곡선 분석을 수행합니다.
워크플로 그래프를 생성하기 위해 Kubeflow Pipelines SDK는 작업 종속 항목을 분석합니다.
- 사전 처리 작업은 다른 작업과는 관계가 없으므로 워크플로의 첫 번째 작업이 될 수도 있고 다른 작업과 동시에 실행할 수도 있습니다.
- 학습 작업에서는 사전 처리 작업에서 생성된 데이터를 사용하므로 사전 처리 후에 학습을 진행해야 합니다.
- 예측 작업에서는 학습 작업에서 생성된 학습 모델을 사용하므로 학습 후에 예측을 진행해야 합니다.
- 혼동 행렬 빌드 및 ROC 분석 작업에서는 예측 작업의 결과를 사용하므로 예측이 완료된 후에 진행해야 합니다. 혼동 행렬 빌드 및 ROC 분석 작업은 모두 예측 작업의 결과를 사용하므로 동시에 진행할 수 있습니다.
이 분석에 따라 Kubeflow Pipelines 시스템은 사전 처리, 학습, 예측 작업을 순차적으로 실행한 다음 혼동 행렬과 ROC 작업을 동시에 실행합니다.
다음 단계
- AI Platform 파이프라인 빠른 시작 가이드에 따라 Kubeflow Pipelines를 설치하고 첫 번째 ML 파이프라인을 실행하는 방법을 알아보세요.