본문 바로가기

Docker & Kubenetes

Kubeflow 개요 및 특징

Kubeflow는 End-toEnd AI 플랫폼으로, MLOps를 위한 머신러닝 워크플로우로 점차 상용화 되어가고 있습니다.
이번에는 Kubeflow를 한번 알아보겠습니다

Kubeflow 개요

AI플랫폼은 머신러닝 워크플로우를 자동화 해주는 역할로, 머신러닝 모델을 개발하는 모든 과정을 쉽게 개발하고 배포할 수 있도록 해줍니다.

AI 플랫폼으로 퍼블릭 클라우드에는 구글 버텍스 AI(Google Vertex AI), 아마존 세이지메이커(Amazon SageMaker), 애저 머신러닝(Azure Machine Learning) 등이 있으며, 오픈소스로는 쿠브플로우(Kubeflow)가 유명합니다.

Kubeflow는 모델 학습부터 모델 배포 단계까지 모든 작업에 필요한 도구와 환경을 쿠버네티스(Kubernetes) 위에서 쿠브플로우 컴포넌트를 제공하고, 대시보드 형태의 웹브라우저를 통해 Notebooks, Experiments (AutoML), Experiments (KFP) 등의 컴포넌트를 이용할 수 있습니다.

Kubeflow Notebooks

파이썬 코드를 작성하고 실행할 수 있는 쿠버네티스 환경의 주피터(Jupyter) Notebook 을 제공하며 데이터 전처리와 데이터 분석을 수행하거나 ML모델 코드를 개발할 수 있습니다.

AutoML

머신러닝 모델의 예측 정확도와 성능을 높이기 위한 노드의 구조, 가중치 수정 등 반복 실험을 자동화하는 도구로 파라미터를 최적화하는 작업을 할 수 있습니다.

KFP

머신러닝 워크플로우를 구축하고 배포하기 위한 머신러닝 워크플로우 자동화 도구로, 모델을 개발하고 성능을 향상시키는 과정에서 많은 데이터 변환, 튜닝, 학습 등의 단계를 반복 수행하게 되는데, KFP가 파이프라인과 컴포넌트를 재사용하여 다양한 실험을 빠르고 쉽게 수행할 수 있도록 합니다.

Amazon SageMaker 와 비교

Amazon SageMaker와 비교하여 특징을 간략히 알아보겠습니다.

Amazon SageMaker

- fully-managed 서비스로 높은 편의성

- AWS 리소스들과 높은 통합성

- 쿠브플로우에서 아직 지원하지 않는 컴포넌트들도 통합 환경으로 제공

- 고비용

Kubeflow

- 높은 이식성, 쿠버네티스 환경이면(AWS, GCP, on-prem 등)배포 가능
- 기존 쿠버네티스 환경에서 호환 가능
- 오픈 소스
- 부족한 레퍼런스와 최근에서야 활발한 패치

풍족한 재정, 적은 인력 및 전문성이면 Amazon SageMaker를, 오픈 소스를 활용한 비용 절감과 쿠버네티스 전문가가와 데이터 사이언티스트가 있다면  Kubeflow가 적절해 보입니다.

참고로 컬리에서는 Amazon SageMaker와 Kubeflow 중 
비용 문제와 함께 기술 내재화 측면과 사내에 데이터플랫폼 팀이 있으며 기존에 쿠버네티스 환경을 활발히 운영하고 있었던 측면에서 Kubeflow를 채택했다고 합니다.

출처 

에스코어(주)의 쿠브플로우 인사이트

컬리의 Kubeflow 구축기