본문 바로가기

mlops, devops

[MLOps] Model Monitoring(1) - 모델 성능, Model Drift, 데이터 품질

 

 

모델 모니터링 도구인 Arize AI 참고

https://arize.com/model-monitoring/#!

 

Model Monitoring

Learn what model monitoring is, why it’s important, how to setup and configure alerts and monitors, and how it relates to ML observability

arize.com

모델 모니터링이란?

- 모델에서 일어나는 이상 수치를 감지하는 것. 모델 메트릭이 임계값을 초과할 때 알림을 줌.

모델 모니터링이 중요한 이유

- 실제 운용에서 모델은 무수히 많은 문제를 맏닥뜨리지만, 절반 이상의 ML 팀은 프로덕션 중인 모델에 이상이 있을 때, 이를 확인할 수 있는 신뢰할 수 있는 지표가 없음

모델 모니터링 대상

- 모델 성능관리 (model performance analysis monitoring)

- Model Drift

- data quality monitoring

모델 모니터링 - 모델 성능 관리

일별, 또는 시간별 모델의 성능을 평가함

output과 ground truth를 가지고 모델 평가 지표를 계산함 (inference 결과와 실제 결과를 넣어줘야함)

평가 지표로서는 accuracy, recall, precision, F1, MAE, MAPE 등이 있음

 

 

ex) Arize AI에서 모델 성능 관리를 위한 production 환경의 dataset

- https://docs.arize.com/arize/model-types/regression

- 한달 간의 실제 데이터를 dataset으로 넣어서 분석함

- predictions와 actuals도 함께 넣음

production의 dataset
성능 분석
피쳐 별 모델 영향도

피쳐의 범위 별로 모델에게 미치는 영향을 히스토그램과 수치로 확인할 수 있음

 

 

Ground Truth란?

실제 환경에서의 정답. 우리의 모델이 우리가 원하는 답으로 예측해주길 바라는 답.

(an ideal expected result. desirable answer data for training your system.)

 

ex) 고양이와 사람을 분류하는 모델이 있음. 고양이 분장을 한 사람은?

- label, 즉 정답은 없음. 하지만 우리 모델이 '고양이'로 분류해줬으면 함. 이 때, ground truth는 고양이.

 

모델 모니터링 - Model Drift

모델 학습 후, 모델을 서비스에서 사용할 때

시간이 지나면서 실제 데이터는 학습 시점의 데이터와 많이 달라지게 됨

 

model drift란 변화하는 환경에 의해 모델의 성능이 저하되는 것을 의미함

따라서 모델이 오래되었는지, 데이터 품질에 문제가 있는지, 모델과 맞지 않는 input이 있는지를 측정하여

model drift를 감지 후, 모델 성능을 개선해야함

 

 

학습데이터를 기준으로 features, 예측값, 실제값들 사이에서의 model drift를 측정함

production 환경을 고려하여 짧은 단위의 drift 기간으로 설정함 (ex. 2주)

 

자동으로 drift를 모니터링해 alert를 주는것을 권장

 

* model drift의 상세 내용 참고: [MLOps] Model Monitoring(2) - AI서비스에서의 Model Drift 관리

 

[MLOps] Model Monitoring(2) - AI서비스에서의 Model Drift 관리

model drift란? 모델 학습 후, 모델을 서비스에서 사용할 때 시간이 지나면서 실제 데이터는 학습 시점의 데이터와 많이 달라지게 된다. 예를 들면 코로나 시기 이전에 개발한 모델로 서비스를 운영

sonnson.tistory.com

 

 

모델 모니터링 - 데이터 품질

데이터는 주로 여러 시스템 또는 다른 업체에서 수집해야하거나, 다른팀에서 보유하고 있을 가능성이 높음.

이런 데이터들은 높은 성능을 보장하지 못하기 때문에 input으로 들어오는 데이터의 품질을 판별함

데이터 저품질을 주로 유발하는 원인 예시) cardinality shift, input 데이터 타입 오류, 데이터 유실 등

 

타사에서 데이터를 구매하는 경우, 공급 업체에서 제공된 데이터가 변경될 때 경고함

feature store에 모니터링 alert을 걸어놓기를 권장

 

비정형 데이터 모니터링

비전이나 nlp같은 경우 데이터의 벡터값을 시각화해서 모니터링할 수 있음

새로운 패턴이나 기본 데이터 변경 및 데이터 품질 문제를 확인할 수 있음

 

 

다음 글) https://sonnson.tistory.com/52

 

[MLOps] Model Monitoring(2) - AI서비스에서의 Model Drift 관리

model drift란? 모델 학습 후, 모델을 서비스에서 사용할 때 시간이 지나면서 실제 데이터는 학습 시점의 데이터와 많이 달라지게 된다. 예를 들면 코로나 시기 이전에 개발한 모델로 서비스를 운영

sonnson.tistory.com