Desvio de atribuição de recursos para modelos em produção - Amazon SageMaker

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á.

Desvio de atribuição de recursos para modelos em produção

Um desvio na distribuição de dados dinâmicos para modelos em produção pode resultar em um desvio correspondente nos valores de atribuição do recurso, assim como pode causar uma oscilação no desvio ao monitorar as métricas de desvio. O monitoramento de atribuição de recursos do Amazon SageMaker Clarify ajuda cientistas de dados e engenheiros de ML a monitorar regularmente as previsões de variações na atribuição de recursos. À medida que o modelo é monitorado, os clientes podem visualizar relatórios e gráficos exportáveis detalhando as atribuições de recursos no SageMaker Studio e configurar alertas na Amazon CloudWatch para receber notificações se for detectado que os valores de atribuição ultrapassam um determinado limite.

Para ilustrar isso com uma situação específica, considere um cenário hipotético de admissões a faculdades. Suponha que observemos os seguintes valores (agregados) de atribuição de recursos nos dados de treinamento e nos dados dinâmicos:

Cenário hipotético de admissão à faculdade

Atributo Atribuição nos dados de treinamento Atribuição em dados dinâmicos
SATpontuação 0,70 0.10
GPA 0.50 0.20
Classificação da classe 0,05 0,70

A mudança dos dados de treinamento para os dados dinâmicos parece significativa. A classificação de recursos foi completamente revertida. Semelhante ao desvio de polarização, os desvios de atribuição de recursos podem ser causados por uma mudança na distribuição de dados dinâmicos e justificam uma análise mais detalhada do comportamento do modelo nos dados dinâmicos. Novamente, a primeira etapa nesses cenários é disparar um alarme de ocorrência de desvio.

Podemos detectar o desvio comparando como a classificação dos recursos individuais mudou dos dados de treinamento para os dados dinâmicos. Além de sermos sensíveis às mudanças na ordem de classificação, também queremos ser sensíveis à pontuação bruta de atribuição dos recursos. Por exemplo, considerando dois recursos que se enquadram na classificação pelo mesmo número de posições, do treinamento aos dados dinâmicos, queremos ser mais sensíveis ao recurso que teve uma pontuação de atribuição mais alta nos dados de treinamento. Com essas propriedades em mente, usamos a pontuação Normalized Discounted Cumulative Gain (NDCG) para comparar as classificações de atribuições de recursos de treinamento e dados ao vivo.

Especificamente, suponha que temos o seguinte:

  • F= [f1, ..., fm] é a lista de recursos classificados com relação às pontuações de atribuição nos dados de treinamento, onde m é o número total de recursos. Por exemplo, em nosso caso, F = [SATScoreGPA, Class Rank].

  • a(f) é uma função que retorna a pontuação de atribuição do recurso nos dados de treinamento, dado um recurso f. Por exemplo, a (SATPontuação) = 0,70.

  • F′= [f′1, ..., f′m] é a lista de recursos classificados com relação às pontuações de atribuição nos dados dinâmicos. Por exemplo, F ′= [Classificação da classeGPA, SAT Pontuação].

Então, podemos calcular o NDCG como:

        NDCG= DCG /i DCG

with

  • DCG= ․ 1 m a (f' i) /log 2​ (i +1)

  • i DCG = ․ 1 m a (f i) /log 2​ (i +1)

A quantidade DCG mede se os recursos com alta atribuição nos dados de treinamento também têm uma classificação mais alta na atribuição de recursos calculada nos dados ativos. A quantidade i DCG mede a pontuação ideal e é apenas um fator de normalização para garantir que a quantidade final resida na faixa [0, 1], com 1 sendo o melhor valor possível. Um NDCG valor de 1 significa que a classificação de atribuição do recurso nos dados ao vivo é a mesma dos dados de treinamento. Neste exemplo específico, como a classificação mudou bastante, o NDCG valor é 0,69.

No SageMaker Clarify, se o NDCG valor estiver abaixo de 0,90, emitimos automaticamente um alerta.

Caderno de exemplo do Model Monitor

SageMaker O Clarify fornece o seguinte exemplo de caderno que mostra como capturar dados de inferência para um endpoint em tempo real, criar uma linha de base para monitorar a evolução do viés e inspecionar os resultados:

Este notebook foi verificado para ser executado somente no SageMaker Studio. Se você precisar de instruções sobre como abrir um notebook no SageMaker Studio, consulteCrie ou abra um notebook Amazon SageMaker Studio Classic. Caso seja solicitado que você escolha um kernel, escolha Python 3 (Data Science). Os tópicos a seguir contêm os destaques das duas últimas etapas e contêm exemplos de código do caderno de exemplo.