View a markdown version of this page

Amazon SageMaker 모델 모니터 가용성 변경 - Amazon SageMaker AI

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon SageMaker 모델 모니터 가용성 변경

참고

Amazon SageMaker Model Monitor는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 서비스를 정상적으로 계속 사용할 수 있습니다.는 AWS Model Monitor의 보안 및 가용성 개선에 계속 투자하지만 새로운 기능을 도입할 계획은 없습니다.

오픈 소스 SageMaker AI 모니터링 솔루션 + Amazon QuickSight + Amazon CloudWatch

오픈 소스 Amazon SageMaker AI 모니터링 솔루션, Amazon QuickSight 거버넌스 대시보드 및 Amazon CloudWatch의 조합은 Amazon SageMaker Model Monitor를 대체하는 역할을 합니다.

오픈 소스 Amazon SageMaker AI 모니터링 솔루션(aws-samplesGitHub 조직에 게시됨)은 포괄적인 데이터 및 모델 품질 모니터링을 위한 확장성과 사용자 지정성이 뛰어난 기반을 제공합니다. 이는 오픈 소스 ML 도구(SageMaker AI MLflow 앱 및 Evidently AI)와 결합된 AWS 관리형 서비스(Amazon SageMaker AI AWS Lambda, Amazon Athena, Amazon EventBridge, Amazon SQS, Amazon SNS, Amazon QuickSight)를 기반으로 합니다.Amazon SageMaker Amazon SNS 솔루션은 완전히 내에서 실행 AWS 계정 되며 소량 배치 워크로드에서 고처리량 실시간 엔드포인트로 확장됩니다. 배치 추론, 실시간 엔드포인트, LLM 평가 및 GPU 리소스 관찰성을 다루며 자체 데이터세트, 모델 및 드리프트 임계값에 맞게 조정합니다.

Amazon QuickSight를 사용한 추론 모니터링은 실시간 및 예측 모니터링을 위해 프로덕션 추론 파이프라인 위에 거버넌스 계층을 추가합니다. 예측 및 데이터 품질 지표를 지속적으로 추적하고, 지연된 실측 정보를 처리하고, 경영진 대시보드에서 드리프트 및 모델 성능 추세를 시각화합니다. 이 솔루션은 통계 드리프트 분석을 위한 SageMaker AI MLflow 앱 및 Evidently AI를 Athena Iceberg 데이터 레이크, 예약된 분석, SNS 알림 및 QuickSight 대시보드를 위한 EventBridge 트리거 Lambda와 결합합니다.

Amazon CloudWatch는 호출 지연 시간, 모델 오류, CPU/GPU 사용률, 이상 탐지 경보가 있는 사용자 지정 지표 등 SageMaker 엔드포인트에 대한 향상된 지표를 사용하여 시스템 수준 및 추론 수준 모니터링을 제공합니다.

Amazon SageMaker Model Monitor를 오픈 소스 솔루션, QuickSight 및 CloudWatch로 교체

이 섹션에서는 오픈 소스 Amazon SageMaker AI 모니터링 솔루션(SageMaker AI MLflow 앱 + Evidently AI), Amazon QuickSight 거버넌스 대시보드 및 Amazon CloudWatch를 사용하여 기존 Amazon SageMaker 모델 모니터 배포를 교체하는 방법을 안내합니다.SageMaker MLflow Amazon QuickSight Amazon CloudWatch 이 솔루션은 Amazon SageMaker AI에 배포된 모델의 데이터 품질 모니터링, 모델 품질 모니터링, 편향 드리프트 감지, 기능 속성 드리프트 감지 및 시스템 성능 모니터링을 위한 동등하고 확장된 기능을 지원합니다.

모델 모니터 제거

새 모니터링 일정에 대한 Model Monitor 중단

워크플로에 SageMaker Python SDK ModelBiasMonitor또는 CreateMonitoringSchedule API의 DefaultModelMonitor, ModelQualityMonitor, 또는 ModelExplainabilityMonitor 클래스를 사용하여 모니터링 일정을 생성하는 것이 포함된 경우 아래 대체 구성 섹션에 설명된 대안으로 전환합니다.

기존 모니터링 일정 삭제

