Desvio de atribuição de atributos para modelos em produção - 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á.

Desvio de atribuição de atributos 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 atributo, 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 valores de atributos 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
Pontuação SAT 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 atributos foi completamente revertida. Semelhante ao desvio de polarização, os desvios de atribuição de atributos 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 atributos 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 atributos. Por exemplo, considerando dois atributos 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 atributo que teve uma pontuação de atribuição mais alta nos dados de treinamento. Com essas propriedades em mente, usamos a pontuação de ganho cumulativo com desconto normalizado (NDCG) para comparar as classificações de atribuições de atributos de treinamento e os dados dinâmicos.

Especificamente, suponha que temos o seguinte:

  • F= [f1, ..., fm] é a lista de atributos classificados com relação às pontuações de atribuição nos dados de treinamento, onde m é o número total de atributos. Por exemplo, no nosso caso, F = [Pontuação SAT, GPA, Classificação].

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

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

Então, podemos calcular o NDCG como:

        NDCG = DCG/iDCG

sendo

  • DCG = ∑1ma(f'i)/log2​(i+1)

  • iDCG = ∑1ma(fi)/log2​(i+1)

A quantidade DCG mede se os atributos com alta atribuição nos dados de treinamento também têm uma classificação mais alta na atribuição de atributos calculada nos dados dinâmicos. A quantidade iDCG 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 valor NDCG de 1 significa que a classificação de atribuição do atributo nos dados dinâmicos é a mesma que a dos dados de treinamento. Neste exemplo específico, como a classificação mudou bastante, o valor do NDCG é 0,69.

No SageMaker Clarify, se o valor do NDCG 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 (Ciência de dados). Os tópicos a seguir contêm os destaques das duas últimas etapas e contêm exemplos de código do caderno de exemplo.