참조
MLOps, DevOps
- 소프트웨어를 서비스화할 때 필요한 것들 인 듯? -> 단순히 특정 기기에서 프로그램을 실행하는 것이 아닌.. 서버-클라이언트의 관계를 갖는 서비스 제공 위해서
- CI/CD : 서버는 지속성이 주요한 요소(업데이트 되더라도 클라이언트가 계속 이용할 수 있게)
- CI(Continuous Integration)
- CD(Continuous Deployment)
- 개발자, 운영자, QA와 연관
- 개발자는 코드 관련 수정
- 운영자는 최신 모델로 업데이트
- QA는 그것에 대한 평가
DevOps
- 개발자, 운영자, QA의 과정을 잘 묶고 자동화하는 기술/시스템 의미 -> 서비스 전체의 Pipeline 의미
- Versus MLOps
- ML을 이용한 서비스에 대해서는 기존 DevOps의 시스템이 적용되기 힘듦. 지속적인 학습을 통해 성능을 개선하므로 CT(Continuous Training)에 대한 보장 필요
- CT 요소 : 학습 데이터 추가/ 분류 레이블이 늘어나는 등에 대한 시나리오들..
MLOps
- ML 시스템 개발(Dev), ML 시스템 운영(Ops)를 통합하는 것 목표로 하는 ML 엔지니어링 문화/방식
- ML 시스템에 대하여 통합, 테스트, 출시, 배포, 인프라 관리 등에 대한 기능 -> ML 시스템을 구성하는 모든 단계에서 자동화, 모니터링을 위함
- CI, CD, CT 지원
구성 요소
-
대규모 데이터셋
-
컴퓨팅 리소스
-
ML 위한 가속기(클라우드 플랫폼)
-
ML 분야(알고리즘)에 대한 연구
-
구글의 ML system에 대한 예시
MLOps 제공
- MS의 Azure
- ML의 Pipeline
- 데이터 추출
- 데이터 분석
- 데이터 준비
- 모델 학습
- 모델 평가
- 모델 검증
- 모델 제공
- 모델 모니터링