Skip to the content.

Model-in-image pattern

Usecase

Architecture

클라우드 플랫폼이나 컨테이너를 이용한 서비스 운영은 이미 일반적이지만, 여전히 ML 모델을 서버 이미지로 관리하고 버전 관리하는 것은 중요한 고려 사항입니다. 서버나 컨테이너 이미지에 모델을 포함하여 관리하는 것도 하나의 방법입니다. model-in-image 패턴에서는 모델 파일을 서버 또는 컨테이너 이미지를 포함시켜 모델 학습과 이미지 빌드를 하나의 워크플로우로 만듭니다. 이 경우 이미지 버전과 모델 버전이 동일하기 때문에 각각의 버전 관리를 따로 하지 않아도 됩니다.
모델 학습이 끝난 다음 이를 포함한 이미지를 빌드합니다. 운영 플랫폼에서는 이 이미지를 pull하여 실행함으로써 서비스를 배포할 수 있습니다.
이 패턴의 난점은 이미지 사이즈가 증가하고 이미지 빌딩 시간이 길어지는 경향이 있다는 것입니다. 모델 학습이 완료된 후 이미지 빌드가 시작되기 때문에, 전 과정이 오류 없이 모두 통과되는 파이프라인 구축이 필요합니다. 또, 이미지 용량 증가로 이미지 다운로드가 길어지고 배포 시간도 길어질 수 있습니다.

Diagram

diagram

Pros

Cons

Needs consideration

Sample

https://github.com/shibuiwilliam/ml-system-in-actions/tree/main/chapter3_release_patterns/model_in_image_pattern