Labeling Data
이 포스트는 Coursera의 MLOps Specialization 강의 내용을 기반으로 작성되었습니다.
Case Study: Degraded Model Performance
- 신발을 팔고 있는데 남성 신발(특정 부분)에서 예측력과 AUC가 감소하는 것을 발견
- 문제의 원인이 되는 요소는 너무 많음
- 유행이 지난 디자인
- 비즈니스 구조의 변화 등…
What causes problems?
- 문제의 종류는 2가지가 있음
- 느린종류(Gradual) : 데이터가 너무 오래되어 변화함
- 빠른종류(Sudden) : 잘못된 센서, 잘못된 SW 업데이트
- 점진적인 문제로는 데이터 변화와 세계의 변화가 있음
- 데이터의 변화 : 트랜드, 계절성, feature 분포 변화에 따른 관련성의 변화
- 세계의 변화 : 스타일 변화, 프로세스, scope의 변화, 경쟁자의 변화 등….
- 급격한 문제로는 데이터 수집 문제와 시스템적 문제가 있음
- 데이터 수집 문제 : 잘못된 센서, 로그데이터 등…
- 시스템적 문제 : 잘못된 업데이트, 네트워크 연결 문제, 시스템 다운 등등…
Why “understand” the model?
- 잘못된 예측은 균일하지 못한 비용지출을 야기하므로 이를 모니터링해야함
- 데이터가 좋지 않아도 어쩔 수 없는 경우가 존재함
- 유저가 좋지 못한 서비스 경험을 할 수도 있음
- 무엇보다 실제 세상은 가만히 있지 않음
The real world does not stand still!!
Data and Concept Change in Production ML
Data problems
- 데이터나 scope가 변화하기도 함
- 모델과 검증 데이터를 모니터링하면 문제를 빠른시기에 찾을 수 있음
- 기저지식(ground truth)이 변화 : 새로운 훈련 데이터를 라벨링
Problem case
- Easy problem
- 기저지식이 몇달, 몇년마다처럼 천천히 바뀌는 경우
- 모델의 향상, 더 좋은 데이터 등을 기반으로 모델 재학습 진행
- 선별된 데이터, crowd 기반의 라벨링 진행
- Harder problem
- 기저지식이 몇주마다처럼 빠르게 변하는 경우
- 모델은 감소하는 모델 성능을 기반으로 재학습 진행
- 즉각적인 피드백이나 crowd 기반의 라벨링 진행
- Really hard problem
- 기저지식이 몇일 몇시간 단위처럼 매우 빠르게 변화
- 모델은 감소하는 모델 성능을 기반으로 재학습 진행
- 즉각적인 피드백, 전문가를 통한 라벨링 진행
Process Feedback and Human Labeling
- 인간이 라벨링을 하는 경우로는 process feedback과 Human Labeling이 존재
Why is lableling important?
- 비즈니스, 기관에는 많은 경우 라벨링되지 않은 데이터들
- 빈번하게 모델을 재학습
- 훈련 데이터셋을 만드는 경우 라벨링이 필요
Process Feedback
- 장점
- 데이터셋 훈력이 지속적으로 생성됨
- 라벨이 빠르게 형성
- 매우 강한 label signal 확보 (eg. 클릭여부)
- 단점
- 문제의 고유한 특성의 방해
- 기저지식 확보 실패
- 대부분 맞춤형으로 디자인된 경우가 많음
- Logstash, Fluentd등을 통해 로그분석을 진행
- Google Cloud Loggin, AWS ElasticSearch, Azure Monitor 등을 통해 클라우드 로그 분석 진행
Human labeling
- Rater들이 데이터를 판단하고 직접 라벨링을 진행
- 라벨링 방법론
- 라벨링되지 않은 데이터 수집
- human “raters” 모집
- rater들에게 라벨링 가이드라인 제공
- 데이터를 rater를 통해 분류
- 장점
- 많은 라벨
- 순수하게 지도적인 학습 (Pure supervised learning)
- 단점
- quality consistency : 데이터에 따라 라벨링이 어려운 경우 존재
- specialist에게 부탁하는 경우 비용소모가 큼
- 느림
Comments powered by Disqus.