성숙한 MLOps를 위해서는 3가지 작업이 필요하며 이를 쉽게 수행할 수 있는 인프라는 쿠버네티스와 같은 오케스트레이션 시스템
1. Reproducibility
2. Job Scheduling
3. Auto healing/scaling
- 학습/배포용 서버의 장애 대응 자동화
컨테이너 기반의 자원격리가 바탕이 되어야 함
여럿이서 하나의 gpu 서버를 사용하게 될 때 붐비는 시간을 제외하면 자원 누수가 많음 -> scheduling으로 worker queue에 올리고 끝나면 slack 등으로 noti를 받고 실패 시 재구동을 할 수 있음
gpu 서버 공통 사용 시 training -> serving 모든 단계에서 gpu를 소유하고 있어야 함
그러므로 training 단계에서만 gpu를 사용할 수 있게 만들어주는 것!
컨테이너 내부 작업한 내용은 보존해주지 않음: stateless
PVC 를 활용해 mount된 경로에 작성할 수 있으므로 주의해야 함
seldon core, bentoML과도 연동시킬 수 있음
특정 기능에 있어 더 좋은 툴이 있으면 변경 가능
하이퍼 파라미터 튜닝 등 가능
ML Model lifecycle에서 가장 리소스를 많이 필요로하는 부분을 k8s로 자원 절약이 가능한 모듈
AutoML:= HPO + NAS 을 유저 뒤에서
ML training operator를 합쳐서 TO 구성요소를 만듦
인증: Istio
인가: k8s rbac
를 기반으로 진행
UI / CLI를 거친 유저에게 제한된 자원 내에서 정해진 기능을 사용할 수 있게 구성
여러 모델과 연동시켜 사용하기 편리함
파이프라인 리소스를 중심으로 모든 동작이 수행됨