AI 시스템 구축: 도구 – MLflow
ㅁ 도구
ㅇ 정의:
– MLflow는 머신러닝 실험 관리, 모델 버전 관리, 배포를 지원하는 오픈소스 플랫폼으로, 실험 추적(Tracking), 프로젝트 관리(Projects), 모델 저장(Model Registry), 배포(Serving) 기능을 제공한다.
ㅇ 특징:
– 다양한 ML 프레임워크(TensorFlow, PyTorch, Scikit-learn 등)와 호환됨
– 실험 파라미터, 메트릭, 아티팩트 저장 가능
– 모델 버전 관리와 재현성 보장
– 로컬, 클라우드, 하이브리드 환경에서 사용 가능
ㅇ 적합한 경우:
– 다수의 실험을 병렬로 수행하며 결과를 비교/관리해야 하는 경우
– 모델의 버전별 성능 추적이 필요한 경우
– 팀 단위로 모델 개발 및 배포를 협업하는 경우
ㅇ 시험 함정:
– MLflow는 데이터 전처리 자동화를 제공하는 AutoML 도구가 아님 → 실험 관리 도구임
– 모델 학습 자체를 수행하는 프레임워크가 아니라, 학습 과정과 결과를 기록/관리하는 플랫폼임
– Serving 기능이 있지만 대규모 실시간 추론 서버로 특화된 도구는 아님
ㅇ 시험 대비 “패턴 보기” 예시:
O: MLflow는 모델 실험 관리와 버전관리를 지원하는 오픈소스 플랫폼이다.
X: MLflow는 데이터 전처리를 자동화하는 AutoML 솔루션이다.
ㅁ 추가 학습 내용
MLflow는 4가지 주요 컴포넌트로 구성된다.
1. Tracking: 실험의 파라미터와 메트릭을 기록하는 기능을 담당한다.
2. Projects: 재현 가능한 코드 패키징을 제공한다.
3. Models: 다양한 형식의 모델 저장을 지원한다.
4. Registry: 모델 버전과 스테이지(예: Staging, Production) 관리를 수행한다.
MLflow는 REST API와 UI를 제공하며, 로컬 파일 시스템, S3, Azure Blob, GCS 등 다양한 스토리지 백엔드를 지원한다.
시험에서는 MLflow와 Kubeflow, Airflow와 같은 파이프라인 오케스트레이션 도구의 차이를 구분하는 문제가 출제될 수 있다.