Kubeflow Pipelines
Kubeflow Pipelines
컨테이너 기반 머신러닝 워크플로를 쿠버네티스에서 만들고 실행하게 해 주는 플랫폼이 Kubeflow Pipelines(KFP)예요. KFP Python SDK로 컴포넌트와 파이프라인을 작성하고, 그것을 중간 표현(IR) YAML로 컴파일한 뒤, 오픈소스 KFP 백엔드나 Google Cloud Vertex AI Pipelines 같은 KFP 호환 백엔드에 제출해서 실행해요.
왜 Kubeflow Pipelines인가요
데이터 사이언티스트와 ML 엔지니어에게 KFP는 이런 일을 가능하게 해 줘요.
- end-to-end ML 워크플로를 Python 네이티브로 작성해요.
- 완전히 커스텀한 ML 컴포넌트를 만들거나, 기존 에코시스템의 컴포넌트를 그대로 활용해요.
- 파이프라인 컴포넌트 사이에서 파라미터와 ML 아티팩트를 쉽게 주고받아요.
- 파이프라인 정의·실행(run)·실험·ML 아티팩트를 관리하고 추적하며 시각화해요.
- 태스크 병렬 실행과 캐싱으로 컴퓨팅 자원을 효율적으로 써서 중복 실행을 줄여요.
- 컨테이너를 새로 만들고 유지하는 부담을 최소화하고, 실험·반복을 가볍고 Python 중심으로 유지해요.
- 플랫폼 중립적인 IR YAML 파이프라인 정의 덕분에 파이프라인을 여러 플랫폼에 이식해서 실행할 수 있어요.
파이프라인이란
파이프라인은 여러 컴포넌트를 하나로 묶어 계산 방향성 비순환 그래프(DAG)를 만든 워크플로 정의예요. 실행 시점에는 컴포넌트 하나가 컨테이너 실행 하나에 대응하고, 그 컨테이너가 ML 아티팩트를 만들 수 있어요. 파이프라인은 제어 흐름(control flow)도 가질 수 있어요.
더 알아보기
- Kubeflow 소개 — Kubeflow 전체 개요
- Kubeflow Notebooks — 대화형 개발 환경
- Training Operator — 분산 학습