데이터 관리의 필요성
1. ML Research vs ML Production
ML에서 다양한 이유에서 데이터 관리의 필요성이 대두되나, 특히 연구와 배포의 괴리 문제 해결을 위해 중요함.
배포 이전 연구 단계에서, Competition 의 경우 지정된 데이터만, Research 의 경우 벤치마크 데이터만 사용하는 경우가 다수인데,
배포 이후 시간의 흐름에 따라 데이터가 변화하면서 모델의 성능은 필연적으로 떨어짐.
2. Data Drift 문제의 발생
이런 문제를 Data Drift 현상이라고 하는데,
Train 데이터의 distribution과 Real world 데이터의 distribution이 서로 다르기 때문에 발생.
현실에서는 순간적으로, 지속적으로, 점진적으로, 일시적으로 등 데이터가 변화하므로 모델을 새로운 데이터로 지속적인 재학습이 필요함.
예를 들어, 추천모델 개발에서 새로운 현실 데이터가 계속 추가됨에 따라 데이터는 끊임없이 변화함
ex. 상품의 유행 변경, 새로운 상품 유입, 상품 생산 작업의 변경, 기기의 고장 등의 다양한 요인들
따라서 데이터를 모니터링하면서 Drift여부에 따른 조치 및 재학습이 필요.
3. Data Versioning 의 필요성
이런 맥락에서 Data 관리 및 versioning의 필요성이 대두됨.
아래처럼 데이터를 묶는 단위를 고안해서 시간의 흐름에 따른 버전 관리 필요.
Minio란?
가능한 데이터 관리 툴로 MinIO가 있음.
Minimal Object Storage로, 데이터 저장 및 관리에 사용되는 툴이자 빠르고 쉬운 오픈소스 분산 객체 스토리지 시스템.
Multi-Cloud로 데이터 인프라를 어떤 클라우드에서나 구축할 수 있도록 해주고,
데이터나 어플리케이션에 대한 일관된 인터페이스 제공 가능하다고 함.
특히 Amazon Web Services의 S3 (Simple Storage Service)와 호환 가능한 API를 제공하는 스토리지 도구로 유용
이후 포스팅들에서 MinIO를 통해 데이터 관리하는 방법을 알아볼 것
https://github.com/minio/minio
* 참고자료
데이터 관리 필요성의 다양한 유형에 대한 포스팅
https://www.redhat.com/ko/topics/data-services/what-is-data-management
MinIO에 대한 설명 포스팅
https://www.itmaya.co.kr/wboard/view.php?wb=tech&idx=21
'MLOps' 카테고리의 다른 글
[MLOps] 14. 모델 파일에 MinIO 반영 및 실행 (0) | 2024.04.30 |
---|---|
[MLOps] 15. 모델 저장 개념 및 구조 (0) | 2024.04.29 |
[MLOps] 11. 교차검증 (Cross-validation) (0) | 2024.04.22 |
[MLOps] 10. MLflow + Optuna 실습 (0) | 2024.04.22 |
[MLOps] 9. Optuna 실습 (0) | 2024.04.22 |