이 리포트는 Kubeflow와 Kubernetes를 기반으로 한 MLOps 솔루션의 현황을 분석하고, 시장에서의 위치와 구축 사례를 통해 그 가치를 평가합니다. 주요 분석 내용으로는 Kubeflow의 기능적 특징, 다양한 모델 서빙 프레임워크 지원, 다중 사용자 환경에서의 보안 강화, 그리고 Kubeflow 기반의 MLOps를 지원하는 주요 업체와 스타트업의 사례를 포함합니다. 삼성SDS, IBM, AWS 등의 대기업 및 컬리, 당근마켓 등 주요 스타트업들이 Kubeflow를 활용한 성공 사례로, AI 및 머신러닝 프로젝트에서의 실행 가능성과 효율성을 입증하고 있습니다. 이를 통해 기업들은 Kubeflow의 강력한 특징과 기능을 바탕으로 MLOps 도입 시 유리한 점과 주의를 기울여야 할 단점을 파악할 수 있습니다.
Kubeflow의 메인 인터페이스는 중앙 대시보드입니다. 사용자는 이 페이지를 통해 대부분의 Kubeflow 컴포넌트에 접근할 수 있습니다.
Kubeflow에서는 JupyterHub를 통해 데이터 사이언티스트가 노트북 환경을 벗어나지 않은 채로 클러스터와 관련된 작업을 수행할 수 있도록 지원합니다. 관련하여, Kubeflow는 데이터 사이언티스트가 효율적으로 작업할 수 있도록 JupyterHub를 통합하였습니다.
Kubeflow에서는 오퍼레이터를 통해 분산 학습 작업을 관리합니다. 이 오퍼레이터는 Kubernetes API로 확장하여 리소스 상태를 생성, 관리, 조작하며, 중요한 배포 컨셉들을 자동화할 수 있습니다.
Kubeflow Pipelines는 Argo Workflows 기반으로 머신러닝 애플리케이션을 오케스트레이트합니다. Kubeflow Pipelines의 주요 구성 요소와 그 역할은 데이터 흐름 및 모델 성능을 조율하는 데 중요한 역할을 합니다.
Kubeflow는 TFServing, Seldon Serving, PyTorch Serving 등 다양한 모델 서빙 프레임워크를 지원하며, KFServing을 통해 모델 추론 문제를 일반화합니다.
Kubeflow의 최신 버전은 다중 사용자 격리를 도입하여 사용자들이 리소스를 안전하게 공유할 수 있게 합니다. 이를 통해 다른 팀이나 사용자가 같은 리소스 풀을 공유하는 경우에도 보안을 강화할 수 있습니다.
삼성SDS는 클라우드 기술 백서를 통해 Kubeflow 기반의 AI 개발 플랫폼을 제공하고 있습니다. 이 플랫폼은 AI 모델 개발과 최적화 단계를 중심으로 구축되었으며, 성능 좋은 모델을 확보하고자 하는 목표를 가지고 있습니다.
IBM은 IBM Cloud Pak for Data를 통해 Kubeflow를 통합 제공하여 다양한 AI와 데이터 애널리틱스 서비스를 지원합니다.
AWS는 Amazon EKS를 통해 Kubeflow 관리형 서비스를 제공하며, 쿠버네티스 기반의 강력한 인프라를 제공합니다.
ITMAYA는 고객 맞춤형 Kubeflow 솔루션을 제공하여 기업의 특화된 AI 요구사항을 충족하고 있습니다.
컬리의 데이터서비스개발팀은 장바구니 추천 모델을 실시간으로 서빙하기 위해 AWS 환경에서 Kubeflow를 도입했습니다. 추천 모델의 실시간 서빙을 위해 AWS의 EKS 클러스터를 활용했으며, 데이터는 BigQuery에 적재하고 모니터링은 Datadog과 Slack을 통해 수행합니다. 서빙 프레임워크로는 성능 테스트 결과에 따라 BentoML 대신 TorchServe를 최종 선택했습니다. 또한, 다양한 배포 전략을 사용하여 무중단 배포를 구현하려고 했으나 일부 다운타임이 발생함을 확인했습니다.
당근마켓은 기존에 Google Kubernetes Engine(GKE)에서 실행되었던 Kubeflow Pipeline(KFP)을 Google Cloud Platform의 Vertex AI Pipelines로 마이그레이션했습니다. 이 변화를 통해 운영의 부담을 줄이고 ML 워크플로우 개발에 집중할 수 있었습니다. Vertex AI Pipelines는 데이터 전처리, 모델 훈련/평가 및 배포 등 모든 ML 단계를 자동화하여 효율적인 운영을 지원합니다.
아인트랩은 다양한 고객의 요구사항을 반영한 맞춤형 Kubeflow MLOps 솔루션을 제공하고 있습니다. 고객들은 자신들의 데이터와 ML 모델을 기반으로 효율적으로 모델을 훈련하고 배포할 수 있으며, 아인트랩의 주요 목표는 고객의 ML 운영 효율성을 극대화하는 것입니다.
버즈빌은 개인화된 모바일 광고 플랫폼을 운영하기 위해 Kubeflow를 도입했습니다. 이를 통해 사용자 데이터 분석 및 광고 추천 모델의 실시간 운영을 효율적으로 관리하고 있습니다.
스타일쉐어는 고객에게 더 나은 상품 추천을 제공하기 위해 Kubeflow를 도입했습니다. 이를 통해 추천 시스템의 모델 학습과 업데이트를 자동화하고 있습니다.
아이디어스는 공예 및 아트 플랫폼에서 고객 맞춤형 추천을 위해 Kubeflow를 도입했습니다. 이를 통해 공예 작품과 아트 콘텐츠에 대한 추천 모델을 효율적으로 운영하고 있습니다.
Kubernetes는 클라우드 환경에서 컨테이너화된 애플리케이션의 자동 배포, 스케일링 및 운영을 지원하는 오픈 소스 시스템입니다. Kubeflow는 Kubernetes를 기반으로 하여 머신러닝 워크플로우를 관리합니다. Kubeflow는 Kubernetes의 유연성과 확장성을 활용하여 머신러닝 실험, 배포 및 운영을 간소화합니다. Kubeflow의 메인 인터페이스는 센트럴 대시보드(central dashboard)입니다. 사용자는 이 페이지를 통해 대부분의 Kubeflow 컴포넌트에 접근할 수 있습니다.
Kubeflow는 데이터 사이언티스트가 JupyterHub 노트북 환경을 통해 실험에서 배포까지의 전 과정을 관리할 수 있도록 합니다. JupyterHub는 데이터 사이언티스트가 노트북 환경을 벗어나지 않은 채로 클러스터와 관련된 작업을 수행할 수 있도록 노트북 이미지에 kubectl을 포함하였습니다. 이를 통해 데이터 사이언티스트는 더 효율적으로 작업할 수 있도록 지원받습니다.
Prometheus와 Grafana는 Kubeflow에서 모델 성능과 데이터 흐름을 실시간으로 모니터링하는 데 사용됩니다. 이 두 도구는 데이터 흐름과 성능 지표를 시각화하여 사용자에게 필요한 정보를 제공함으로써, 실시간으로 시스템의 상태를 파악하고 개선할 수 있는 기회를 제공합니다.
S3와 GitOps는 Kubeflow에서 데이터 접근성과 보안을 향상시키는 데 중요한 역할을 합니다. S3는 대규모 데이터 저장소를 운영할 수 있게 하며, GitOps는 버전 관리 및 배포 코드를 자동화하여 안정성과 효율성을 도모합니다. 이는 현대적 데이터 아키텍처에서 데이터 탐색, 변환, 처리에 필수적인 요소로 자리잡고 있습니다.
Kubeflow는 다양한 AI 모델 개발 및 운영에 필요한 비용을 절감할 수 있는 강력한 기능을 제공합니다. Kubernetes 기반의 대규모 분산 클러스터 환경을 통해 자원 요청 시 컴퓨팅(CPU/GPU) 및 스토리지 자원을 필요에 따라 동적으로 할당하고 Auto Scaling을 통해 확장성과 가용성을 보장합니다. 이를 통해 기업은 AI 프로젝트에 필요한 인프라 비용을 효율적으로 관리할 수 있습니다. 기존에 1주일 이상 걸리던 AI 개발 환경 구축이 Kubeflow를 통해 2~3분 이내로 단축되었습니다. 삼성SDS의 사례는 Kubeflow 도입을 통해 AI 개발 속도를 대폭 단축한 예입니다.
Kubeflow는 강력한 기능을 가지고 있지만, 초기에 도입하는 과정에서의 어려움이 있습니다. AWS SageMaker와 비교했을 때, 자원 관리 및 운영이 더 복잡하며, 초기 설정과 설치 과정이 어렵다는 평가가 있습니다. 특히, 쿠버네티스 환경에 익숙하지 않은 팀에게는 진입 장벽이 될 수 있습니다. GPU Driver와 CUDA 버전이 맞지 않으면 GPU 미인식으로 AI 모델 실행이 불가하기 때문에, 테스트를 거쳐 A100에 맞는 GPU Driver와 CUDA library 최적의 버전을 설치해야 합니다.
Kubeflow는 보안 강화와 효율적인 운영 관리를 위한 다양한 기능을 제공합니다. 자원에 대한 인증 및 권한 관리 기능, 멀티 테넌시(Multi-tenancy)를 지원하여 여러 사용자 간의 효율적인 자원 관리와 보안을 강화할 수 있습니다. 오픈소스 생태계와의 연계를 통해 지속적인 업데이트와 커뮤니티 지원을 받을 수 있습니다.
Kubeflow는 오픈 소스 플랫폼으로, Kubernetes 기반의 AI 개발, 배포, 운영 프로세스를 효율적으로 관리할 수 있는 솔루션으로 자리잡아가고 있습니다. 삼성SDS와 AWS 같은 주요 기업들은 Kubeflow의 도입을 통해 AI 프로젝트의 속도를 단축시키고, 모델 운영의 효율성을 증대시켰습니다. 그러나 Kubeflow의 도입 초기 어려움과 관리 복잡성은 명백한 도전 과제가 될 수 있으므로, 기업은 이러한 요소들을 종합적으로 고려해야 합니다. 향후, Kubeflow는 계속해서 MLOps 시장에서 성장 잠재력을 가지고 있으며, 이를 통해 머신러닝 프로젝트의 혁신적인 발전을 도모할 수 있는 환경을 제공할 것입니다. 이러한 발전은 특히 AI 기술을 내재화하고, 클라우드 컴퓨팅과의 긴밀한 연계가 가능한 Kubernetes와의 통합을 더욱 촉진할 것입니다.
출처 문서