밑바닥에서 시작하는 MLops 이해
Updated:
머신러닝(Machine learning )
- 데이터로부터 학습하는 모델을 구축하는 프로세스
머신러닝 모델(Machine Learning Model)
- 데이터에서 패턴을 학습하는 알고리즘
머신러닝 프로젝트(Machine Learning Project)
- 머신러닝 프로젝트는 머신러닝 모델을 만드는 것이 아니다.
- 머신러닝 프로젝트는 데이터 수집, 가공, 모델 제작, 모델 검증, 배포, 모니터링등 일련의 과정을 이야기한다.
MLOps (ML operations)
- Machine Learning 모델의 기획부터 런칭, 운영까지 도움을 주는 방법론
- Machine Learning 모델의 업데이트, 자동화 등을 위한 파이프라인
- 기존 서비스의 서버를 Shutdown하지 않고, 더 좋은 모델이 개발되면 새로운 모델이 자동으로 등록되고 패키징되어 배포되도록 하는 일련의 과정이 가능
ML 생애주기(Machine Learning Lifecycle)
- 문제정의 - ML로 해결 가능한 문제 정의 및 데이터 확보방안
- Top - Down / Bottom Up 등의 방식으로 문제를 정의
- 데이터 준비 - 데이터 수집 및 탐색
- EDA(탐색적분석)단계를 통해 데이터의 특징 확인
- 모델 설계 - 모델 학습과 실험
- 모델 선택, 튜닝 , 최적화(Optimization) 등
- Auto ML(Automated ML): 모델 학습/ 최적화/ 비교평가 자동화 , 실험추적 관리
- 모델 검증 : 모델의 예측값이 실젝값에 얼마나 가까운가 측정, 일빈화의 정도(얼마나 일반적인 문제를 해결할 수 있는가?), 처리 성능(소요 시간, 컴퓨팅 자원, 안정적 운영 등)
- 배포 / 서빙 - 모델을 통한 서비스 운영
- MLOps(ML Operations) : ML + DEV + OPS
-
- ML : 비지니스 이해, 데이터 탐색 및 가공, 초기 ML 모델링, ML 모델 최적화 및 평가
-
- Develop : 지속적 통합(CI), 빌드(모델 최적화), 테스트, 모델 등록
-
- Operate : 지속적 배포(CD), 서빙 , 데이터 피드백 루프 , 데이터 수집, 시스템/ 모델 모니터링
MLOPS의 조건
1. 지속적 통합(CI : Continuous Integration): 구성요소 빌드 및 테스트
2. 지속적 배포 (CD: Continuous Deployment) : 모델 서비스를 자동 배포
지속적 학습(CT: Continuous Test): 모델을 자동으로 재학습
- 모니터링 - 지속적인 서비스 모니터링
- 데이터 트리프트(Data Drift)
- 데이터의 패턴 특성이 시간이 자녀먼서 변하는 현상
- 학습 데이터와 예측 데이터의 차이가 커질수록 예측 성능이 저하될 가능성
- 지속적으로 데이터 드리프트를 모니터링 하면서 모델의 재 학습 시점을 판단하는 방법
- 모델 재 학습 및 재 배포
- 데이터 드리프트를 모니터링 하면서 모델의 재학습 시점으로 판단되면 재 학습 및 재 배포
Leave a comment