잡동사니

AI모델을 관리할 수 있는 저장소로 무엇을 사용할 수 있을까? 본문

IT/AI

AI모델을 관리할 수 있는 저장소로 무엇을 사용할 수 있을까?

yeTi 2021. 1. 22. 09:48

안녕하세요. yeTi입니다.
오늘은 AI모델을 저장하고 버전관리를 할 수 있는 저장소로 사용할 수 있는 서비스들에 대해서 알아보겠습니다.

Nexus Repository OSS

개인 레포지토리로 많이 사용하고 있는 저장소입니다.

Sonatype이 가지고 있는 제품으로 free버전과 pro버전을 제공합니다.
Free버전은 github을 운영하고 있고 라이센스는 Eclipse Public License - v 1.0으로 상업적 사용이 가능합니다.
Pro버전간의 차이는 운영시 고려되어야하는 가용성, storage, 보안, 인증, 모니터링 등의 기능을 추가적으로 제공한다는 것입니다.

지원하는 저장소의 형식은 Bower, Docker, Maven, npm, NuGet, Go, PyPI, RubyGems, YUM, APT, Git, LFS, CocoaPods, Raw, p2, Helm, CPAN, ELPA, CONAN, R, OBR이 있습니다.

Nexus의 무료버전의 경우 쉽고 빠르게 레포지토리를 구성할 수 있다는 장점이 있습니다.

Kubeflow

Kubernetes머신러닝 workflow를 간단하고 portable하며 확장가능하게 배포하는 목적을 가지고 있는 파이프라인입니다.

kubeflow에서 AI model을 배포하기 위해서 사용하는 데이터 저장소를 확인해보면 파일스토리지 형태의 Amazon EFS, Amazon FSx for Lustre, GCP Filestore, ... 입니다.

MLflow

Kubeflow와 비슷하게 Machine Learning Lifecycle Platform으로 mlops를 사용할 수 있는 환경을 제공해주는 서비스입니다.

라이센스는 Apache-2.0 License로 상업적 이용이 가능하고 github을 운영하고 있습니다.

지원하는 데이터 저장소azure, gcs, s3, ftp, sftp 등 파일기반의 스토리지를 사용합니다.

AWS MLOps Framework


aws에서 제안하는 mlops의 구성을 확인해보면 source storages3를 제안하고 있습니다.

GCP MLOps


gcp에서 제안하는 mlops의 구성을 확인해보면 source storagecloud storage를 제안하고 있습니다.

Azure

mlflow를 사용함.

결론

이상으로 조사한 mlopsai model을 위한 저장소는 파일스토리지를 사용하는 것을 알 수 있습니다.
파일스토리지를 사용할때의 장점은 ai model을 사용하는 클라이언트와 저장소간 레이어가 분리되어 저장소와 관련된 가용성이나 스케일과 관련된 운영에 대해서는 클라이언트가 고민하지 않아도 된다는 점입니다.
다만 저장소를 편리하게 사용하기 위한 서비스를 개발해야한다는 단점이 존재합니다.

이에 반하여 nexus의 경우에는 저장소와 이를 사용할 수 있도록 서비스 인터페이스도 제공하기 때문에 간편하게 저장소를 구성할 수 있는 장점이 있는 반면에 운영을 하면서 가용성이나 스케일에 대한 고민이 필요합니다.

따라서 작은 서비스를 빠르게 구성하기 위해서는 nexus가 적합해보이고 충분한 고민을 할 수 있는 환경이 된다면 파일스토리지형태의 저장소를 검토해보는것이 좋아보입니다.

Comments