Articleaws.amazon.com·2026년 9월 8일·0

Govern models with MLflow and Amazon SageMaker AI Model Registry sync: Part 1

Quick Summary

Amazon SageMaker AI의 Managed MLflow와 Model Registry 간 동기화가 지표·평가 결과·계보와 수명주기 전환을 지원하도록 확장되어, 데이터 과학자의 실험 흐름을 유지하면서 IAM으로 모델 검토·승인·운영 전환 권한을 분리할 수 있다.

Govern models with MLflow and Amazon SageMaker AI Model Registry sync: Part 1 관련 대표 이미지

🖼️ 인포그래픽

Govern models with MLflow and Amazon SageMaker AI Model Registry sync: Part 1 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Govern models with MLflow and Amazon SageMaker AI Model Registry sync: Part 1의 핵심 내용을 4단계로 요약한 인포그래픽
Govern models with MLflow and Amazon SageMaker AI Model Registry sync: Part 1 핵심 내용을 4단계로 압축한 4컷 인포그래픽

💡 한 줄 요약

Amazon SageMaker AI의 Managed MLflow와 Model Registry 간 동기화가 지표·평가 결과·계보와 수명주기 전환을 지원하도록 확장되어, 데이터 과학자의 실험 흐름을 유지하면서 IAM으로 모델 검토·승인·운영 전환 권한을 분리할 수 있다.

📌 핵심 요약

  • 기존 동기화는 모델만 등록해 거버넌스 담당자가 지표·평가 결과·계보를 확인하려면 MLflow로 돌아가거나 정보를 수작업으로 모아야 했다. 확장된 동기화는 이러한 정보를 Model Registry에 전달하고 MLflow에서 시작한 수명주기 전환도 반영한다.
  • Model Registry sync는 기본적으로 비활성화된 선택 기능이며, MLflow 앱 생성 또는 수정 시 AutoModelRegistrationEnabled로 활성화한다. 앱의 IAM 서비스 역할에는 Model Package Group과 버전 생성, 태그 추가, 계보 연결 기록 권한이 필요하다.
  • MLflow에서 모델을 등록하면 SageMaker AI Model Registry에 대응하는 Model Package Group과 버전이 자동 생성된다. 평가 지표와 추론 명세는 등록 전에 선택적으로 첨부하며, 레지스트리에서 실제 배포하려면 모델 아티팩트에 inference.py 같은 추론 핸들러도 포함해야 한다.
  • 단일 계정에서는 데이터 과학자가 MLflow에서 실험·등록·staging 전환을 수행하고, 거버넌스 담당자가 SageMaker Studio에서 검토·승인·production 전환을 담당한다. IAM 조건 키로 전환 권한을 제한하고, 리소스 태그 조건으로 승인 후 MLflow를 통한 추가 갱신을 잠글 수 있으며, 수명주기 변경은 Amazon EventBridge 이벤트와 감사 기록으로 남는다.
  • 실습에는 AWS 계정, Studio 접근이 설정된 SageMaker AI 도메인, 동기화가 활성화된 Managed MLflow 앱, 필요한 IAM 권한, sagemaker-mlflow 0.5.0 이상이 필요하다. 0.5.0은 추론 이미지 기록과 사용자 지정 boto3 세션 주입을 추가하며, 교차 계정 구성은 Part 2에서 다룬다.

🧩 주요 포인트

  1. 실험 기록은 MLflow, 운영 수명주기의 등록 모델은 Model Registry에서 관리 → 데이터 과학자의 작업 흐름을 유지하면서 거버넌스 검토에 필요한 근거를 레지스트리에 모을 수 있다.
  2. 자동 등록과 선택적 추론 명세 전달 → 등록을 자동화하더라도 실제 배포 가능성은 추론 핸들러와 필요한 아티팩트가 갖춰졌는지에 달려 있다.
  3. 단일 계정의 IAM 조건 키와 리소스 태그 조건 → 계정 분리 없이 production 전환 권한과 승인 후 변경을 통제할 수 있으며, 교차 계정 확장은 Part 2의 범위다.

🧠 상세 정리

1. 실험 이후에 생기는 거버넌스 공백

데이터 과학자는 MLflow에서 수십 개의 후보 실행을 추적하지만, 거버넌스 담당자는 운영에 도달할 모델을 검증·승인·감사할 권위 있는 레지스트리가 필요하다. Amazon SageMaker AI의 Managed MLflow는 이미 등록 모델을 SageMaker AI Model Registry에 자동 동기화했지만, 기존에는 지표·평가 결과·계보가 전달되지 않아 레지스트리만으로 후보를 검토하기 어려웠다. 거버넌스 담당자는 MLflow로 돌아가거나 검토 맥락을 수작업으로 수집해야 했고, 수명주기 전환도 동기화되지 않아 데이터 과학자가 MLflow 작업 흐름에서 staging 모델을 production으로 옮길 수 없었다. 확장된 동기화는 검토 근거와 수명주기 전환을 함께 전달해 이러한 공백을 줄인다. 이에 따라 MLflow는 실험과 기록된 모델의 기준 시스템으로, Model Registry는 운영 수명주기를 거치는 등록 모델의 기준 시스템으로 사용된다.

