Validating Data
이 포스트는 Coursera의 MLOps Specialization 강의 내용을 기반으로 작성되었습니다.
Detecting Data Issues
- Drift : 시간 흐름에 따라 데이터의 변화
- Skew : 훈련 셋과 서빙 셋고 같은 2가지 정적요소간의 차이가 발생
- Model Decay : Data drift
- 데이터 분포가 변화하여 잘못된 분류가 발생하여 모델이 붕괴
- Performance decay : Concept drift
- 라벨의 분포가 변화하여 훈련 상황에 비해 서비 상황 성능이 좋지 않음
- 데이터 이슈 감지
- Detectic schema skew
- 훈련 및 서빙 데이터가 동일한 스키마 구조를 갖지 않음
- Detecting distribution skew
- 데이터셋이 변화함 $\rightarrow$ covariate나 concept이 이동
- Detectic schema skew
Detecting distribution skew
Training | Serving | |
---|---|---|
Joint | $P_{train}(y, x)$ | $P_{serve}(y, x)$ |
Conditional | $P_{train}(y|x)$ | $P_{serve}(y|x)$ |
Marginal | $P_{train}(x)$ | $P_{serve}(x)$ |
- Dataset shift : $P_{train}(y, x) \neq P_{serve}(y, x)$
- Covariate shift : 입력의 분포 변화
$P_{train}(y|x) = P_{serve}(y|x)$
$P_{train}(x) \neq P_{serve}(x)$ - Concept shft : 입출력 관계의 변화
$P_{train}(y|x) \neq P_{serve}(y|x)$
$P_{train}(x) = P_{serve}(x)$
TensorFlow Data Validation
- ML data를 모니터링하는 도구로 TensorFlow Data Validation(TFDV)를 제안
- ML pipeline의 상태를 유지하고자 TFX 사용자를 도와줌
- TFDV 사용처
- 데이터 통계를 생성하고 시각화
- 데이터 스키마 추론
- 스키마에 반하는 유효성 검사
- 데이터 셋의 skew 감지
- 실제 사용은 깃허브 참조
Comments powered by Disqus.