[Home] AI로 돌아가기
🔗 관련 문서:
MLflow 공식 홈페이지
MLflow (Machine Learning Workflow)
MLflow는 머신러닝 프로젝트의 전체 수명 주기를 관리하기 위한 오픈소스 플랫폼이다. 실험 추적, 모델 패키징, 배포 및 재현 가능성 확보 등의 기능을 제공함으로써 협업과 생산성 향상에 기여한다.
(1) 정의 및 주요 기능
MLflow는 모델 개발 과정에서 발생하는 다양한 정보를 기록하고 관리할 수 있는 플랫폼이다. 특히 다음과 같은 핵심 모듈로 구성된다:
- Tracking: 실험 결과, 매개변수, 메트릭을 기록하고 시각화함.
- Projects: 재현 가능한 실험을 위한 코드 및 환경 정의 제공.
- Models: 다양한 포맷으로 모델을 저장하고 불러오기 가능.
- Registry: 모델 버전 관리 및 승인/배포 프로세스 제공.
(2) 구성 요소 및 구조
MLflow는 로컬 환경뿐만 아니라 클라우드 기반 시스템에서도 활용 가능하며, 독립 실행형 혹은 API 기반으로 통합될 수 있다. 다음과 같은 아키텍처를 따른다:
- 사용자 코드에서 MLflow API를 통해 실험 정보를 기록한다.
- 정보는 Backend Store에 저장되며, SQLite, MySQL 등 다양한 스토리지를 지원한다.
- Artifact Store에는 모델 파일, 이미지 등이 저장된다.
- 웹 UI 또는 REST API를 통해 실험 결과를 확인할 수 있다.
(3) 장점과 한계
장점
- 모델 개발의 재현 가능성 확보.
- 다양한 프레임워크와의 통합 지원 (예: TensorFlow, PyTorch 등).
- 모델 배포 자동화 지원.
- 웹 UI 기반의 직관적인 시각화 제공.
한계
- 설정 및 배포에 대한 기술적 진입 장벽이 존재할 수 있음.
- 확장성 측면에서 자체 커스터마이징이 필요한 경우가 있음.
(4) 개념도
아래의 그림은 MLflow 아키텍처의 흐름을 간략히 나타낸다.
그림 1. 평가 결과 (출처: https://wikidocs.net/)