Your browser does not support JavaScript!

Kubeflow와 Kubernetes 기반 MLOps 구축 현황 및 주요 국내외 업체 분석

일일 보고서 2024년 08월 14일
goover

목차

  1. 요약
  2. Kubeflow 개요 및 주요 기능
  3. Kubeflow의 아키텍처와 운영 방식
  4. Kubeflow와 Kubernetes를 활용한 MLOps 솔루션
  5. Kubeflow 도입 사례 분석
  6. Kubeflow를 활용한 AI 프로젝트 성공 요인
  7. Kubeflow 및 Kubernetes 활용 시 고려사항
  8. Kubeflow 및 Kubernetes 기반 MLOps 구축을 지원하는 국내외 주요 업체 소개
  9. 결론

1. 요약

  • 이 리포트는 Kubeflow와 Kubernetes를 활용한 MLOps 구축 현황과 주요 국내외 업체들을 분석합니다. 주제는 MLOps의 필요성과 중요성, 주요 우수 사례 및 도입 방식으로 이뤄져 있습니다. 특히 국내 스타트업인 컬리(Kurly)와 왓챠 같은 기업들이 Kubeflow를 통해 MLOps를 이용한 효율적인 모델 관리 환경을 구축한 사례를 포함하고 있습니다. 주요 Kubeflow 기능, 아키텍처, 구성 요소 및 이를 통해 얻어지는 다양한 장점들을 상세히 설명합니다. 또한 데이터 보안과 법적 요인, ML 파이프라인 모니터링 및 최적화, 향후 기술적 과제와 예상 등을 다룹니다. 끝으로, 삼성SDS를 포함한 국내외 주요 업체들이 Kubeflow와 Kubernetes를 활용해 MLOps 구축을 지원하는 방식을 소개합니다.

2. Kubeflow 개요 및 주요 기능

  • 2-1. Kubeflow의 정의

  • Kubeflow는 기계 학습 파이프라인을 사용하여 쿠버네티스에서 실행 중인 복잡한 워크플로의 오케스트레이션을 실행하기 위해 활성화된 자유 오픈 소스 기계 학습 플랫폼입니다. Kubeflow의 주요 목적은 데이터 처리를 한 다음 텐서플로나 PyTorch를 사용하여 모델을 트레이닝시키고, 이를 텐서플로 서빙 또는 셀던으로 배포하는 것입니다.

  • 2-2. Kubeflow의 주요 기능

  • Kubeflow는 여러 주요 기능을 제공합니다: - **중앙 대시보드(Central Dashboard)**: 사용자는 중앙 대시보드를 통해 대부분의 Kubeflow 컴포넌트에 접근할 수 있습니다. - **JupyterHub**: 데이터 사이언티스트가 노트북 환경에서 클러스터 관련 작업을 수행할 수 있도록 합니다. - **분산 학습 작업 관리**: Kubeflow는 Chainer, MPI, Apache MXNet, PyTorch와 TensorFlow 같은 다양한 프레임워크를 지원하는 오퍼레이터를 제공합니다. - **파이프라인 Orchestration**: Argo Workflows 기반의 Kubeflow 파이프라인은 머신러닝 애플리케이션 실행을 오케스트레이트합니다. - **하이퍼파라미터 튜닝**: Katib을 통해 Bayesian Optimization 기반 하이퍼파라미터 튜닝을 지원합니다. - **모델 서빙**: TFServing, Seldon Serving, PyTorch Serving과 같은 모델 서빙 프레임워크를 제공하며, KFServing을 통해 자동 확장과 네트워킹을 지원합니다. - **메타데이터 관리**: ML 메타데이터를 추적하고 캡처하여 워크플로우 내 컴포넌트와 각 단계의 인풋과 아웃풋을 관리합니다. - **고성능 분산 객체 저장소 MinIO**: 고성능 분산 객체 저장소로써 클라우드 환경에 독립적인 게이트웨이 역할을 수행합니다. - **서비스 메시 Istio**: 서비스 디스커버리, 로드 밸런싱, 장애 복구 등의 기능을 지원합니다.

  • 2-3. Kubeflow의 구성 요소

  • Kubeflow는 다양한 구성 요소로 구성됩니다: - **메인 인터페이스**: 중앙 대시보드로 구성되어 있습니다. - **노트북 환경**: JupyterHub를 이용해 다양한 사용자 환경을 제공합니다. - **분산 학습 오퍼레이터**: Kubernetes API로 확장하여 다양한 학습 작업을 관리합니다. - **파이프라인**: Python SDK, DSL Compiler, Pipeline Service 등으로 구성되어 있으며, Argo Workflows 기반입니다. - **하이퍼파라미터 튜닝**: Katib을 통해 효율적으로 진행합니다. - **모델 서빙**: TFServing, Seldon Serving, PyTorch Serving, TensorRT를 포함하며, KFServing을 통한 통합 관리가 가능합니다. - **메타데이터 관리**: MySQL과 같은 데이터베이스에 저장하며, 다양한 정보를 포함합니다. - **MinIO**: 대규모 객체 저장소로 클라우드 네이티브 환경에서 사용됩니다. - **Istio**: Envoy, Pilot, Mixer 등을 포함하는 서비스 메시로 구성되어 있습니다. - **Knative**: Knative Serving을 통해 지속적인 모델 업데이트와 배포를 지원합니다.

