[분석AI서비스팀 김민석]
ML 서비스가 많아지고, 지속적 학습을 하기 위해서는 ML PIPELINE을 구성하고 이를 관리하기 하기 위해서 우리는 여러 MLOPS 플랫폼을 사용하는데요.
대표적으로 Kubeflow가 있을텐데요. Kubeflow는 다양한 장점이 있지만 Kubernetes 환경에 종속적이며, 처음 사용하기는 다소 어렵다는 단점이 있는데요. 이러한 경우 대체 될 수 있는 ZenML 을 소개하고자 합니다.
ZenML 장점
- 단순한 사용성: ZenML은 사용하기 쉬운 인터페이스와 간편한 구성으로 데이터 사이언티스트 및 엔지니어가 머신러닝 워크플로우를 쉽게 구축하고 실행할 수 있습니다. 각 단계를 추상화하여 파이프라인을 만들고 관리하는 데 도움이 됩니다.
- 모듈화된 아키텍처: ZenML은 모듈화된 아키텍처를 사용하여 데이터 전처리, 모델 학습, 평가 및 배포와 같은 각 단계를 분리하여 유연성을 제공합니다. 이를 통해 파이프라인의 특정 부분을 변경하거나 업그레이드하는 데 용이합니다.
- 버전 관리 및 재현성: ZenML은 데이터 및 코드 버전 관리를 지원하여 실험의 재현성을 유지합니다. 이를 통해 실험의 결과를 추적하고, 다양한 하이퍼파라미터 조합 또는 데이터 버전으로 실험을 반복할 수 있습니다.
- 유연한 확장성: ZenML은 다양한 환경과 툴에 대한 지원을 통해 유연성을 제공합니다. 다양한 데이터 스토어 및 모델 레지스트리와의 통합이 가능하며, 다양한 머신러닝 라이브러리와 함께 사용할 수 있습니다.
위 사진과 같이 ZenML은 눈으로 보기 쉬운 인터페이스 제공하고 있고 이를 통해서 다른 사람의 코드를 확인하지 않더라도 파이프라인 구성도를 쉽게 이해 할 수 있습니다.
더불어 앞서 설명 드린 것과 같이 유연한 확장성을 가지고 있는데, remote 작업을 통해 내부 서버에서 작업하여 클라우드로 배포할 수 있는 환경을 제공합니다.
또한 여러 데이터 클라우드 스토리지 들이나, 관리형 클라우드 서비스들과 ML system에서 많이 사용하고 있는 MLflow나 BentoML 과 같은 오픈소스들을 연동할 수 있는 장점을 가지고 있습니다.
마무리
AI 서비스가 확장됨에 따라, 좀 더 효율적인 ML 시스템을 구축하기 위해서 우리는 많은 오픈소스들을 사용하고 있습니다. 이는 AI 산업이 커짐에 따라서 계속해서 확장될 것이라고 생각합니다. 이러한 흐름에 따라 확장된 오픈소스들을 통합하여 관리할 수 있는 서비스를 갖출 필요성이 있다고 생각합니다.
References
https://docs.zenml.io/getting-started/introduction
https://github.com/zenml-io/zenml