주제: 6.5-3 Model Registry (모델 버전 관리와 Champion / Challenger 전략)

분류: rag_agent

타입: concept

난이도: 중급

선수지식: 있음 — ML Pipeline, Experiment Tracking

문제 설정

ML 시스템에서는 시간이 지남에 따라 여러 모델이 생성됩니다.


model_v1
model_v2
model_v3
...

문제는 다음과 같습니다.

이를 해결하는 시스템이 Model Registry입니다.

1. Model Registry 개념

Model Registry는 모델을 중앙에서 관리하는 시스템입니다.


Training
   ↓
Experiment Tracking
   ↓
Model Registry
   ↓
Deployment

각 모델은 버전으로 관리됩니다.

Model=version1,version2,...,versionn

기호 의미

왜 필요한가

모델 lifecycle을 관리하기 위해 필요합니다.

주의점

버전 관리 없이 모델을 배포하면 운영 문제가 발생합니다.

2. 모델 버전 관리

각 모델은 버전 번호를 가집니다.

Version 설명
v1 baseline 모델
v2 feature 개선 모델
v3 최신 실험 모델

모델 성능:

Metric=E[score(x)]

기호 의미

왜 필요한가

모델 성능을 기준으로 버전을 비교합니다.

3. Model Lifecycle

모델은 보통 다음 단계로 관리됩니다.

Stage 설명
Staging 테스트 모델
Production 서비스 모델
Archived 사용 중지 모델

Training
 ↓
Staging
 ↓
Production

왜 중요한가

모델 배포 프로세스를 체계적으로 관리합니다.

4. Champion / Challenger 전략

운영 시스템에서는 보통 두 모델을 비교합니다.

비교 기준:

Δ=Metric(challenger)Metric(champion)

기호 의미

왜 필요한가

새 모델이 실제로 더 좋은지 검증합니다.

5. Online Evaluation

Challenger 모델은 실제 트래픽에서 테스트할 수 있습니다.


User request
   ↓
Champion model
   ↓
Challenger model

평가:

왜 중요한가

실제 사용자 환경에서 모델을 평가할 수 있습니다.

6. Model Rollback

새 모델이 문제가 있을 경우 이전 모델로 복구합니다.


v3 deployed
 ↓
error detected
 ↓
rollback to v2

왜 필요한가

서비스 안정성을 보장합니다.

7. MLflow Model Registry

MLflow는 model registry 기능을 제공합니다.

구성:

예:


mlflow.register_model()

8. SageMaker Model Registry

AWS SageMaker에서도 model registry를 제공합니다.

특징:

9. Model Registry Workflow


Training
   ↓
Experiment Tracking
   ↓
Register Model
   ↓
Staging
   ↓
Production

코드-수식 연결

개념 코드 설명
모델 등록 mlflow.register_model() registry 등록
모델 로드 mlflow.pyfunc.load_model() production 모델 로드
버전 관리 model_version 모델 버전

자주 하는 오해 5개

체크리스트 (스스로 설명 가능해야 하는 질문)