3. Kubeflow의 아키텍처와 운영 방식

  • 3-1. Kubeflow 아키텍처 설명

  • Kubeflow는 머신러닝 워크플로우를 관리하기 위한 오픈소스 플랫폼입니다. Kubeflow의 아키텍처는 센트럴 대시보드(central dashboard)를 통해 사용자가 다양한 컴포넌트에 접근할 수 있도록 설계되었습니다. 주요 컴포넌트로는 JupyterHub, Chainer, MPI, Apache MXNet, PyTorch, TensorFlow 등이 있습니다. Kubeflow는 각 컴포넌트의 실행과 확장을 관리하기 위해 오퍼레이터(operator)라는 컨트롤러를 사용하며, 이러한 오퍼레이터는 Kubernetes API를 통해 리소스를 관리합니다.

  • 3-2. Kubeflow Pipelines

  • Kubeflow Pipelines는 머신러닝 애플리케이션의 실행을 오케스트레이트하기 위해 설계되었습니다. 이는 Argo Workflows를 기반으로 하며, Python SDK, DSL Compiler 및 Pipeline Service와 같은 컴포넌트를 포함하고 있습니다. 파이프라인 서비스는 Kubernetes API를 호출하여 CRD (Custom Resource Definitions)를 생성하며, 오케스트레이션 컨트롤러는 이러한 CRD를 기반으로 파이프라인 실행에 필요한 컨테이너를 관리합니다. 아티팩트는 MinIO, GCS, Amazon S3와 같은 스토리지 서비스에 저장되며 메타데이터는 MySQL에 보관됩니다.

  • 3-3. 모델 서빙 및 하이퍼파라미터 튜닝

  • Kubeflow는 Katib과 같은 컴포넌트를 사용하여 하이퍼파라미터 튜닝을 지원합니다. Katib은 Bayesian Optimization 기반의 하이퍼파라미터 튜닝 프레임워크입니다. 또한 Kubeflow는 TFServing, Seldon Serving, PyTorch Serving, TensorRT와 같은 모델 서빙 프레임워크도 제공합니다. Knative와 Istio를 기반으로 한 KFServing은 빠른 스케일링과 모델 추론 문제를 해결합니다. KFServing은 Preprocessor, Predictor, Postprocessor와 같은 컴포넌트를 포함하여 모델 서빙을 최적화합니다.

