MLflow Model Registry
MLflow Model Registry
머신러닝 프로젝트가 커지고 복잡해질수록, 모델을 여러 환경·팀·반복에 걸쳐 수동으로 관리하는 건 점점 오류가 나기 쉽고 비효율적이 돼요. MLflow Model Registry는 모델의 전체 수명주기를 협업적으로 관리하도록 설계된 중앙화된 모델 저장소이자 API·UI예요. 개발에서 프로덕션 배포까지 모든 단계에서 필요한 전체 정보를 확보할 수 있게 해 주죠.
Model Registry가 주는 이점
- 🗂️ 버전 제어: 레지스트리는 각 모델의 버전을 자동으로 추적해서, 팀이 반복을 비교하고 이전 상태로 롤백하며 여러 버전(예: staging vs production)을 병렬로 관리하게 해 줘요.
- 🧬 모델 계보와 추적성: 각 등록된 모델 버전은 그것을 만든 MLflow run·로그된 모델·노트북과 연결되어 완전한 재현성을 보장해요. 모델이 어떤 데이터·파라미터로 학습됐는지 정확히 거슬러 올라갈 수 있어요.
- 🚀 프로덕션 지원 워크플로: 모델 앨리어스(예:
@champion)와 태그 같은 기능으로 배포 워크플로를 관리하기 쉬워져요. 모델을 experimental·staging·production 환경으로 통제되고 감사 가능한 방식으로 승격시킬 수 있어요. - 🛡️ 거버넌스와 규정 준수: 구조화된 메타데이터·태깅·역할 기반 접근 제어(백엔드 사용 시)로 엔터프라이즈급 ML 운영에 중요한 거버넌스 요구를 지원해요.
핵심 개념
| 개념 | 설명 |
|---|---|
| Model | 모델 플레이버의 mlflow.<model_flavor>.log_model() 메서드 또는 MLflow 3의 mlflow.create_external_model() API로 만들어져요. 로깅되면 이 모델은 Model Registry에 등록할 수 있어요. |
| Registered Model | Model Registry에 등록된 모델이에요. 고유 이름을 가지며 버전·앨리어스·태그·다른 메타데이터를 포함해요. |
| Model Version | 각 등록된 모델은 하나 이상의 버전을 가질 수 있어요. 새 모델이 Registry에 추가되면 버전 1로 시작하고, 같은 이름으로 새 모델이 등록될 때마다 버전 번호가 증가해요. 모델 버전에는 태그를 달 수 있어요(예: pre_deploy_checks: "PASSED"). |
| Model URI | 등록된 모델은 models:/<model-name>/<model-version> 형식의 URI로 참조해요. 예를 들어 이름 "MyModel"의 버전 1이라면 models:/MyModel/1. |
| Model Alias | 가변적인 이름 참조를 특정 버전에 지정하는 기능이에요. 예를 들어 champion 앨리어스를 "MyModel"의 버전 1에 지정하면 models:/MyModel@champion으로 그 버전을 참조할 수 있어요. 앨리어스는 특히 배포에 유용해요. 프로덕션 트래픽을 담당할 버전에 champion 앨리어스를 지정했다가, 다른 버전으로 앨리어스를 재지정해 프로덕션 서빙 모델을 바꿀 수 있어요. |
| Tags | 등록된 모델·모델 버전에 연관시키는 키-값 쌍이에요. 기능이나 상태로 라벨·분류할 수 있어요. 예를 들어 task:question-answering, 배포 전 검증 중인 버전엔 validation_status:pending, 배포 승인된 버전엔 validation_status:approved처럼 쓰죠. |
| Annotations and Descriptions | 최상위 모델과 각 버전을 Markdown으로 주석할 수 있어요. 알고리즘 설명·사용 데이터셋·모델링 접근법 등 팀에 유용한 정보를 담을 수 있어요. |
오픈소스 vs Databricks
MLflow Model Registry는 오픈소스(OSS) MLflow와 Databricks 같은 관리형 플랫폼 양쪽에서 사용할 수 있어요. 오픈소스 버전은 ML 모델을 버전화·관리하기 위한 UI와 API를 제공해요. 모델 등록, 버전 추적, 태그·설명 추가, Staging·Production 같은 단계 간 전환을 지원해요.
Databricks는 Model Registry를 Unity Catalog와 통합해 중앙 거버넌스, 세밀한 접근 제어, 워크스페이스 간 협업을 제공해요. Unity Catalog 통합의 주요 이점은:
- 🛡️ 강화된 거버넌스: 모델 자산에 접근 정책·권한 제어 적용
- 🌐 워크스페이스 간 접근: 모델을 한 번 등록해 여러 Databricks 워크스페이스에서 접근
- 🔗 모델 계보: 각 모델을 만드는 데 쓰인 노트북·데이터셋·실험 추적
- 🔍 발견과 재사용: 공유 카탈로그에서 프로덕션급 모델 탐색·재사용
더 알아보기
- MLflow Tracking — run·실험 추적
- MLflow Models — 모델 패키징 포맷
- MLflow Projects — 재현 가능한 코드 패키징
- MLflow Tracking Quickstart — 빠른 시작