모니터링 일정은 반복 일정에 따라 처리 작업 인스턴스(예: ml.m5.xlarge)를 가동합니다. 이를 삭제하면 지속적인 컴퓨팅 비용을 제거하는 데 도움이 됩니다.

SageMaker Python SDK 사용:

import sagemaker from sagemaker.model_monitor import DefaultModelMonitor session = sagemaker.Session() # List all monitoring schedules schedules = session.sagemaker_client.list_monitoring_schedules() # Delete each schedule for schedule in schedules['MonitoringScheduleSummaries']: schedule_name = schedule['MonitoringScheduleName'] print(f"Deleting monitoring schedule: {schedule_name}") session.sagemaker_client.delete_monitoring_schedule( MonitoringScheduleName=schedule_name )

사용 AWS CLI:

# List all monitoring schedules aws sagemaker list-monitoring-schedules # Delete a specific monitoring schedule aws sagemaker delete-monitoring-schedule \ --monitoring-schedule-name "my-data-quality-monitor"
참고

모니터링 일정을 삭제하면 아직 중지되지 않은 경우에도 일정이 중지됩니다. 이렇게 해도 모니터링 일정의 작업 실행 내역은 삭제되지 않습니다.

대체 구성

모니터링 솔루션 선택

오픈 소스 Amazon SageMaker AI 모니터링 솔루션 리포지토리는 SageMaker AI MLflow 앱 및 Evidently AI를 기반으로 구축된 7가지 프로덕션 지원 모니터링 솔루션을 제공합니다. 추론 패턴 및 운영 요구 사항과 일치하는 것을 선택합니다. 모두 오픈 소스이고, 내에서 실행되며 AWS 계정, 데이터 세트, 모델 및 드리프트 임계값에 맞게 사용자 지정되도록 설계되었습니다.

Solution 추론 유형 배포 포커스 모니터링 최적의 용도
예측 ML 배치 모니터링 파이프라인 배치 변환 노트북 2개(실험 + SageMaker Pipeline) 데이터 + 모델 품질 드리프트 주기적 배치 예측
예측 ML 엔드포인트 모니터링 실시간 엔드포인트(데이터 캡처) 노트북 + CDK Lambda 데이터 + 모델 품질 드리프트 CDK로 확장된 실시간 엔드포인트
Evidently AI + SNS를 사용한 실시간 추론 모니터링 실시간 엔드포인트(데이터 캡처) 워크숍 노트북(리퍼럴) 데이터 + 모델 품질 드리프트 기존 엔드포인트에 대한 경량 이메일 알림
QuickSight 대시보드를 사용한 실시간 추론 모니터링 실시간 엔드포인트 노트북 + 스크립트(Athena Iceberg 레이크) 드리프트 + 성능 + 실측 정보 지연 프로덕션 거버넌스 대시보드(아래 메타 모니터링 참조)
LLM 추론 모니터링 실시간 엔드포인트(데이터 캡처) CDK(Step Functions + Lambda) 생성형 AI 평가(안전, 관련성, 유창성 등) LLM 안전 및 품질 모니터링
Grafana를 사용한 SageMaker 리소스 관찰성 실시간 엔드포인트 단일 노트북(Amazon Managed Grafana) GPU/CPU/memory + 비용 다중 모델 비용 및 용량 최적화
Grafana를 사용한 LLM 품질 관찰성 실시간 엔드포인트 노트북(관리형 Grafana + CloudWatch) 안전, 관련성, 어조, 복합 품질 LLM 출력 품질 회귀 감지

모니터링 솔루션 시작하기

Model Monitor의 데이터 및 모델 품질 모니터링을 대체하기 위한 권장 시작점은 예측 ML 배치 모니터링 파이프라인(배치/배치 변환 워크로드용)과 예측 ML 엔드포인트 모니터링 솔루션(실시간 엔드포인트용)입니다. 둘 다 즉시 UCI Bank Marketing 데이터 세트를 사용하므로 자체 모델에 적용하기 전에 처음부터 끝까지 실행할 수 있습니다.