4. Kubeflow와 Kubernetes를 활용한 MLOps 솔루션

  • 4-1. 전문용어 및 기술 개요

  • Kubeflow는 구글이 자사의 AI 개발 노하우를 오픈 소스로 공개한 쿠버네티스 기반의 MLOps 플랫폼입니다. 모델 개발, 훈련, 배포 및 운영 등의 복잡한 ML 워크플로우를 쿠버네티스에서 간단하고 이식 가능하며 확장 가능하게 지원합니다. 쿠버네티스는 컨테이너화된 애플리케이션의 배포, 확장 및 운영을 자동화하는 오픈 소스 플랫폼입니다. Kubeflow는 텐서플로우(TensorFlow), 파이토치(PyTorch) 등 다양한 머신러닝 툴을 지원합니다.

  • 4-2. MLOps 시스템 구성

  • MLOps는 머신러닝 시스템 개발(Dev)과 운영(Ops)을 통합하는 것을 목표로 하는 프로덕션 엔지니어링 기술입니다. 이는 ML 엔지니어링의 문화, 표준 절차 및 도구를 포함합니다. MLOps 도입 시 데이터 전처리, 모델 훈련, 최적화, 배포 및 모니터링 등 모든 단계를 파이프라인으로 연결하여 자동화 및 효율화를 추구합니다. 예를 들어, 삼성SDS는 쿠버플로우 기반의 AI 개발 플랫폼을 구축하여 모델 개발과 최적화 단계에서 각각 맞춤형 자원 활용 방식을 적용한 사례가 있습니다.

  • 4-3. AI 및 ML API 플랫폼

  • 대부분의 글로벌 기업들은 AI를 제품 개발, 서비스 운영, 마케팅 등 다양한 목적으로 활용하며, AI 적용을 통해 업무 성과를 극대화하고 있습니다. 쿠버플로우는 AI 모델 훈련 및 배포를 위한 최적의 환경을 제공하고, 이를 통해 기업들은 데이터 사이언티스트와 ML 엔지니어 간의 협업을 원활하게 이끌어낼 수 있습니다. 삼성SDS와 같은 기업들은 쿠버플로우의 AI 모델 개발 플랫폼을 활용하여 효율성을 극대화하고 있습니다.

5. Kubeflow 도입 사례 분석

  • 5-1. 한국 기업들의 도입 사례

  • 컬리의 데이터 플랫폼팀은 Kubeflow를 통해 MLOps 환경을 구축하였습니다. 컬리는 주로 JupyterHub, MLFlow, Airflow 등을 EKS 클러스터에 배포하여 활용하였으나 여러 도구들 간의 유기적 연결성이 떨어져 복잡성이 증가하는 문제가 있었습니다. 이를 해결하기 위해 컬리는 AWS 세이지 메이커와 Kubeflow 중에서 최종적으로 Kubeflow를 선택하였습니다. Kubeflow는 로컬, 온프레미스, 클라우드 등 다양한 환경에 배포가 가능하고, Kubernetes의 기능을 활용하여 자원을 확장하거나 축소할 수 있는 이점이 있습니다.

  • 5-2. 국내 주요 구축업체

  • 컬리 외에도 왓챠와 당근마켓, 네이버 호텔 서비스 등 다양한 국내 기업들이 Kubeflow를 도입하여 MLOps 환경을 구축하고 있습니다. 왓챠는 추천 모델 학습을 위한 ML 파이프라인 및 실험 환경을 Kubeflow를 이용해 최적화하였고, 당근마켓은 Google Kubernetes Engine(GKE)에서 Kubeflow Pipeline을 적극 활용하고 있었으나 2023년부터 Vertex AI Pipelines로 마이그레이션 하였습니다. 네이버 호텔 서비스는 협업 필터링 기반의 추천 시스템을 Kubeflow를 이용해 구현하여 유사 호텔 추천 기능을 도입하였습니다.

  • 5-3. 국내 주요 스타트업 활동

  • Kubeflow를 기반으로 MLOps 환경을 구축한 대표적인 국내 스타트업으로 컬리와 왓챠가 있습니다. 두 스타트업 모두 Kubeflow를 통해 데이터 전처리, 모델 학습 및 배포, 모니터링 등을 자동화하여 효율적인 모델 관리 환경을 구축하였습니다. 특히 컬리는 여러 오픈소스 도구들과의 통합 문제를 해결하기 위해 추상화된 형태의 MLOps 플랫폼을 제공하기로 결정하고 Kubeflow를 적극 활용하여 데이터 사이언티스트들이 쉽게 모델 실험과 배포를 할 수 있는 환경을 조성하였습니다.