2. 동기화 활성화와 자동 모델 등록

Model Registry sync는 사용자가 선택해 활성화하는 기능이며 기본 설정은 비활성화다. MLflow 앱을 생성하거나 기존 앱을 수정할 때 모델 등록 모드를 AutoModelRegistrationEnabled로 지정하고, 앱의 IAM 서비스 역할에 Model Package Group과 버전 생성, 태그 추가, 계보 연결 기록 권한을 부여해야 한다. 활성화 이후 데이터 과학자는 학습 실행 중 mlflow.sklearn.log_model로 모델을 기록하고, mlflow.register_model 호출로 등록할 수 있다. 등록 전에 sagemaker_mlflow.evaluate로 평가 지표를 기록하거나 sagemaker_mlflow.log_inference_specification으로 추론 명세를 첨부하는 작업은 선택 사항이다. MLflow에서 등록이 이루어지면 대응하는 Model Package Group과 Package 버전이 SageMaker AI Model Registry에 자동 생성되며, 첨부된 정보도 함께 전달된다.

3. 레지스트리에 전달되는 네 가지 정보

등록 후 동기화되는 정보는 실행 메타데이터, 평가 지표, 추론 명세, 계보의 네 범주이며, 거버넌스 담당자는 Amazon SageMaker Studio에서 이를 확인할 수 있다. 실행 메타데이터에는 모델 파라미터, 학습 지표, 학습 데이터셋 위치, 모델 아티팩트 경로가 포함된다. 첨부된 평가 지표는 Model Package 버전의 모델 카드로 전달되어 Studio의 Evaluate 탭에서 모델과 함께 검토할 수 있다. 추론 명세는 컨테이너 이미지, 모델 데이터 위치, 지원 인스턴스 유형을 정의하지만, 실제 배포를 위해서는 학습 또는 등록 과정에서 inference.py 같은 추론 핸들러를 모델 아티팩트에 포함해야 한다. 컨테이너 정의는 SAGEMAKER_PROGRAM 환경 변수로 핸들러를 참조하며, 제공된 노트북은 학습 중 핸들러를 패키징한다. 계보는 MLflow 실험, 모델 버전, 컨테이너 이미지, Model Package Group 사이의 관계를 기록한다.

4. MLflow 별칭을 통한 수명주기 전환

거버넌스 담당자는 Model Registry의 staging 구성 체계를 사용해 모델 수명주기를 관리할 수 있다. 조직은 사전 정의된 템플릿을 사용하거나 용도에 맞는 자체 구성을 정의하고, IAM 조건 키와 함께 적용해 권한이 있는 사용자만 수명주기 단계를 전환하도록 할 수 있다. MLflow에서 sagemakerlifecycle-{stage}-{status} 규칙에 맞는 별칭을 추가하면 대응하는 SageMaker AI Model Package의 수명주기가 자동 갱신된다. 사전 정의된 템플릿에서는 stage 값으로 staging 또는 production을, status 값으로 pending 또는 active를 사용한다. 원문의 예시는 set_registered_model_alias로 특정 모델 버전에 sagemakerlifecycle-staging-pending 별칭을 설정해 후보를 staging의 pending 상태로 이동시키며, 이 경로를 통해 데이터 과학자는 MLflow 안에서 전환을 시작할 수 있다.

5. 전환 권한, 승인 후 잠금, 감사 기록

원문은 적절한 역할만 모델 수명주기를 갱신하도록 하는 두 가지 통제를 제시한다. 첫 번째는 sagemaker:ModelLifeCycle/stage와 sagemaker:ModelLifeCycle/stageStatus IAM 조건 키로, 누가 모델을 갱신할 수 있는지와 어떤 목표 단계·상태로 이동할 수 있는지를 제한한다. 두 번째는 리소스 태그 조건으로, 승인 이후 Model Package Group을 잠가 MLflow를 통한 추가 갱신이 들어오지 않도록 할 수 있다. 이러한 통제는 MLflow에서 전환을 시작할 수 있다는 기능과 별개로, 실제 변경이 해당 역할의 권한 범위 안에서 이루어지도록 한다. 수명주기 변경은 Amazon EventBridge 이벤트를 발생시키고 감사 추적으로 기록되며, 조직은 이 이벤트를 소비해 승인 절차를 외부 거버넌스 도구와 연결할 수 있다.

6. sagemaker-mlflow 0.5.0의 추가 기능