예측 ML 배치 모니터링 파이프라인(노트북 2개, 순차적으로 실행):

  1. 실험(predictive_ml_experimentation_data_model_monitoring_evidently.ipynb):는 MLflow 추적을 사용하여 XGBoost 모델을 훈련하고 배치 변환 추론을 실행한 다음 Evidently DataDriftPreset, ClassificationPresetDataSummaryPreset를 실행하여 모든 지표 및 HTML/JSON 보고서를 MLflow 앱에 로깅합니다.

  2. 파이프라인 자동화(batch_monitoring_pipeline.ipynb): TransformStep 및 Evidently , 알림을 위한 SNS 주제 및 EventBridge 일정을 사용하여 워크플로를 SageMaker 파이프라인으로 운영ProcessingStep합니다. 섹션 2에서 , baseline_s3_uriproduction_s3_uri, mlflow_app_name, mlflow_experiment_name (노트북 1과 일치), notification_emailschedule_expression (예: )를 설정합니다rate(1 day). 첫 번째 실행 전에 SNS 이메일 구독을 확인합니다. 드리프트 임계값은에 있습니다scripts/monitoring_processor.py(기본값: 특성의 30% 이상이 드리프트될 때 알림).

예측 ML 엔드포인트 모니터링(노트북, 그런 다음 스케일링을 위한 선택적 CDK):를 열고 섹션 2mlflow_app_name에서 ml_experimentation_with_data_model_monitoring_evidently_realtime.ipynb설정한 다음 섹션 1~8을 실행합니다. 이렇게 하면 모델을 훈련하고, 데이터 캡처를 통해 실시간 엔드포인트를 배포하고, 기준 및 ClassificationPreset 실측 정보에 DataDriftPreset 대해 Evidently를 실행합니다.

확장하려면 CDK를 사용하여 두 개의 Docker 기반 Lambda 함수(데이터 드리프트 및 모델 품질)를 배포합니다. 에서 cdk/를 실행npm install하고 섹션 9에 인쇄된 변수(ENDPOINT_NAME, , BUCKET, BASELINE_KEY, PREFIXCAPTURE_PREFIX, GROUND_TRUTH_KEY, MLFLOW_TRACKING_URI, MLFLOW_EXPERIMENT, FEATURE_COLUMNS, 선택적 SNS_TOPIC_ARN)를 내보낸 다음 bash scripts/deploy.sh (cdk bootstrap자동 실행)를 실행합니다.

버킷에서 S3 EventBridge 알림을 활성화하고 S3 트리거를 추가합니다.의 데이터 드리프트${PREFIX}/data-capture/, s3:ObjectCreated:*의 모델 품질${PREFIX}/data/ground_truth/.

aws s3api put-bucket-notification-configuration \ --bucket <your-sagemaker-bucket> \ --notification-configuration '{"EventBridgeConfiguration": {}}'

모델 품질 Lambda는 지표가 임계값 아래로 떨어지면 SNS를 통해 경고합니다(기본값: F1 0.70, 정확도 0.80, ROC AUC 0.75, THRESHOLD_F1, 로 재정의THRESHOLD_ACCURACYTHRESHOLD_ROC_AUC).

모델 품질 Lambda는 지표가 임계값 아래로 떨어지면 SNS를 통해 경고합니다(기본값: F1 0.70, 정확도 0.80, ROC AUC 0.75, THRESHOLD_F1, 로 재정의THRESHOLD_ACCURACYTHRESHOLD_ROC_AUC).

기존 엔드포인트에 대한 간단한 대안을 위해 Evidently AI + SNS를 사용한 실시간 추론 모니터링 솔루션은 데이터 레이크 또는 대시보드 없이 단일 FrameworkProcessor 처리 단계(EvidentlyMonitoring)와 EventBridge 스케줄러 및 SNS 주제를 추가합니다. 이는 amazon-sagemaker-from-idea-to-production 워크숍에서 노트북 06의 섹션 8에 대한 참조입니다. 를 drifted_columns_share 초과하거나DriftThreshold(기본값 0.05) CriticalFeatures 드리프트를 구성하면 알림이 실행됩니다.

데이터 품질 모니터링 교체

Model Monitor의 데이터 품질 모니터링은 라이브 추론 데이터를 훈련 데이터 기준과 비교하여 입력 기능의 통계적 드리프트를 감지합니다. 예약된 처리 작업에서 실행되는 Deequ 기반 엔진을 사용하여 통계(평균, 표준 편차, 최소, 최대, 고유 수)를 계산하고 제약 조건(데이터 유형, 완전성, 값 범위)을 확인합니다.