6. Kubeflow를 활용한 AI 프로젝트 성공 요인

  • 6-1. 성공적인 사례 분석

  • 다양한 머신러닝 프로젝트를 진행하며 여러 사례가 성공적으로 도출된 것을 볼 수 있습니다. Kubeflow를 활용한 성공적인 머신러닝 프로젝트는 작동하는 애플리케이션을 배포하는 것만이 아니라 긍정적인 비즈니스 가치를 제공하고 지속적으로 유지하는 것을 목표로 합니다. 예를 들어, 개발 중에 잘 작동하던 프로젝트가 프로덕션 단계에서는 사용자의 요구에 맞지 않아 확장이 불가능하거나, 운영 비용이 너무 많이 들어 수익성을 잃는 경우가 있었습니다. 이를 해결하기 위해서는 최적의 MLOps 아키텍처를 선택하고 설계하는 것이 중요합니다.

  • 6-2. MLOps 시스템 아키텍처의 중요성

  • MLOps 시스템 아키텍처는 머신러닝 프로젝트의 성공에 있어 매우 중요한 요소입니다. 올바른 아키텍처를 선택하고 설계하는 것은 실험과 운영 간의 차이를 메우며, ML 시스템의 숨겨진 기술적 부채를 해결하는 데 중요한 역할을 합니다. 일반적인 학습과 서빙 아키텍처 패턴은 데이터 파이프라인 아키텍처와 긴밀하게 결합되며, 프로젝트의 목적과 데이터 유형에 따라 다양한 개발 및 배포 패턴을 가져갈 수 있습니다. 정적 학습 아키텍처와 동적 학습 아키텍처 등 다양한 아키텍처 패턴을 활용하여 적절한 시스템을 설계할 수 있습니다. 기사에서는 다양한 시나리오 별로 아키텍처 패턴을 제시하고 있습니다.

  • 6-3. 비즈니스 목표와의 연계성

  • MLOps 아키텍처를 설계할 때 비즈니스 목표를 명확히 설정하는 것이 중요합니다. 예를 들어, 뉴스 기사 추천 시스템을 구축하는 프로젝트를 고려할 때, 주요 비즈니스 목표는 사용자가 읽을 가능성이 높은 기사를 추천하여 구독자의 참여를 향상시키는 것입니다. 이를 위해서 사용자 경험을 보장하는 데 필요한 모든 요구 사항과 스펙을 정의하고, 최적의 아키텍처를 설계해야 합니다. 또한, 지속적인 운영 및 성능 모니터링을 통해 시스템이 장기적으로 안정적으로 운영될 수 있도록 해야 합니다.