이 글의 작업 흐름은 sagemaker-mlflow 플러그인을 기반으로 하며, 원문은 0.5.0에 추가된 두 기능을 강조한다. 추론 이미지 기록 기능은 모델을 기록하는 시점에 추론 컨테이너 이미지도 함께 기록하게 하고, 해당 이미지 메타데이터를 모델과 함께 Model Registry로 전달한다. 이는 앞서 설명한 레지스트리 직접 배포 경로를 뒷받침하지만, 실제 배포에 필요한 추론 핸들러 포함 조건도 함께 충족해야 한다. 세션 주입 기능은 use_session()과 set_session()을 통해 사용자 지정 boto3 세션을 제공하여 플러그인이 실행 맥락별 자격 증명으로 요청에 서명하도록 한다. 이 글의 단일 계정 구성에는 세션 주입이 필요하지 않으며, 원문은 이를 Part 2에서 다룰 교차 계정 거버넌스 구성의 기반 요소로 소개한다.

7. 역할 분담과 시작 전 준비 조건

실습은 데이터 과학자와 거버넌스 담당자라는 두 역할을 중심으로 진행되며, 플랫폼 관리자가 두 역할을 분리하는 일회성 설정을 수행한다. 데이터 과학자는 Jupyter 노트북에서 MLflow로 학습·기록·등록·staging 전환을 수행하고, 거버넌스 담당자는 SageMaker Studio의 Models 화면에서 동기화된 지표와 계보를 검토한 뒤 production 전환과 배포 승인을 담당한다. 시작하려면 SageMaker AI 리소스를 생성·관리할 수 있는 AWS 계정, Studio 접근이 설정된 SageMaker AI 도메인, 도메인 내 Managed MLflow 앱과 활성화된 Model Registry sync가 필요하다. 실험 환경에는 sagemaker-mlflow 0.5.0 이상을 설치해야 하며, 모델 등록·수명주기 갱신·Model Registry 쓰기를 허용하는 IAM 역할도 필요하다. 설명된 거버넌스 통제를 적용하려면 IAM 조건 키와 리소스 태그 정책을 연결할 권한도 갖춰야 한다.

8. 단일 계정 흐름과 production 전환 제한

단일 계정 구성에서는 데이터 과학자와 거버넌스 담당자가 같은 AWS 계정에서 일하며, 원문은 이를 계정 분리가 아직 필요하지 않은 소규모 팀이나 초기 프로젝트에 적합한 방식으로 설명한다. 데이터 과학자가 학습한 모델을 MLflow에 기록·등록하면 지표·평가 결과·추론 명세·계보를 포함한 Model Package Group과 버전이 자동 등록되고, IAM 통제 아래 staging 전환을 수행한다. 플랫폼 관리자는 데이터 과학자 역할에 sagemaker:ModelLifeCycle/stage가 production일 때 sagemaker:UpdateModelPackage를 명시적으로 거부하는 정책을 연결한다. 거버넌스 담당자 역할에는 이 거부를 두지 않아 모델 승인과 production 전환을 수행하도록 하고, 이후 ML 엔지니어는 보통 CI/CD 파이프라인을 통해 승인된 모델을 SageMaker AI 엔드포인트에 배포한다. 두 글로 구성된 시리즈의 Part 2는 교차 계정 구성을 다루며 두 글의 실행 노트북은 함께 제공되는 GitHub 저장소에 있다. 제공된 본문은 데이터 과학자의 노트북 작업을 설명하기 시작한 부분에서 끊겨, 이후 실습 내용은 확인할 수 없다.

🧾 핵심 주장 / 시사점

  • 거버넌스 개선의 핵심은 등록 자동화 자체뿐 아니라, 후보 모델의 성능과 계보를 같은 레지스트리에서 검토할 수 있도록 근거를 전달하는 데 있다.
  • MLflow에서 수명주기 전환을 시작할 수 있어도 IAM 통제가 전환 가능 범위를 결정하므로, 작업 도구를 유지하면서 역할별 승인 권한을 분리할 수 있다.
  • 추론 명세와 이미지 메타데이터가 레지스트리에 전달되어도 배포 준비가 자동으로 완성되는 것은 아니며, 모델 아티팩트에 추론 핸들러가 포함되어야 한다.

✅ 액션 아이템

  • Model Registry sync 적용을 위해 AutoModelRegistrationEnabled 설정과 MLflow 앱의 IAM 서비스 역할 권한을 확인한다.
  • 레지스트리 직접 배포를 위해 선택적 추론 명세와 모델 아티팩트의 inference.py 같은 추론 핸들러 포함 여부를 확인한다.
  • 단일 계정에서 IAM 조건 키로 production 전환 권한을 분리하고, 리소스 태그 조건을 통한 승인 후 변경 통제 적용 여부를 검토한다.

❓ 열린 질문

  • 현재 MLflow 앱은 AutoModelRegistrationEnabled로 설정되어 있고, IAM 서비스 역할에 등록·태그·계보 기록 권한이 부여되어 있는가?
  • Model Registry에서 직접 배포할 모델에 추론 명세와 inference.py 같은 추론 핸들러가 모두 포함되어 있는가?
  • 단일 계정의 IAM 조건 키와 리소스 태그 조건으로 필요한 통제를 충족할 수 있는가, 아니면 Part 2의 교차 계정 구성을 검토해야 하는가?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.