View a markdown version of this page

Alteração na disponibilidade SageMaker do Amazon Model Monitor - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Alteração na disponibilidade SageMaker do Amazon Model Monitor

nota

O Amazon SageMaker Model Monitor não está mais aberto a novos clientes. Os clientes existentes podem continuar usando o serviço normalmente. AWS continua investindo em melhorias de segurança e disponibilidade para o Model Monitor, mas não planejamos introduzir novos recursos.

Open-source SageMaker Soluções de monitoramento de IA + Amazon QuickSight + Amazon CloudWatch

A combinação das soluções de monitoramento de SageMaker inteligência artificial da Amazon de código aberto, dos painéis de QuickSight governança da Amazon e da Amazon CloudWatch serve como um substituto para o Amazon SageMaker Model Monitor.

As soluções de monitoramento de SageMaker inteligência artificial da Amazon de código aberto (publicadas na aws-samples GitHub organização) fornecem uma base altamente escalável e personalizável para o monitoramento abrangente da qualidade de dados e modelos. Eles são baseados em serviços AWS gerenciados (Amazon SageMaker AI, Amazon Athena, Amazon AWS Lambda, Amazon SQS EventBridge, Amazon SNS, Amazon QuickSight) combinados com ferramentas de ML de código aberto (SageMaker AI MLflow Apps e Evidently AI). As soluções são executadas inteiramente dentro de você Conta da AWS e escalam desde cargas de trabalho em lote de baixo volume até endpoints em tempo real de alto rendimento. Eles abrangem inferência em lote, endpoints em tempo real, avaliação de LLM e observabilidade de recursos de GPU, e você os adapta aos seus próprios conjuntos de dados, modelos e limites de desvio.

O monitoramento de inferência com a Amazon QuickSight adiciona uma camada de governança acima de seus canais de inferência de produção para monitoramento preditivo e em tempo real. Ele rastreia continuamente as métricas de previsão e qualidade dos dados, lida com a verdade básica atrasada e visualiza as tendências de deriva e desempenho do modelo nos painéis executivos. Essa solução combina aplicativos SageMaker AI MLflow e Evidently AI para análise estatística de desvios com um data lake Athena Iceberg, EventBridge-triggered Lambda para análise programada, alertas SNS e painéis. QuickSight

CloudWatchA Amazon fornece monitoramento em nível de sistema e de inferência com métricas aprimoradas para SageMaker endpoints, incluindo latência de invocação, erros de modelo, CPU/GPU utilização e métricas personalizadas com alarmes de detecção de anomalias.

Substituindo o Amazon SageMaker Model Monitor por soluções de código aberto QuickSight, e CloudWatch

Esta seção orienta você na substituição de sua implantação existente do Amazon SageMaker Model Monitor usando as soluções de monitoramento de SageMaker IA da Amazon de código aberto (SageMaker AI MLflow Apps + Evidently AI), painéis de QuickSight governança da Amazon e Amazon. CloudWatch Essa solução oferece suporte a funcionalidades equivalentes e expandidas para monitoramento da qualidade de dados, monitoramento da qualidade do modelo, detecção de desvio de polarização, detecção de desvio de atribuição de recursos e monitoramento do desempenho do sistema para modelos implantados no Amazon AI. SageMaker

Removendo o Model Monitor

Descontinue o Model Monitor para novos cronogramas de monitoramento

Se seu fluxo de trabalho incluir a criação de cronogramas de monitoramento usando as ModelExplainabilityMonitor classes DefaultModelMonitor ModelQualityMonitorModelBiasMonitor,, ou do SDK do SageMaker Python ou da CreateMonitoringSchedule API, faça a transição para as alternativas descritas na seção Configurando substituições abaixo.

Excluir cronogramas de monitoramento existentes

Os cronogramas de monitoramento ativam as instâncias do Processing Job (exemplo:ml.m5.xlarge) em um agendamento recorrente. Excluí-los ajuda a eliminar os custos contínuos de computação.

Usando o SDK do SageMaker Python:

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 )

Usando o 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"
nota

A exclusão de uma agenda de monitoramento também interrompe a programação, caso ela ainda não tenha sido interrompida. Isso não exclui o histórico de execução do trabalho do cronograma de monitoramento.

Configurando substituições

Escolhendo uma solução de monitoramento

O repositório de soluções de monitoramento de SageMaker IA da Amazon de código aberto fornece sete soluções de monitoramento prontas para produção, baseadas em aplicativos SageMaker AI MLflow e Evidently AI. Selecione aquele que corresponda ao seu padrão de inferência e às suas necessidades operacionais. Todos eles são de código aberto, executados dentro do seu Conta da AWS e projetados para serem personalizados para seus conjuntos de dados, modelos e limites de desvio.

