SNU/SNU DCSLAB(2022~2024)

Kubeflow 통해 더 나은 AI모델 서빙과 MLOps 실현 (DEVIEW 2021 정리)

아나엘 2023. 10. 23. 17:14

출처: https://tv.naver.com/v/23650093

 

AiSuite : Kubeflow를 통해 더 나은 AI 모델 서빙과 MLOps 실현하기

NAVER D2 | 한완규/박정욱 - AiSuite : Kubeflow를 통해 더 나은 AI 모델 서빙과 MLOps 실현하기

tv.naver.com

Hadoop은 빅데이터 처리를 하기 위한 플랫폼으로, 아래와 같은 단점이 있다

  • 컨테이너 오케스트레이션의 제약 : AI서비스를 관리하기에 배포, 스케일링, 모니터링 등 컨테이너 관리기능 한계
  • 컨테이너 네트워킹을 위한 추가개발 필요: 오버레이 네트워크 지원을 위해  Flannel및 DNS직접 커스터마이징해야함.
  • GPU스케줄링한계: Hadoop 내 GPU지원 한계로, GPU스케줄러 직접개발해서 사용해야 함.

서빙 플랫폼 운영시 한계점으로는,

  • 블루/그린 배포로 인한 한계(급격한 캐시성능저하, 리소스 2배필요.)
  • 오토스케일러가 없어서 요청 급격히 증가했을 때 수동대응이 필요했다.
  •  ML파이프라인 제공이 어렵다. 인프라관리팀이 아니라 유저가 추가하기 어려웠다.

 -> Kubernetes, Kubeflow 를 도입하자!

 

Kubeflow

- Machine learning toolkit for Kubernetes

- 학습, 하이퍼파라미터 튜닝, 서빙, 파이프라인 등 지원

 

장점

  • 다양한 ML framework 지원(Tensorflow, XGBoost, NVIDIA Triton Inference Server등)
  • Kubeflow 대쉬보드 지원
  • k8s 컨테이너 오케스트레이션 지원
  • GPU지원 용이
  • 다양한 k8s 에코시스템

KFServing

AiSP대비 장점

  • 서버사이드 로드밸런싱으로 균등한 부하 분산. gRPC, REST API 통한 단일 진입점 제공으로 어떤 프로그래밍 언어든 사용 가능.

 

Kubeflow로 MLOps 실현

MLOps: ML + Operations , 머신러닝 관련 프로세스 자동화로 신속하고 지속적으로 제공하기위한 개념.

 

MLOps 수준0

- D.S는 데이터준비, 학습, 평가 수동으로 하고 플랫폼 운영팀에 전달해 배포 따로 했어야 했다. 

 

MLOps 수준1

- 데이터준비, 학습, 평가가 파이프라인 자동화됨. 배포도 자동화. 대신 파이프라인 소스는 수동관리.

- Kubeflow도입으로 많은 부분이 지원됨.

 

MLOps 수준2 -> CI/CD  파이프라인 자동화

- 파이프라인 소스 관리, 모델 단위 테스트, 배포안정성 테스트 모두 자동화

 

Kubeflow 컴포넌트

Experiment Phase

Fairing: 모델 학습 시 도커 이미지 빌드 및 배포 쉽게 하게 도와주는 툴

Katib: 하이퍼파라미터 튜닝뿐아니라 뉴럴아키텍처 search도 지원하는 툴

 

Productioni Phase

- 데이터 변환, 모델 학습, 학습된모델 서빙(KFServing), 성능 검증

 

 

Hadoop기반 기존 플랫폼 스토리지 + AIWuite(Kubeflow)

 

ML파이프라인 예시

데이터 준비(Cuve, Cquery) -> 데이터전처리(C3S Spark; PySpark) ->HDFS PVC 생성 ->모델학습(TFJob) -> 모델서빙(KFServing) 

 

REST API로 요청시 결과 예시

 

반응형