옵션 1: Evidently AI를 사용한 오픈 소스 솔루션

모니터링 솔루션은 Evidently AI를 사용하여 모든 기능에 대한 PSI(Population Stability Index) 및 KS 통계를 계산DataDriftPreset하는 기능 드리프트를 감지합니다. 훈련 기준은 참조 데이터 세트로, 최근 추론 데이터는 현재 데이터 세트로 읽습니다. 배치 및 엔드포인트 솔루션은 추가로 실행DataSummaryPreset되어 데이터 품질 문제(값 누락, 이상값, 무결성 검사)를 보여주며 Model Monitor의 제약 조건 검사와 거의 일치합니다. 드리프트 점수는 구성 가능한 임계값과 비교되고, 훈련 지표와 함께 SageMaker AI MLflow 앱에 기록되며, 대화형 HTML 보고서로 표시됩니다.

이 교체는 확장성이 뛰어나고 완벽하게 사용자 지정할 수 있습니다.

  • 확장 가능: 유휴 시 컴퓨팅이 0으로 조정됩니다. EventBridge 트리거 Lambda는 일정에 따라 드리프트 분석을 실행하며, Athena Iceberg 테이블 파티셔닝은 데이터 볼륨이 증가함에 따라 스캔 비용을 낮게 유지합니다. 대용량 배포는 예약 용량 없이 선형적으로 확장됩니다.

  • 사용자 지정 가능: 중앙를 통해 드리프트 사전 설정, 기능별 임계값, 룩백 기간 및 일정을 제어합니다config.yaml. PSI 이외의 도메인별 드리프트 테스트(예: 승인률 전환과 같은 비즈니스 KPIs)를 추가할 수 있습니다.

  • 통합 계보: 드리프트 지표는 동일한 SageMaker AI MLflow 앱의 훈련 지표와 함께 배치되어 완전한 모델 계보 및 드리프트 추세 분석을 제공합니다.

자세한 설정 단계는 오픈 소스 Amazon SageMaker AI 모니터링 솔루션을 참조하세요. QuickSight 기반 실시간 솔루션은 아래 추론 메타 모니터링 섹션에 설명되어 있습니다.

옵션 2: Amazon CloudWatch 사용자 지정 지표 + 이상 탐지

전체 모니터링 파이프라인이 없는 경량 데이터 품질 모니터링을 위해 사용자 지정 지표를 CloudWatch에 게시하고 이상 탐지 경보를 사용합니다. 자세한 단계는 CloudWatch 이상 탐지 사용을 참조하세요.

모델 품질 모니터링 교체

Model Monitor의 모델 품질 모니터링은 일정에 따라 S3의 실측 정보 레이블을 엔드포인트 예측 및 컴퓨팅 지표(정확성, 정밀도, 재현율, F1, AUC, RMSE, MAE)와 병합하여 예측 정확도를 추적합니다.

옵션 1: Evidently AI를 사용한 오픈 소스 솔루션

모니터링 솔루션은 Evidently AIClassificationPreset를 사용하여 실측 정보를 사용할 수 있을 때마다 ROC-AUC, 정밀도, 재현율, F1 및 혼동 행렬을 계산합니다. 솔루션에는 지연된 실측 정보를 추론 ID로 예측과 조정하는 패턴이 포함되어 있어 모델 품질 모니터링을 어렵게 만드는 실제 레이블 지연 시간을 해결합니다.

옵션 2: CloudWatch 사용자 지정 지표

실측 정보를 사용할 수 있게 되면 CloudWatch에 모델 품질 지표를 게시합니다.

바이어스 드리프트 모니터링 교체

Model Monitor의 편향 드리프트 모니터링은 보호된 속성 전반의 편향 기준과 실시간 예측을 비교하여 시간 경과에 따른 공정성 지표의 변화를 감지합니다.

MLflow 및 QuickSight에 기록된 Evidently AI를 사용한 세그먼트 조각 지표

보호 속성 세그먼트당 성능 및 결과 지표를 계산하고(예: , gender age_band또는 region) 이를 훈련 기준과 비교하여 편향을 추적합니다. 모델 품질에 ClassificationPreset 사용되는 것과 동일한 Evidently가 세그먼트별로 실행되고 결과 세그먼트별 지표(선택률, true/false 긍정률, 정밀도/재현율)가 SageMaker AI MLflow 앱에 로깅되고 QuickSight 거버넌스 대시보드에 표시됩니다.