Solução Tipo de inferência Implantação Foco de monitoramento Melhor para
Pipeline de monitoramento preditivo de lote de ML Transformação em lote 2 cadernos (experimento + SageMaker Pipeline) Variação da qualidade dos dados e do modelo Previsões periódicas de lotes
Monitoramento preditivo de terminais de ML Real-time endpoint (captura de dados) Notebook + CDK Lambda Variação da qualidade dos dados e do modelo Real-time endpoints dimensionados com CDK
Real-Time Monitoramento de inferência com Evidently AI + SNS Real-time endpoint (captura de dados) Caderno de workshop (referência) Variação da qualidade dos dados e do modelo Alertas leves por e-mail em um endpoint existente
Real-Time Monitoramento de inferência com painéis QuickSight Real-time endpoint Cadernos e roteiros (lago Athena Iceberg) Desvio + desempenho + verdade atrasada Painéis de governança da produção (veja o meta-monitoramento abaixo)
Monitoramento de inferência LLM Real-time endpoint (captura de dados) CDK (Step Functions + Lambda) Avaliações generativas de IA (segurança, relevância, fluência etc.) Monitoramento de segurança e qualidade do LLM
SageMaker Observabilidade de recursos com Grafana Real-time endpoint Notebook único (Amazon Managed Grafana) GPU/CPU/memory + custo Multi-model otimização de custo e capacidade
Observabilidade de qualidade do LLM com Grafana Real-time endpoint Notebook (Managed Grafana +) CloudWatch Segurança, relevância, tom, qualidade do compósito Detecção de regressão de qualidade de saída LLM

Começando com as soluções de monitoramento

Os pontos de partida recomendados para substituir os dados e o monitoramento da qualidade do modelo do Model Monitor são o Predictive ML Batch Monitoring Pipeline (para cargas de trabalho do batch/Batch Transform) e a solução Predictive ML Endpoint Monitoring (para endpoints em tempo real). Ambos usam o conjunto de dados de marketing do UCI Bank pronto para uso, para que você possa executá-los de ponta a ponta antes de adaptá-los ao seu próprio modelo.

Pipeline de monitoramento de lotes de ML preditivo (dois notebooks, executados em sequência):

  1. Experimentação (predictive_ml_experimentation_data_model_monitoring_evidently.ipynb): treina um modelo XGBoost com rastreamento MLflow, executa a inferência de transformação em lote e, em seguida, executa Evidently DataDriftPreset e registra todas as métricas e DataSummaryPreset HTML/JSON relatórios em seu aplicativo MLflow. ClassificationPreset

  2. Automação de pipeline (batch_monitoring_pipeline.ipynb): operacionaliza o fluxo de trabalho em um SageMaker pipeline com a TransformStep e Evidently ProcessingStep s, um tópico do SNS para alertas e um cronograma. EventBridge Na Seção 2, defina baseline_s3_uriproduction_s3_uri,mlflow_app_name,, mlflow_experiment_name (corresponda ao Caderno 1) e schedule_expression (por exemplo,rate(1 day)). notification_email Confirme a assinatura de e-mail do SNS antes da primeira execução. Os limites de desvio permanecem scripts/monitoring_processor.py (padrão: alerta quando mais de 30% dos recursos são desviados).

Monitoramento preditivo de terminais de ML (notebook, depois CDK opcional para escala): abraml_experimentation_with_data_model_monitoring_evidently_realtime.ipynb, defina mlflow_app_name na Seção 2 e execute as Seções 1 a 8. Isso treina o modelo, implanta um endpoint em tempo real com o Data Capture e funciona, evidentementeDataDriftPreset, de acordo com a linha de base e ClassificationPreset com a verdade básica.

Para escalar, implante as duas funções do Docker-based Lambda (desvio de dados e qualidade do modelo) com o CDK. Decdk/, executenpm install, exporte as variáveis impressas na Seção 9 (ENDPOINT_NAME,BUCKET,PREFIX,,BASELINE_KEY,CAPTURE_PREFIX,GROUND_TRUTH_KEY,MLFLOW_TRACKING_URI, MLFLOW_EXPERIMENTFEATURE_COLUMNS, opcionalSNS_TOPIC_ARN) e, em seguida, execute bash scripts/deploy.sh (é executado cdk bootstrap automaticamente).

Ative EventBridge as notificações do S3 no bucket e adicione gatilhos do S3: desvio de dados em baixo, qualidade do modelo em s3:ObjectCreated:* baixo${PREFIX}/data-capture/. ${PREFIX}/data/ground_truth/

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

