ADR: 정책 단계를 MLflow Model Registry 에 표현하는 방법¶
날짜: 2026-09-13 · 상태: 채택
맥락¶
명령서 13.8.1: 정책 단계(candidate / validated / deployed / retired)의 유일한 진실은 MLflow Model Registry alias. 그러나 MLflow alias 는 모델당 이름이 유일해 한 alias 가 버전 하나만 가리킨다. candidate 는 동시에 여러 개(학습 완료 런마다 하나) 존재해야 하므로 alias 로 표현할 수 없다.
결정¶
- 모델 이름 = 프로젝트 슬러그. 학습 finalize 마다 모델 버전 1개 생성 (
runs:/<run_id>/checkpoints). - 모든 버전은 태그
stage를 가진다 (candidate / validated / deployed / retired). - alias
validated,deployed는 "현재" 정책 1개를 가리킨다. 승격 시 alias 를 옮기고 이전 버전의stage태그를 갱신한다 (deployed 를 잃은 버전은 retired, validated 를 잃은 버전은 candidate 로). - 구현:
lab_logging.pipeline.registry.set_stage. RLflow 는 결정을 DB 에 먼저 기록한 뒤 이 함수를 호출한다 (두 단계 쓰기).
결과¶
- "현재 validated 정책" 조회는 alias 하나로 끝난다 (회귀 검사 기준).
- 이력 조회는
stage태그와 버전 순서로 한다. - 규칙 3 (역방향 변경 감지) 은 alias 와 태그 둘 다 감시한다.