채널톡 아이콘

인프런 커뮤니티 질문&답변

오강현님의 프로필 이미지

작성한 질문수

실리콘밸리 데이터 리더가 알려주는 Airflow 기초

데이터 파이프라인 작성시 고려할 점 (2)

Data Drift 발생시 머신러닝 모델이 동작하지 않는 것의 의미

작성

·

60

1


1. Data Drift 발생 시에 머신러닝 모델이 동작하지 않게 될 것이라는 것은 서비스는 돌아가지만, 머신러닝의 모델이 원래 기대했던 성능을 내지 못할 것을 의미하는 것일까요?

예를 들어 추천 모델을 돌리고 있다면, 추천이 제대로 되지 않고 엉뚱한 것을 추천한다는 것을 의미하는 것인가요?

2. 주기적으로 데이터의 분포를 점검하는 필요가 있다면 어느 정도 주기여야 할까요?

3. 데이터의 분포가 어느 정도로 변하게 되면 이상 신호로 받아 들이게 되는 것인가요? 평균의 변화가 아닌 분산의 변화만으로도 이상 신호로 보아야 하는 것인지요? (뭔가 더 복잡하면 데이터의 성격에 따라 이러한 분포의 변화에 대해 반응해야 하는 수준이 다 다를 것으로도 느껴지기도 합니다.)

답변 1

1

한기용님의 프로필 이미지
한기용
지식공유자

좋은 질문 감사드립니다.

1. Data Drift 발생 시에 머신러닝 모델이 동작하지 않게 될 것이라는 것은 서비스는 돌아가지만, 머신러닝의 모델이 원래 기대했던 성능을 내지 못할 것을 의미하는 것일까요?

맞습니다. 예를 들어 모든 머신 러닝 서비스에는 중요 성능 지표가 있게 되는데 예를 들면 추천한 내용에 대한 클릭 비율 등등 이런 지표가 하락하게 됩니다.

2. 주기적으로 데이터의 분포를 점검하는 필요가 있다면 어느 정도 주기여야 할까요?

ML 모델이 어떤 일을 하느냐에 따라 민감도가 다를 듯 한데 일반적으로 추천/검색 등이라면 일주일이나 한달에 한번 정도가 적당하지 않을까 싶습니다. 보통은 ML 모델을 구동하는 API 레이어에서 들어오는 데이터를 전수조사를 하거나 데이터가 너무 많다면 샘플링을 해서 랜덤하게 로그를 남기는 것이 일반적입니다. 사실은 이런 데이터 분포의 점검 보다 선행되어야 하는 것은 모델의 성능 지표의 트렌드를 주기적으로 확인해보는 겁니다. 떨어진다 싶으면 분명히 data drift 같은 이슈가 이유일 확률이 높습니다.

3. 데이터의 분포가 어느 정도로 변하게 되면 이상 신호로 받아 들이게 되는 것인가요? 평균의 변화가 아닌 분산의 변화만으로도 이상 신호로 보아야 하는 것인지요? (뭔가 더 복잡하면 데이터의 성격에 따라 이러한 분포의 변화에 대해 반응해야 하는 수준이 다 다를 것으로도 느껴지기도 합니다.)

ML 모델의 입력이 되는 모든 피쳐에 대해 체크할 필요는 없구요. 기본적으로는 중요 피쳐들에 대해서만 보면 충분할 텐데 평균과 분산 모두 봐야할테고 상황마다 조금씩 다 다를꺼라 처음에는 앞서 이야기했던 것처럼 중요 성능 지표의 변화를 모니터링하다가 나빠지는게 보일 때 중요 피쳐의 변화를 살펴보는 걸 추천드립니다.

요즘 ML 프레임워크들 (예를 들면 AWS의 SageMaker)은 ML 모델의 배포와 모니터링을 지원하는 경우가 많습니다. 이쪽을 최근에는 본 적이 없어서 어떤 제품들이 많이 사용되는지는 모르겠습니다만 data drift 분석을 쉽게 해주는 서비스도 분명히 있으리라 믿습니다. 도움이 되었으면 좋겠고 추가 질문이 있다면 알려주세요!