Kubeflow란

URL 복사

Kubeflow는 머신 러닝(ML) 워크로드를 개발하고, 관리하고, 실행하기 위한 쿠버네티스 네이티브 오픈소스 프레임워크입니다. Kubeflow는 AI/ML 플랫폼으로서 데이터 탐색, 데이터 파이프라인, 모델 훈련, 모델 서빙 등 주요 AI/ML 활용 사례를 다루는 여러 툴을 통합합니다.

Kubeflow를 사용하면 데이터 사이언티스트는 이러한 여러 툴과 상호 작용할 수 있는 높은 수준의 추상화를 제공하는 포털을 통해 해당 기능에 액세스할 수 있습니다. 따라서 데이터 사이언티스트는 쿠버네티스가 각 툴에 플러그인하는 방법에 관한 낮은 수준의 세부 정보를 배우지 않아도 됩니다. Kubeflow 자체는 쿠버네티스에서 실행되도록 특별히 설계되었고, 오퍼레이터 모델을 비롯한 여러 주요 개념을 완전히 수용합니다. 

Kubeflow는 규모에 맞게 ML 모델을 훈련하고 배포하는 프로세스를 간소화하는 일련의 툴과 API를 제공함으로써 머신 러닝 파이프라인을 오케스트레이션하는 데 관련된 많은 과제를 해결합니다. '파이프라인'은 ML 워크플로우를 나타내며, 워크플로우의 구성 요소와 해당 구성 요소 간의 상호 작용 방법을 포함합니다. Kubeflow는 여러 팀의 요구 사항을 한 프로젝트에 수용할 수 있으며 해당 팀들이 어떤 인프라에서도 작업할 수 있도록 합니다. 이는 데이터 사이언티스트가 IBM Cloud, Google Cloud, Amazon의 AWS 또는 Azure 등 원하는 클라우드에서 ML 모델을 훈련하고 제공할 수 있다는 것을 의미합니다. 

전반적으로 Kubeflow는 클라우드 컴퓨팅 기능을 활용하면서 프로젝트를 구성하여 머신 러닝 운영(MLOps)을 표준화합니다. Kubeflow의 주요 활용 사례에는 데이터 준비, 모델 훈련, 평가, 최적화, 배포가 포함됩니다.

 

쿠버네티스는 데이터 사이언티스트가 ML 모델을 훈련, 테스트, 배포하는 데 필요한 민첩성, 유연성, 이식성, 확장성을 제공하는 기술로서, ML 라이프사이클을 가속화하는 핵심 요소입니다.

확장성: 쿠버네티스를 사용하면 사용자가 필요에 따라 ML 워크로드를 확장하거나 축소할 수 있습니다. 이를 통해 머신 러닝 파이프라인이 프로젝트의 다른 요소를 방해하지 않고 대규모 처리와 훈련을 수용할 수 있습니다. 

효율성: 쿠버네티스는 가용성과 용량에 따라 노드에 워크로드를 예약하여 리소스 할당을 최적화합니다. 컴퓨팅 리소스가 의도대로 활용되도록 보장함으로써 사용자는 비용을 절감하고 성능을 향상할 수 있습니다.

이식성: 쿠버네티스는 표준화되고 플랫폼에 구애받지 않는 환경을 제공하며, 이를 통해 데이터 사이언티스트는 ML 파이프라인을 개발하고 여러 환경과 클라우드 플랫폼에 배포할 수 있습니다. 따라서 호환성 문제나 벤더 종속성을 걱정할 필요가 없습니다.

내결함성: 쿠버네티스에 내장된 내결함성과 자가 치유(Self-healing) 기능을 통해 사용자는 하드웨어나 소프트웨어 장애가 발생하더라도 ML 파이프라인이 계속 실행된다는 것을 신뢰할 수 있습니다.

  1. Kubeflow Central Dashboard는 Kubeflow와 해당 에코시스템 구성 요소에 액세스하기 위한 인증된 웹 인터페이스를 제공합니다. 중앙집중식 허브 역할을 하는 이 대시보드는 클러스터 내의 다양한 툴과 서비스의 사용자 인터페이스를 집계하여 머신 러닝 플랫폼 관리를 위한 통합 액세스 지점을 제공합니다.
  2. Kubeflow는 Jupyter Notebook과 통합되어 데이터 탐색, 실험 및 모델 개발을 위한 인터랙티브 환경을 제공합니다. Jupyter Notebook은 Python, R, Scala를 포함한 다양한 프로그래밍 언어를 지원하며 사용자가 협업적이고 재현 가능한 방식으로 ML 워크플로우를 생성 및 실행할 수 있도록 지원합니다.
  3. Kubeflow Pipelines는 사용자가 복잡한 ML 워크플로우를 방향성 비순환 그래프(Directed Acyclic Graph, DAG)로 정의하고 실행할 수 있도록 지원합니다. Kubeflow Pipelines는 데이터 전처리, 모델 훈련, 평가 및 배포의 엔드 투 엔드 프로세스를 오케스트레이션하고 자동화하는 방법을 제공하므로 ML 프로젝트에서의 재현 가능성, 확장성, 협업을 증진합니다. Kubeflow Pipelines SDK는 Python 패키지 모음으로, 사용자가 머신 러닝 워크플로우를 정확하고 효율적으로 정의하고 실행할 수 있습니다.
  4. Kubeflow Training Operator는 머신 러닝 모델을 규모에 맞게 훈련하기 위한 툴을 제공합니다. 여기에는 TensorFlow, PyTorch, XGBoost와 같은 프레임워크를 사용하는 분산 학습에 대한 지원이 포함됩니다. 사용자는 쿠버네티스의 확장성과 리소스 관리 기능을 활용하여 머신 클러스터 전반에서 모델을 훈련할 수 있습니다.
  5. Kubeflow Serving은 사용자가 훈련된 ML 모델을 확장 가능한 프로덕션 레디 서비스로 배포할 수 있도록 지원합니다. Kubeflow Serving은 TensorFlow Serving, Seldon Core 또는 사용자 정의 추론 서버 등 인기 있는 프레임워크를 사용하는 모델을 제공하는 일관된 인터페이스를 제공합니다. 모델은 실시간 또는 일괄 처리 시나리오에서 배포될 수 있으며 HTTP 엔드포인트를 통해 예측을 제공합니다.
  6. Kubeflow Metadata는 ML 실험, 실행, 아티팩트와 관련된 메타데이터를 추적 및 관리하기 위한 중앙집중식 리포지토리로서, 전체 워크플로우에서 ML 메타데이터에 대한 일관된 뷰를 제공하여 ML 프로젝트에서 재현 가능성, 협업, 거버넌스를 지원합니다.

