✏️학습 정리
1-1. 강의 소개
https://velog.io/@kangmin/부스트캠프-AI-Tech-5주차-Day-1
1-2. MLOps 개론
-
MLOps
- ML (Machine Learning) + Ops (Operations)
- 머신러닝 모델을 운영하면서 반복적으로 필요한 업무를 자동화시키는 과정
- 모델링에 집중할 수 있도록 관련된 인프라를 만들고, 자동으로 운영되도록 만드는 일
-
모델 개발 프로세스
- 문제 정의 → EDA → Feature Engineering → Train → Predict
- Research
- 고정된 데이터를 사용해 학습
- Real World, Production 환경에 모델을 배포
- Production
- 계속 변하는 데이터 사용
- SOTA보다 안정적인 운영이 중요
- 서비스에서 문제 해결이 목표
-
MLOps Component
- Infra
- 클라우드: AWS, GCP, Azure, NCP …
- 온 프레미스: 회사나 대학원의 전산실에 서버를 직접 설치
- Serving
- Batch Serving: 많은 데이터를 일정 주기(1일, 1주 등..)으로 한꺼번에 예측
- Online Serving: 실시간으로 예측, 동시에 여러 요청이 있을 경우 병목이 없어야 하고 대답 시간도 고려해야함
- Experiment, Model Management
- 모델은 다양한 종류가 있으므로 모델 생성일, 모델 성능, 모델 메타 정보를 기록해야 함
- 여러 시행착오를 겪으며 실험
- 실험 과정에서 생기는 부산물 저장 (모델 artifact, 이미지…)
- Feature Store
- 실험 별로 중복되는 과정이 있음 (미리 자동화를 해놓으면 편하다)
- 머신러닝 feature를 집계한 feature store
- Data Validation
- 실험을 할 때 과거했던 실험과 비슷한 지 확인할 필요가 있다 (Feature의 분포 확인)
- ex. TFDV, AWS Deequ…
- Continuous Training
- 모델이 생성한 결과가 언제부터 서비스에 맞지 않으면 retrain 필요
- Monitoring
- 모델의 지표, 인프라의 성능 지표 등을 잘 기록해야 함
- AutoML
- 정리
- 모든 요소가 항상 필요한 것은 아니다! (상황에 따라 우선순위 달라짐)
- 작은 단위의 MVP (Minimal Value Product)로 시작해서 점점 하나씩 구축하는 방식 활용