Alias 기반 CI/CD 패턴
Champion/Challenger 패턴 상세
| Alias | 역할 | 사용 시점 |
|---|---|---|
| champion | 현재 프로덕션에서 서빙되는 모델 | 검증 완료 후 |
| challenger | 다음 프로덕션 후보. 테스트/A/B 테스트 중 | 학습 완료 직후 |
| baseline | 성능 비교 기준이 되는 기본 모델 | 최초 배포 시 설정 |
| rollback | 즉시 롤백할 수 있는 이전 안정 버전 | champion 변경 직전 |
CI/CD 자동화 파이프라인
A/B 테스트 패턴
모델 거버넌스 심화
접근 제어 레벨
감사 로그 활용
모델 승인 워크플로우
태그를 활용한 수동 승인 프로세스를 구현할 수 있습니다.멀티 환경 프로모션 (Dev → Staging → Prod)
환경 분리 전략
대규모 조직에서는 모델을 여러 환경에 걸쳐 프로모션합니다.| 전략 | 설명 | 적합한 경우 |
|---|---|---|
| 단일 Registry + Alias | 하나의 UC Registry에서 Alias로 환경 구분 | 소규모~중규모 팀 |
| 환경별 카탈로그 | dev_catalog, staging_catalog, prod_catalog 분리 | 엔터프라이즈 (엄격한 격리) |
| 환경별 Workspace | Dev/Staging/Prod Workspace + UC 공유 | 가장 엄격한 격리 |
환경별 카탈로그 패턴
| 환경 | 모델 경로 | 설명 |
|---|---|---|
| 개발 | dev_catalog.ml.fraud_detection | 데이터 사이언티스트 자유 실험 (v1, v2, v3…) |
| 스테이징 | staging_catalog.ml.fraud_detection | 통합 테스트 (검증된 버전만 프로모션) |
| 프로덕션 | prod_catalog.ml.fraud_detection | 실서비스 (v1: champion, v2: challenger - A/B 테스트) |
환경 간 모델 프로모션
모델 리니지
Unity Catalog는 모델의 전체 생애주기 리니지 를 자동으로 추적합니다.리니지가 추적하는 정보
| 방향 | 구성 요소 | 설명 |
|---|---|---|
| 소스 (upstream) | catalog.ecommerce.gold_orders | 학습 데이터 |
| catalog.ml.customer_features | 피처 테이블 | |
| catalog.ml.fraud_detection | 모델 (v1: deprecated, v2: champion, v3: challenger) | |
| 소비자 (downstream) | Serving Endpoint: fraud-detection-endpoint | 모델 서빙 |
| Dashboard: fraud_monitoring_daily | 모니터링 대시보드 | |
| Job: daily_fraud_scoring_pipeline | 일일 스코어링 파이프라인 |
리니지 SQL 조회
Edge Case와 주의사항
| 주의사항 | 설명 |
|---|---|
| 모델 아티팩트 크기 | UC Registry에 등록 가능한 모델 크기에는 실질적 제한이 없지만, 수 GB 이상의 대형 모델은 등록/로드 시간이 오래 걸릴 수 있습니다 |
| Alias 충돌 | 하나의 Alias는 하나의 버전에만 할당됩니다. 기존 Alias를 다른 버전으로 옮기면 이전 버전에서 자동 제거됩니다 |
| 삭제 정책 | 모델 버전을 삭제하면 복구할 수 없습니다. 중요한 버전에는 do_not_delete 태그를 붙여 실수를 방지하세요 |
| 서빙 참조 충돌 | Model Serving이 특정 버전을 직접 참조(by version number)하는 경우, 해당 버전을 삭제하면 서빙이 실패합니다. Alias 참조를 권장합니다 |
| 크로스 리전 모델 공유 | 다른 리전의 Workspace에서 모델을 사용하려면, Delta Sharing을 통해 모델을 공유해야 합니다 |
정리
| 핵심 개념 | 설명 |
|---|---|
| Model Registry | 모델 버전을 중앙에서 관리하는 저장소입니다 |
| Version | 모델의 각 버전에 자동으로 번호가 부여됩니다 |
| Alias | 특정 버전에 부여하는 별칭입니다 (champion, challenger) |
| Tags | 모델에 메타데이터를 부여하여 관리를 용이하게 합니다 |
| Champion/Challenger | 프로덕션과 후보 모델을 Alias로 관리하는 CI/CD 패턴입니다 |
| 멀티 환경 프로모션 | Dev → Staging → Prod로 모델을 안전하게 승격합니다 |
| 모델 리니지 | 소스 데이터 → 모델 → 서빙까지 전체 흐름을 추적합니다 |
| Unity Catalog 통합 | 모델에도 GRANT/REVOKE, 리니지, 감사가 적용됩니다 |