그림 설명
더보기
1. ML Tools (상단)
- TensorFlow, PyTorch, scikit-learn, MPI, MXNet, XGBoost 등의 다양한 머신러닝 툴이 지원됩니다. 이는 모델 개발과 훈련에 사용되는 주요 프레임워크들을 나타내며, 개발자는 필요에 따라 이를 선택해 사용합니다.
2. Kubeflow Applications 및 Scaffolding (가운데 부분)
- Kubeflow는 쿠버네티스 기반의 오픈소스 머신러닝 플랫폼으로, ML 파이프라인과 워크플로우를 관리할 수 있도록 지원합니다. 이 영역에서 데이터 수집, 전처리 및 파이프라인 연계가 이뤄집니다.
- 각 워크플로우 단계는 아래와 같이 나뉘어 있습니다:
- Notebook Server:
- 개발 환경을 제공하는 단계입니다. Jupyter, VS Code, RStudio와 같은 도구를 사용하여 머신러닝 모델을 개발하고 실험을 수행합니다. 개발자는 이 단계에서 데이터에 접근하고 모델을 실험적으로 구성합니다.
- Katib:
- 하이퍼파라미터 튜닝과 같은 자동화된 최적화 작업을 담당하는 모듈입니다. 모델의 성능을 향상시키기 위해 다양한 하이퍼파라미터 설정을 실험합니다.
- Training Operator:
- 실제로 머신러닝 모델을 훈련하는 단계입니다. 여기서는 TensorFlow, PyTorch, MPI 등 다양한 프레임워크를 사용하여 모델을 훈련할 수 있으며, 필요한 경우 분산 훈련도 가능합니다. 훈련된 모델과 데이터셋은 스토리지에 저장됩니다.
- KFServing:
- 훈련된 모델을 배포하고 운영하는 모듈입니다. KFServing은 추론 엔드포인트를 제공하여 모델이 예측을 할 수 있도록 합니다. 이를 통해 개발된 모델이 실시간 또는 배치 형태로 클라이언트 애플리케이션에 서비스를 제공합니다.
- Pipeline:
- 전체 머신러닝 파이프라인을 자동화하고 관리하는 시스템입니다. 모델 개발에서부터 훈련, 최적화, 배포까지의 과정이 이 파이프라인을 통해 효율적으로 관리됩니다.
3. Kubernetes Cluster (하단)
- 이 인프라에서는 쿠버네티스가 모든 서비스를 관리합니다. 다양한 클라우드 플랫폼(GCP, AWS, Azure, IBM Cloud) 또는 로컬(On Prem, Local) 환경에서 실행될 수 있습니다. 쿠버네티스는 컨테이너화된 애플리케이션의 배포 및 관리를 담당하며, Kubeflow는 이를 통해 확장 가능한 ML 워크플로우를 지원합니다.
쿠보플로우? 주요 특징
- 쿠버플로우는 다양한 사용자의 요청 사항을 충족하는 ML 영역 별 최적의 오픈 소스 조합을 제공
- 전체 ML 워크플로우를 연결, 수행하고 모니터링 할 수 있는 강력한 파이프라인 툴은 워크플로우의 자동화와 더불어 생산성을 증대하고 유관 부서간의 협업을 지원
- 파이프라인의 개별 요소는 컨테이너를 기반으로 함.
- 가볍고 효율적이며 조립 가능한(컴포저블, Composable) 특징을 가진 컨테이너는 파이프라인의 개별 요소를 재사용하기 때문에 유연한 파이프라인 구성을 가능함.
- 파이프라인의 활용은 빅데이터 레이크와 기업 데이터 관리 시스템의 연계, 데이터 수집과 모델 개발, 훈련, 배포 등의 운영까지 구현되기 때문에 E2E AI 플랫폼 구축이 가능함.
쿠버네티스 기반의 대규모 클러스터 환경을 제공
- 자원 요청 시 컴퓨팅(CPU/GPU) 및 스토리지 자원을 요청한 만큼 동적으로 할당
- 손쉬운 분산 작업 수행을 위한 Job Operator와 이를 위한 효율적인 자원 관리 및 스케줄링을 제공
- 플랫폼에서 동시에 개발 중인 개별 개발 환경은 다른 개발 환경과는 논리적으로 분리되어 있어 AI 개발자가 환경 문제에 신경 쓰지 않고 모델 개발에만 집중 가능
- 개발 환경은 그대로 운영 환경으로 배포 가능
- 클라우드 사업자에 대한 종속성 없이 동일한 개발 환경을 사용 가능
- 자원에 대한 인증 및 권한 관리가 제공
- 멀티 테넌시(Multi-tenancy)를 지원
쿠버플로우 기반 AI 플랫폼 구성 요소
'공부 > CS' 카테고리의 다른 글
(작성 중) MLOps 3_Kubeflow 구현 사례 (0) | 2024.09.26 |
---|---|
MLOps 1_왜 필요한가? (1) | 2024.09.26 |
CS - 카테고리 (0) | 2024.09.11 |