O Lambda de qualidade do modelo alerta via SNS quando uma métrica cai abaixo de seu limite (padrões: F1 0,70, Precisão 0,80, ROC AUC 0,75; substituir por,,). THRESHOLD_F1 THRESHOLD_ACCURACY THRESHOLD_ROC_AUC

O Lambda de qualidade do modelo alerta via SNS quando uma métrica cai abaixo de seu limite (padrões: F1 0,70, Precisão 0,80, ROC AUC 0,75; substituir por,,). THRESHOLD_F1 THRESHOLD_ACCURACY THRESHOLD_ROC_AUC

Para uma alternativa leve em um endpoint existente, a solução de monitoramento de Real-Time inferência com Evidently AI + SNS adiciona uma única etapa de FrameworkProcessor processamento (EvidentlyMonitoring), além de um tópico de EventBridge agendador e SNS, sem data lake ou painel. É uma referência à Seção 8 do Caderno 06 no workshop amazon-sagemaker-da-idea-to-production. Os alertas são acionados quando drifted_columns_share excede DriftThreshold (padrão0.05) ou quando o CriticalFeatures desvio é configurado.

Substituindo o monitoramento da qualidade dos dados

O monitoramento da qualidade de dados do Model Monitor detecta desvios estatísticos nos recursos de entrada comparando dados de inferência ao vivo com uma linha de base de dados de treinamento. Ele calcula estatísticas (média, desvio padrão, mínimo, máximo, contagem exclusiva) e verifica as restrições (tipo de dados, integridade, faixas de valores) usando um Deequ-based mecanismo executado em trabalhos de processamento agendados.

Opção 1: Open-source soluções com Evidently AI

As soluções de monitoramento usam Evidently AI DataDriftPreset para detectar desvios de recursos, computando estatísticas de PSI (Índice de Estabilidade Populacional) e KS para cada recurso. A linha de base do treinamento é lida como o conjunto de dados de referência e os dados de inferência recentes como o conjunto de dados atual. Além disso, as soluções em lote e endpoint resolvem problemas de qualidade de dados (valores ausentes, valores discrepantes, verificações de integridade), correspondendo perfeitamente às verificações de restrições do Model Monitor. DataSummaryPreset As pontuações de drift são comparadas com limites configuráveis, registradas em um aplicativo SageMaker AI MLflow junto com métricas de treinamento e exibidas como relatórios HTML interativos.

Essa substituição é altamente escalável e totalmente personalizável:

  • Escalável: a computação é dimensionada para zero quando ociosa. EventBridge-triggered O Lambda executa a análise de desvio de acordo com um cronograma, e o particionamento de tabelas do Athena Iceberg mantém os custos de digitalização baixos à medida que o volume de dados aumenta. High-volume as implantações são dimensionadas linearmente sem capacidade reservada.

  • Personalizável: você controla as predefinições de desvio, os limites por recurso, as janelas de retrospectiva e a programação por meio de uma central. config.yaml Você pode adicionar testes de desvio específicos do domínio além do PSI (por exemplo, KPIs comerciais, como mudanças na taxa de aprovação).

  • Linhagem unificada: as métricas de deriva são co-localizadas com as métricas de treinamento no mesmo aplicativo SageMaker AI MLflow, fornecendo uma análise completa da linhagem do modelo e das tendências de deriva.

Consulte as soluções de monitoramento de SageMaker inteligência artificial da Amazon de código aberto para obter etapas detalhadas de configuração. A solução QuickSight-based em tempo real é descrita na Meta-Monitoring seção Inferência abaixo.

Opção 2: métricas CloudWatch personalizadas da Amazon e detecção de anomalias

Para um monitoramento leve da qualidade dos dados sem o pipeline completo de monitoramento, publique métricas personalizadas CloudWatch e use alarmes de detecção de anomalias. Consulte Usando a detecção de CloudWatch anomalias para obter etapas detalhadas.

Substituindo o monitoramento da qualidade do modelo

O monitoramento da qualidade do modelo do Model Monitor rastreia a precisão da previsão mesclando rótulos reais do S3 com previsões de terminais e métricas de computação (exatidão, precisão, recall, F1, AUC, RMSE, MAE) em um cronograma.

Opção 1: Open-source soluções com Evidently AI

As soluções de monitoramento usam a IA do Evidently ClassificationPreset para computarROC-AUC, precisar, recuperar, F1 e a matriz de confusão sempre que a verdade básica está disponível. As soluções incluem um padrão para reconciliar a verdade básica atrasada com as previsões por ID de inferência, que aborda a latência real do rótulo que dificulta o monitoramento da qualidade do modelo.

