개요
현재 서비스기업에서는 많은 비즈니스가 ML 기능에 투자하여 사용자에게 비즈니스 가치를 제공할 수 있는 예측모델을 개발하고 있다. MLOps 는 ML 시스템 개발과 ML 시스템 운영을 통합하는 것을 목표로하는 ML 엔지니어링 문화 및 방식이다.

DevOps 와 MLOps 의 비교
DevOps 는 대규모 소프트웨어 시스템을 개발하고 운영하는데 널리 사용되는 방법이다. 개발 주기 단축, 배포 속도 증가, 안정적인 출시 등의 이점을 얻기 위해 1) 지속적 통합 (CI) 와 2) 지속적 배포(CD) 두 가지 개념을 도입한다.
ML 시스템도 마찬가지로 시스템을 안정적으로 빌드하고 운영할 수 있는데에 목적이 있지만 아래와 같은 점에서 다른 소프트웨어 시스템과는 다르다
- 팀 기술
- ML 프로젝트에서 팀은 일반적으로 탐색적 데이터 분석, 모델 개발, 실험에 중점을 두는 데이터 과학자 또는 ML 연구원을 포함한다. 이러한 구성원 중에는 프로덕션 수준의 서비스를 빌드 가능한 개발자가 없을 수도 있다.
- 개발
- ML 도메인은 기본적으로 실험적이다. 알고리즘, 모델링 기법, 매개변수 구성등을 다양하게 시도하여 비즈니스 문제 가장 적합한 것을 찾는다.
- 테스트
- 일반적인 단위테스트, 통합테스트 뿐만아니라 데이터 검증, 학습된 모델 품질 평가, 모델 검증등이 필요하다.
- 배포
- ML 시스템에서 배포는 오프라인으로 학습된 ML 모델을 서비스로 단순히 배포하는 것만큼 간단하지 않다. 1) 모델을 자동으로 재학습 2) 재학습된 모델을 자동으로 배포와 같은 복잡성이 추가된다.
- 프로덕션
- 비즈니스 요구사항은 지속적으로 변한다 ML 모델은 이러한 변화는 비즈니스 요구사항에 적응하지 않으면 지속적으로 성능이 저하될수 있다. 따라서 데이터의 요약 통계를 추적하고 모니터링하여 기대치를 벗어나면 알림을 전송하거나 롤백한다.
ML 을 위한 데이터 과학 단계
비즈니스 사용사례를 정의하고 성공 기준을 설정한 후 ML 모델을 프로덕션에 제공하는 프로세스는 아래와 같은 단계가 포함된다. 이러한 단계는 수동으로 완료하거나 자동 파이프라인으로 완료할 수 있다.
- 데이터 추출
- 데이터 분석
- 데이터 준비
- 모델 학습
- 모델 평가
- 모델 검증
- 모델 서빙
- 모델 모니터링
참고
'MLOps' 카테고리의 다른 글
[ONNX] - 개요 (0) | 2024.02.09 |
---|