아울러 Kubeflow는 ML 실험, 모델 훈련 작업, 추론 서비스 등의 모니터링 및 관리를 위한 웹 기반 사용자 인터페이스(User Interface, UI)를 제공합니다. 이러한 UI는 사용자가 ML 워크플로우의 진행 상황을 추적하고, 문제를 트러블슈팅하고, 정보에 기반한 의사결정을 내릴 수 있도록 가상화, 메트릭, 로그를 제공합니다.

Kubeflow는 쿠버네티스 오퍼레이터 모델을 수용하므로 확장이 가능하며 특정 활용 사례 및 환경에 적응할 수 있도록 사용자 정의를 지원합니다. 사용자는 데이터 전처리 툴, 기능 스토어, 모니터링 솔루션, 외부 데이터 소스 등과 같은 추가 구성 요소들을 통합하여 ML 워크플로우의 기능을 강화할 수 있습니다.

Red Hat® OpenShift®는 모든 환경에서 애플리케이션을 개발, 배포 및 관리하기 위한 신뢰할 수 있고 일관된 통합 플랫폼입니다. DevOps 기능(예: OpenShift Pipelines, OpenShift GitOps, Red Hat Quay)과 하드웨어 액셀러레이터와의 통합을 통해 Red Hat OpenShift는 더 나은 협업을 지원하며 AI 기반 애플리케이션 제공을 가속화합니다.

Red Hat OpenShift AI는 Kubeflow Pipelines를 기반으로 한 데이터 사이언스 파이프라인과 실험을 생성 및 자동화하기 위한 시각적 편집기를 제공합니다. OpenShift AI는 하이브리드 클라우드 환경 전반에서 AI 지원 애플리케이션과 예측 모델 및 기반 모델을 규모에 맞게 빌드, 훈련, 배포 및 모니터링하기 위한 통합 MLOps 플랫폼입니다. ML 모델을 소프트웨어 개발 프로세스, 프로덕션 롤아웃, 모니터링, 재훈련, 재배포에 통합하는 반복적인 프로세스를 자동화하고 간소화하여 지속적인 예측 정확도를 유지할 수 있습니다.

Red Hat OpenShift는 IBM Cloud, Google Cloud, AWS 및 Azure에서 기본적으로 제공되며, 사용자는 쿠버네티스 관리를 자동화하여 프로덕션 레디 애플리케이션 플랫폼으로 애플리케이션을 신속하게 빌드, 배포, 확장할 수 있습니다. 

 

추가 자료

문서

컨테이너와 VM 비교

Linux 컨테이너 및 VM(가상 머신)은 다양한 IT 요소를 결합해 시스템의 나머지 부분으로 부터 격리하는 패키징된 컴퓨팅 환경입니다.

문서

컨테이너 오케스트레이션이란?

컨테이너 오케스트레이션은 컨테이너의 배포, 관리, 확장, 네트워킹을 자동화합니다.

문서

Linux 컨테이너란?

Linux 컨테이너는 시스템에서 격리된 프로세스로, 이러한 프로세스를 지원하는 데 필요한 모든 파일을 제공하는 고유한 이미지에서 실행됩니다.

컨테이너에 대한 자세한 내용

제품

선택한 인프라에서 애플리케이션 출시 테스트를 완료한 통합 서비스 세트를 포함하는 엔터프라이즈 애플리케이션 플랫폼입니다.

리소스

교육

무료 교육 과정

Running Containers with Red Hat Technical Overview

무료 교육 과정

Containers, Kubernetes and Red Hat OpenShift Technical Overview

무료 교육 과정

Developing Cloud-Native Applications with Microservices Architectures