[MLOps] MLFlow 정리
MLOps를 위한 MLFlow 정리
[MLOps] MLFlow 정리
MLflow란?
- 머신러닝 프로젝트를 관리하기 위한 오픈 소스 플랫폼
- Project Lifecycle의 모든 단계에서 적용할 수 있으며, 개발/학습/추론/배포에 이르는 모든 단계에서 사용할 수 있음
- MLFlow는 모델 학습에 집중한 플랫폼
- 단, MLFlow는 MLOps의 모든 기능을 제공하는 것은 아님. 추가적인 MLOps지원 기능과 integration할 필요가 있음. (MLOps 1단계에 사용할 것을 권장)
구성요소
- MLFlow Tracking : 머신러닝 모델 학습 결과를 추적하고,다양한 프레임워크에서 동작할 수 있는 학습코드의 재현성을 보장하는 기능
- MLFlow Projects : 머신러닝 프로젝트의 코드, 환경설정, 종속성 등을 관리
- MLFlow Models : 학습된 머신러닝 모델을 관리하고, 다양한 환경에서 모델을 배포할 수 있는 기능 제공
- MLFlow Registry : 모델 버전을 관리하고, 공동작업을 위한 모델저장소를 제공
MLFlow Tracking
- 기계 학습 프로젝트에서 발생하는 모든 실험의 메타데이터를 추적하고 저장
- 데이터 과학자들이나 엔지니어들은 다양한 실험 간의 성능을 비교하고 분석 할 수 있음
주요 기능
- 메타 데이터 관리
- Backend Store
MLFlow Projects
- ML모델을 포장하고 재현 가능한 방식으로 관리하여, 다양한 환경에서 일관된 결과를 얻을 수 있도록 지원
주요 기능
- 재생산 가능한 ML실행
- Dependency정의
- 실행 API
MLFlow Registry
- ML모델의 다양한 버전과 스테이지를 중앙화된 방식으로 관리하고, 이러한 변화를 추적
주요 기능
- 중앙화된 Repository
- 모델 staging
- 변화 관리와 모니터링
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.
