모델 학습을 위한 데이터 전처리와 서빙되는 모델을 위한 데이터 전처리 파이프라인이 다르다는 문제가 있다. 이를 학습-서빙 왜곡이라고 한다(참고1). 모델에게 책임을 전가하여 전처리 파이프라인을 모델에 묶는 방법(TFT 프레임워크(참고2), Keras Preprocessing 레이어 사용), 데이터에게 책임을 전가하여 전처리가 모두 완료된 데이터를 보장하는 방법(피처 스토어 도입) 등이 있다(참고3).
물론 TFT, 피처 스토어 등을 도입하기 전에 반드시 이것들이 필요한지 고민해볼 필요가 있다. 훨씬 단순하고 간단하게 처리가 가능한 부분을 복잡하게 풀지 말자. 가장 린한 방법은 전처리를 독립된 함수(참고4) 혹은 마이크로서비스로 독립시켜 두는 방법이다(참고5).
parse me : 언젠가 이 글에 쓰이면 좋을 것 같은 재료들.
1.
None
from : 과거의 어떤 생각이 이 생각을 만들었는가?
1.
•
문제를 처음 발견하게 된 시점은 위 프로젝트를 진행하면서라고 볼 수 있다.
2.
•
모델 서빙에서 발생하는 문제라고 바라볼 수 있다.
3.
•
피처 스토어는 머신러닝 엔지니어 입장에서 ‘곧바로 모델에 입력될 수 있는 형태’로 데이터가 저장된 최고의 데이터 원천이다.
supplementary : 어떤 새로운 생각이 이 문서에 작성된 생각을 뒷받침하는가?
1.
None
opposite : 어떤 새로운 생각이 이 문서에 작성된 생각과 대조되는가?
1.
None
to : 이 문서에 작성된 생각이 어떤 생각으로 발전되고 이어지는가?
1.
None
참고 : 레퍼런스