데이터 및 모델 품질이 모니터링하는 것과 동일한 EventBridge + Lambda 패턴을 사용하여 자체 공정성 임계값(예: 선택 속도의 최대 허용 가능한 차이 또는 세그먼트 간 참 긍정 속도)을 정의하고 갭이 임계값을 초과할 때 Amazon SNS를 통해 알립니다. 모든 것이 오픈 소스이고 계정에서 실행되므로 모니터링되는 속성과 적용되는 공정성 정의를 제어할 수 있습니다.

Amazon QuickSight를 사용한 추론 메타 모니터링(실시간 및 예측 모니터링)

예측 모델은 프로덕션 환경에서 자동으로 저하될 수 있습니다. 사기 핸들러는 거짓 긍정 스파이크를 보고, 대출 담당자는 플래그가 지정되어야 하는 애플리케이션을 보고, 플래너는 과대평가된 수요로 인해 과도한 인벤토리를 얻게 됩니다. 메타 모니터링은 팀이 프로덕션 모델 성능에 대한 지속적인 피드백을 제공하고 모델 품질 또는 데이터 드리프트가 나타나는 즉시 알림을 보내 모델을 사전에 업그레이드할 수 있도록 합니다.

이 솔루션은 AWS 관리형 서비스(Amazon SageMaker AI, Amazon Athena, AWS Lambda, Amazon SQS, Amazon SNS, Amazon EventBridge, Amazon QuickSight)와 오픈 소스 ML 도구(SageMaker AI MLflow 앱, Evidently AI)를 결합하여 프로덕션 지원 모니터링 시스템을 생성합니다. 모니터링 솔루션 리포지토리에는 QuickSight Dashboards를 사용한 실시간 추론 모니터링 솔루션이 있습니다. 전체 참조 구현은 sample-mlops-bestpractices에 있으며 신용카드 사기 탐지 모델(XGBoost)을 실제 예로 사용합니다. 훈련 파이프라인, 추론 모니터링 및 거버넌스 대시보드를 아우르는 11단계 아키텍처를 구현하고 워크플로를 구동하는 세 개의 안내 노트북을 제공합니다.

사전 조건:

  • MLflow 추적 서버가 있는 SageMaker AI 도메인.

  • S3, Athena, Lambda, SQS, SNS 및 EventBridge에 대한 권한이 있는 SageMaker 실행 역할(리포지토리에는 정확한 인라인 IAM 정책 및 create_or_update_sagemaker_role / create_lambda_role헬퍼가 포함됨). S3 EventBridge

  • 데이터 스토리지용 S3 버킷입니다.

  • Python 3.12 이상 및 uv 패키지 관리자(스크립트/CLI 경로용), 거버넌스 대시보드에 대한 QuickSight Enterprise 구독.

설정 경로를 선택합니다.

옵션 A(신규 사용자에게 권장): SageMaker 도메인이 없는 경우에 CloudFormation 템플릿을 배포합니다cloudformation/. SageMaker 도메인, 사용자 프로필, JupyterLab 공간, MLflow 추적 서버, S3 버킷 및 지원 VPC를 프로비저닝하고, 리포지토리를 자동 복제하고, 첫 번째 시작 .env 시 채워진를 작성합니다.

옵션 B(기존 도메인): MLflow 추적 서버가 있는 SageMaker 도메인이 이미 있는 경우 JupyterLab에서 리포지토리를 복제하고 .env 수동으로 채웁니다.

설정

모니터링을 준비하도록 훈련을 설정합니다. SageMaker Studio의 세 노트북에서 모든 것을 구동하거나 동등한 CLI 명령(각 노트북 셀은 CI/CD python main.py ... 명령에 매핑됨)을 사용할 수 있습니다. 샘플을 처음부터 끝까지 실행하는 경우를 편집할 필요가 없습니다. 기본값을 config.yaml채우.env고 사용할 수 있습니다. 모델을 이미 배포한 경우 훈련 파이프라인을 자체 단계에 맞게 조정하고 추론 엔드포인트가 예측 레코드를 Amazon SQS로 푸시하는지 확인합니다.