7. Kubeflow 및 Kubernetes 활용 시 고려사항

  • 7-1. 데이터 보안 및 법적 요인

  • 최근 글로벌 리서치사의 조사에 따르면, 많은 글로벌 기업들이 AI를 기업의 핵심 활동에 적극적으로 활용하고 있습니다. 이러한 기업들은 제품 개발, 서비스 운영, 마케팅 등 다양한 분야에서 AI를 적용하여 업무 성과를 높이고 있습니다. 그러나 AI 모델이 데이터를 다루는 특성 상, 데이터 보안과 법적 요인에 대한 철저한 준비가 필수적입니다. AI 모델이 학습하는 데이터는 외부 환경에 따라 변화할 수 있으며, 데이터의 품질이 떨어질 경우 모델의 성능에도 영향을 미칠 수 있습니다. 이에 따라 데이터 보안과 법적 요인을 고려한 데이터 수집, 저장 및 관리가 중요합니다. 예를 들어, 데이터 보호 규정(GDPR, CCPA 등)을 준수해야 하며, 민감한 정보가 포함된 데이터를 처리하는 경우 이에 대한 별도의 보호 조치가 필요합니다. 또한, AI 모델의 알고리즘과 데이터 사용에 대한 투명성을 보장하고, 이해 관계자들에게 이에 대해 명확히 설명하는 것도 중요합니다. (참고: 오픈소스를 활용한 쿠버네티스 기반 MLOps 플랫폼 도입 | 클라우드 기술 백서 | 삼성SDS)

  • 7-2. ML 파이프라인 모니터링 및 최적화

  • ML 파이프라인 모니터링과 통합 가시성은 성공적인 MLOps 플랫폼 운영을 위한 핵심 요소입니다. 모니터링은 프로덕션 환경에서 머신러닝 모델의 성능을 실시간으로 추적하고, 예측 정확도, 지연 시간, 리소스 사용량 등을 평가합니다. 이 과정에서 Prometheus와 Grafana와 같은 도구를 활용하여 통합 가시성을 확보할 수 있습니다. ML 시스템 통합 가시성을 통해 모델의 성능을 지속적으로 평가하고, 데이터 및 모델 드리프트를 감지하여 필요한 경우 모델을 재학습시킬 수 있습니다. 주요 클라우드 제공업체들은 자체 솔루션을 보유하고 있으며, Evidently.ai 또는 NannyML과 같은 오픈 소스 솔루션도 활용될 수 있습니다. 데이터와 모델의 지속적인 모니터링 및 최적화를 통해 MLOps 플랫폼의 안정성과 효율성을 높일 수 있습니다. (참고: HoJ Kim / MLOps roadmap 2024 | 커리어리)

  • 7-3. 향후 기술적 과제와 예상

  • 검토된 문서들에 따르면, 성공적인 AI 적용을 위해서는 경영진의 적극적인 지원과 기술적 리더십이 필요하며, 인력과 플랫폼에 대한 공격적인 투자가 뒤따라야 합니다. 그러나 여전히 AI 모델을 운영 서비스로 전환하는 과정에서 기술적 어려움이 존재합니다. AI 모델이 외부 환경 변화에 적응하기 위해서는 지속적인 데이터 수집과 모델 재학습이 필요하며, 이를 위한 대규모 컴퓨팅 자원과 효율적인 인프라 관리가 필수적입니다. 또한, 다양한 ML 개발 언어와 툴의 지원도 중요합니다. 성공적인 AI 모델 운영을 위해서는 모든 단계간의 유기적인 소통과 협업이 필요하며, 이를 지원하는 MLOps 플랫폼의 구축이 필요합니다. 클라우드 환경에서는 비용이 부담스러울 수 있으며, 온프레미스 및 하이브리드 클라우드 접근법이 요구될 수 있습니다. 이러한 기술적 과제들을 해결하기 위해서는 다양한 도구와 기술들의 통합 활용이 필요하며, 이는 MLOps 시스템의 효율성을 크게 향상시킬 수 있습니다. (참고: 제로부터 시작하는 MLOps 도구와 활용 - 2. MLOps 시스템 아키텍처)