Opção 2: métricas CloudWatch personalizadas

Publique métricas de qualidade do modelo CloudWatch quando a verdade básica estiver disponível.

Substituindo o monitoramento de desvio de polarização

O monitoramento de desvio de viés do Model Monitor detecta mudanças nas métricas de imparcialidade ao longo do tempo comparando previsões ao vivo com uma linha de base de viés em atributos protegidos.

Segment-sliced métricas com Evidently AI, registradas no MLflow e QuickSight

Acompanhe o viés calculando as métricas de desempenho e resultados por segmento de atributo protegido (por exemplo, por genderage_band, ouregion) e comparando-as com a linha de base do treinamento. O mesmo ClassificationPreset usado pelo Evidently para a qualidade do modelo é executado por segmento, e as métricas resultantes por segmento (taxa de seleção, taxas true/false positivas precision/recall) são registradas no aplicativo SageMaker AI MLflow e exibidas no painel de governança. QuickSight

Defina seus próprios limites de imparcialidade (por exemplo, lacuna máxima aceitável na taxa de seleção ou taxa positiva real entre segmentos) e alerte via Amazon SNS quando uma lacuna ultrapassa o limite, usando o mesmo padrão EventBridge + Lambda dos monitores de qualidade de dados e modelos. Como tudo é de código aberto e é executado na sua conta, você controla quais atributos são monitorados e quais definições de justiça se aplicam.

Meta-monitoramento de inferência com a Amazon QuickSight (monitoramento preditivo e em tempo real)

Os modelos preditivos podem se degradar silenciosamente na produção. Os manipuladores de fraudes começam a ver picos de falsos positivos, os agentes de crédito veem os pedidos que deveriam ter sido sinalizados e os planejadores acabam com excesso de estoque devido à demanda superestimada. Meta-monitoring fornece às equipes feedback contínuo sobre o desempenho do modelo de produção e as alerta assim que a qualidade do modelo ou a variação de dados aparecem, para que elas possam atualizar os modelos de forma proativa.

Essa solução combina serviços AWS gerenciados (Amazon SageMaker AI, Amazon Athena, AWS Lambda, Amazon SQS, Amazon SNS, Amazon EventBridge, Amazon QuickSight) com ferramentas de ML de código aberto (SageMaker AI MLflow Apps, Evidently AI) para criar um sistema de monitoramento pronto para produção. No repositório de soluções de monitoramento, está a solução Real-Time Inference Monitoring with QuickSight Dashboards; a implementação de referência completa se baseia nas melhores práticas de sample-mlops-best practices e usa um modelo de detecção de fraude de cartão de crédito (XGBoost) como exemplo trabalhado. Ele implementa uma arquitetura de 11 etapas que abrange um pipeline de treinamento, monitoramento de inferência e um painel de governança, com três cadernos guiados orientando o fluxo de trabalho.

Pré-requisitos:

  • Um domínio de SageMaker IA com um servidor de rastreamento MLflow.

  • Uma função de SageMaker execução com permissões para S3, Athena, Lambda, SQS, SNS e EventBridge (o repositório inclui exatamente as políticas de IAM em linha e auxiliares/). create_or_update_sagemaker_role create_lambda_role

  • Um bucket S3 para armazenamento de dados.

  • Python 3.12+ e o gerenciador de uv pacotes (para o script/CLI caminho); uma assinatura QuickSight corporativa para o painel de governança.

Escolha um caminho de configuração:

Opção A (recomendada para novos usuários): se você não tiver um SageMaker domínio, implante o CloudFormation modelo emcloudformation/. Ele provisiona o SageMaker domínio, o perfil do usuário, o JupyterLab espaço, o servidor de rastreamento MLflow, o bucket S3 e o VPC de suporte, clona automaticamente o repositório e grava um arquivo preenchido na primeira inicialização. .env

Opção B (domínios existentes): Se você já tiver um SageMaker domínio com um servidor de rastreamento MLflow, clone o repositório e preencha manualmente. JupyterLab .env

Configuração

Configure o treinamento para se preparar para o monitoramento. Você pode controlar tudo, desde os três notebooks no SageMaker Studio, ou usar os comandos CLI equivalentes (cada célula do notebook é mapeada para um python main.py ... comando para CI/CD). Se você executar a amostra de ponta a ponta, não precisará editarconfig.yaml; preencher .env e usar os padrões funcionará. Se você já tem um modelo implantado, adapte o pipeline de treinamento às suas próprias etapas e garanta que o endpoint de inferência envie registros de previsão para o Amazon SQS.