MLOps
- Machine Learning + Operation
- 머신 러닝 서비스를 유지, 관리해주는 도구
- ML Service : ML 모델을 통해 유의미한 결과를 얻어가는 것
서비스 구조
일반적인 SW서비스
미성숙한 ML 서비스
최근 ML 서비스
- 머신 러닝의 비중과 복잡도 커짐에 따라 백엔드와 분리된 상태
- 백엔드와 인프라 사이에서 동작하게되며 ML 서비스 자체에 대한 전문적인 관리 방법 필요성 증가 (MLOps)
복잡도가 어떻게 증가되었는가?
- 같은 '코드'를 사용하더라도 학습 데이터에 따라 AI가 달라진다.
- 같은 '데이터'를 사용하더라도 AI의 성능이 달라진다.
- 하나의 기능을 하는 AI라도 다양한 모델이 존재한다.
MLOps를 구축 시 기대효과
1. 문제 풀이와 모델링에 더 집중할 수 있다.
- 구글에서 제시한 실제 ML 구조에 따르면 실제 모델링, 코드 부분은 비중이 매우 적다는 걸 알 수 있는만큼 MLOps가 많은 부분을 감당해줄 수 있기에 코드 자체에 대한 집중이 가능하다.
2. 더 정교한 실험 설계와 실험 관리가 가능하다.
- ML의 복잡성이 높은 만큼 체계적인 관리가 가능하도록 해줄 수 있다.
3. 배포한 모델의 문제가 생기는 경우 빠르게 환경을 재현할 수 있다.
- Silently failure : 분류 모델을 예시로 들었을 때, 의도하지 않은 분류 대상이 들어와도 '실패'가 아닌 분류 범위 내에서 값을 반환한다.
- Data drift : 훈련시킨 모델과 실제 운영 환경에서의 데이터 사이에 발생하는 변화. 시간이 지남에 따라 실제 환경에서의 데이터 분포가 달라지며 발생할 수 있고 모델 성능 저하의 주요 요소 중 하나이다.