8. Kubeflow 및 Kubernetes 기반 MLOps 구축을 지원하는 국내외 주요 업체 소개

  • 8-1. 글로벌 구축업체

  • 글로벌 구축업체로는 수세(SUSE)와 같은 기업이 있으며, Kubeflow와 같은 오픈소스 MLOps 플랫폼을 활용하여 고객에게 안전하고 효율적인 AI 스택을 제공하고 있습니다. 수세는 또한 클라우드 옵저버빌리티 플랫폼 스택스테이트와 협업하여 기업 IT팀이 컨테이너화된 클라우드 기반 환경 내 문제를 빠르게 파악하고 해결할 수 있는 솔루션을 제공합니다.

  • 8-2. 국내 구축업체

  • 국내 구축업체로는 컬리가 있으며, 이 회사는 AWS와 GCP 시스템을 활용한 실시간 서빙 아키텍처를 구축했습니다. 컬리 데이터서비스개발팀은 EKS 클러스터를 활용하여 모델 API를 서빙하고 있으며, Datadog과 Slack을 통해 모니터링을 수행합니다. 또한 BentoML과 TorchServe를 통해 모델 서빙 프레임워크를 구축해 높은 응답 속도를 달성하였습니다.

  • 8-3. 스타트업 및 신생 기업

  • 국내 스타트업 중 당근마켓은 Google Kubernetes Engine(GKE)에서 Kubeflow Pipeline을 설치하고 적극 활용해 왔으며, 이후 Vertex AI Pipelines로 마이그레이션을 완료하여 운영 효율성을 높였습니다. 또한, 왓챠는 AWS와 Kubernetes 오브젝트를 활용하여 MLOps를 구축하고, 추천 서비스의 모델 학습 및 추론 서버를 위한 인프라를 최적화했습니다.

9. 결론

  • Kubeflow와 Kubernetes를 통한 MLOps 구축은 AI/ML 프로젝트의 효율성을 크게 향상시키고 있으며, 이는 데이터 관리, 모델 개발, 배포 및 모니터링에서 큰 장점을 제공하여 기업의 경쟁력을 강화하는 데 효과적입니다. 국내 주요 사례로는 컬리와 같은 스타트업이 있으며, 이 회사는 여러 오픈소스 도구의 유기적인 통합문제를 해결하며 성공적으로 MLOps 플랫폼을 운영하고 있습니다. 다만, 데이터 보안과 법적 이슈는 여전히 중요한 문제로 남아 있으며, 이러한 부분에 대한 철저한 고찰과 준비가 필요합니다. 향후 연구로는 더욱 효율적인 모니터링 툴 개발 및 글로벌 확장 가능성이 있는 MLOps 플랫폼 연구가 중요한 과제로 부각될 것입니다. 삼성SDS와 ITMAYA 같은 기업들도 이러한 플랫폼의 발전에 중요한 역할을 하고 있습니다. 이러한 결과들은 더 많은 조직에게 실질적이고 장기적인 혜택을 제공할 수 있을 것입니다.

10. 용어집

  • 10-1. Kubeflow [오픈소스 기계 학습 플랫폼]

  • Kubeflow는 Kubernetes에서 기계 학습 파이프라인을 운영하고 관리하기 위한 오픈 소스 플랫폼입니다. 데이터 수집, 모델 트레이닝, 배포 등 다양한 단계를 자동화하고, 사용자 맞춤형 환경을 제공하여 MLOps의 효율성을 극대화합니다.

  • 10-2. Kubernetes [컨테이너 오케스트레이션 플랫폼]

  • Kubernetes는 컨테이너화된 애플리케이션의 자동화된 배포, 확장 및 운영을 관리하는 오픈 소스 플랫폼입니다. 다양한 클라우드 환경에서의 유연성과 확장성을 제공하며, MLOps 기반의 솔루션에서 핵심 역할을 수행합니다.

  • 10-3. ITMAYA [국내 구축 업체]

  • ITMAYA는 고객 맞춤형 Kubeflow 솔루션을 제공하는 국내 업체로, 모델 트레이닝과 서빙, 데이터 분석을 통합 관리할 수 있도록 지원합니다.

  • 10-4. 컬리 (Kurly) [국내 스타트업]

  • 컬리는 머신러닝 엔지니어와 데이터 플랫폼팀을 운영하여 AWS EKS 환경에 Kubeflow를 도입, 데이터 사이언티스트들이 실험에 집중할 수 있는 인프라를 제공합니다.

  • 10-5. 삼성SDS [글로벌 기업]

  • 삼성SDS는 자사의 클라우드 플랫폼과 결합하여 Kubeflow를 통해 기업들이 MLOps 환경을 효율적으로 구축할 수 있도록 지원합니다.

11. 출처 문서