[ MLops Deployment & Monitoring ] Model Monitoring
Train, Test, Deploy.
그래서, 다 끝난거야?
배포 작업 이후에 어떤 것이 문제가 될 수 있을까? </br>그것을 알기 위해서는 Monitoring 작업이 필수적이다. </br> Model Monitoring
는 크게 3가지로 나뉜다.
- Data Drift
- Model Drift (Concept Drift)
- Domain Shift
그럼 대략적으로 하나씩 훑어보자.
Data Drift 의 종류
- 즉각적인 Drift
- 점진적인 Drift
- 주기적인 Drift
- 일시적인 Drift
그렇다면 Data Drift 는 어떻게 알아차릴까?
먼저 A 부분을 Healthy 한 Data라고 가정한다.
그리고 비교하고 싶은 B라는 window를 지정한다.
그 후 둘 간의 Distance
를 비교한다.
비교 방법
- Rule-based distance metrics (aka, data quality)
- 통계적 방법
- KL divergence ( 가장 많이 사용함 )
- Kolmogorov-Smirnov statistic
- D_1 distance
- High Dimensional data일 경우?
- 단순히 Distance를 비교하게 되면 데이터 손실이 크다 -> 차원 축소의 Logic을 잘 거친 후에 Distance를 비교해야한다.
Evaluation Store (평가 저장소)
ML에서는 버그가 매우 조용하고 잡기 힘들다. 또한 Monitoring
을 통해서 얻을 수 있는 데이터가 다시 Model의 학습데이터
로 사용될 수 있다.
따라서 Monitoring은 기존 Legacy SW보다 ML에서는 매우 중요하다.
이 그림은 ML에서 Monitoring 을 통해 데이터를 어떻게 활용할건지에 대한 Flywheel 그림이다.
단순히 문제가 발생한 데이터를 버리는 것이 아니라 재가공을 진행하여 다시 학습을 시켜 Model
을 한번 더 강화시키는 것이다.
참고 : https://fullstackdeeplearning.com/spring2021/lecture-11/