* 프로그래머스의 마키나락스 MLOPS 강의를 참고하여 작성함
모델 저장소는 학습이 완료된 모델을 저장할 수 있게 한다.
아래 그림과 같이 모델 재현을 위한 실험관리 내용과 함께 모델을 저장해볼 것이다.
프로그래머스 MLops 강의에서 진행하는 순서대로 따라가면서 모델 저장소를 구축하고 실행할 예정이다.
하나의 저장 구조의 예시로 보면 될 것 같다.
모델 저장을 위한 아키텍처
모델 저장의 전체 구조는 1개의 local host 와 3개의 remote host로 구성되어 있다.
각각의 역할을 살펴보자면 아래와 같다.
1. 로컬 호스트 (LocalHost)
사용자가 직접 접근하는 호스트로, 모델 관리 시스템의 인터페이스 역할을 한다.
로컬 호스트를 통해서 모델을 등록하고 추적할 수 있다.
2. 원격 서버 (RemoteHost)
MLflow와 같은 모델 관리 도구가 실행되는 곳으로, 지금까지 실습에서 활용한 원격 서버이다.
이 서버는 기존에는 SQLAlchemy를 사용하여 메타데이터를 저장했지만, 더 효율적인 모델 관리를 위해 3.의 PostgreSQL를 사용한다.
3. 백앤드 스토어 (Backend Store)
오른쪽 아래 그림으로, PostgreSQL 원격 호스트는 백앤드 스토어의 역할을 한다.
백엔드 스토어는, 수치 데이터와 MLflow의 서버 정보들을 체계적으로 관리하기 위한 데이터베이스이다.
저장항목은 '메타 데이터, 모델에 관한 정보, 학습중 생기는 정보' 등이다.
4. 아티펙트 스토어 (Artifact Store)
왼쪽 아래 그림으로, Amazon S3 원격 호스트는 아티펙트 스토어의 역할을 한다.
아티펙트 스토어는 '학습된 모델을 저장하는 모델 저장소 (Model Registry)'로써 이용된다.
아티펙트란 애플리케이션 코드가 있는 파일 또는 폴더, 인덱스 페이지 파일, 스크립트 등과 같이 파이프라인의 작업에 의해 작동되는 파일을 말한다.
아티펙트 스토어를 활용할 경우, 모델을 기본 파일 시스템보다 체계적으로 관리 가능하며,
외부의 스토리지 서버도 사용이 가능하다는 장점이 있다.
'MLOps' 카테고리의 다른 글
[MLOps] 13. MinIO 사용하기 (구축, data 업로드&다운로드) (0) | 2024.04.30 |
---|---|
[MLOps] 14. 모델 파일에 MinIO 반영 및 실행 (0) | 2024.04.30 |
[MLOps] 12. 데이터 관리 (feat.MinIO 소개) (0) | 2024.04.22 |
[MLOps] 11. 교차검증 (Cross-validation) (0) | 2024.04.22 |
[MLOps] 10. MLflow + Optuna 실습 (0) | 2024.04.22 |