Dérive d'attribution des fonctionnalités pour les modèles en production - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Dérive d'attribution des fonctionnalités pour les modèles en production

Une dérive dans la distribution de données actives pour les modèles en production peut entraîner une dérive correspondante dans les valeurs d'attribution de fonctions, comme elle pourrait provoquer une dérive de biais lors de la surveillance des métriques de biais. La surveillance de l'attribution des fonctionnalités Amazon SageMaker Clarify aide les spécialistes des données et les ingénieurs du ML à surveiller régulièrement les prévisions relatives à la dérive de l'attribution des fonctionnalités. Lorsque le modèle est surveillé, les clients peuvent consulter des rapports et des graphiques exportables détaillant les attributions des fonctionnalités dans SageMaker Studio et configurer des alertes sur Amazon CloudWatch pour recevoir des notifications s'il est détecté que les valeurs d'attribution dépassent un certain seuil.

Pour illustrer cela par une situation particulière, prenons le cas des admissions à l'université. Supposons que nous observons les valeurs d'attribution de fonctions (agrégées) suivantes dans les données d'entraînement et les données actives :

Scénario hypothétique d'admission à l'université

Fonctionnalité Attribution des données d'entraînement Attribution des données actives
SATscore 0,70 0.10
GPA 0.50 0.20
Classement de classe 0,05 0,70

Le passage des données d'entraînement aux données actives semble significatif. Le classement des fonctions est complètement inversé. À l'instar de la dérive de biais, les dérives d'attribution de fonctions peuvent être causées par un changement dans la distribution des données actives et justifient un examen plus approfondi du comportement du modèle sur les données actives. Là encore, la première étape de ces scénarios consiste à signaler par une alarme qu'une dérive s'est produite.

Nous pouvons détecter la dérive en comparant la façon dont le classement des fonctions individuelles est passé des données d'entraînement aux données actives. En plus de tenir compte des changements dans l'ordre de classement, nous devons également tenir compte du score d'attribution brut des fonctions. Par exemple, si deux fonctions entrent dans le classement par le même nombre de positions passant des données d'entraînement aux données actives, nous devons tenir compte de la fonction dont le score d'attribution était le plus élevé dans les données d'entraînement. En gardant ces propriétés à l'esprit, nous utilisons le score de gain cumulé réduit normalisé (NDCG) pour comparer le classement des attributions de fonctionnalités entre les données d'entraînement et les données en temps réel.

Plus précisément, supposons le scénario suivant :

  • F=[f1,...,fm] est la liste des fonctions triées en fonction de leurs scores d'attribution dans les données d'entraînement, m représentant le nombre total de fonctions. Par exemple, dans notre cas, F = [SATScoreGPA, Class Rank].

  • a(f) est une fonction qui renvoie le score d'attribution de fonction sur les données d'entraînement dans le cas d'une fonction f. Par exemple, a (SATScore) = 0,70.

  • F′=[f′1,...,f′m] est la liste des fonctions triées en fonction de leurs scores d'attribution dans les données actives. Par exemple, F ′= [Class RankGPA, SAT Score].

Ensuite, nous pouvons calculer le résultat NDCG comme suit :

        NDCG= DCG /i DCG

avec

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

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

La quantité DCG indique si les caractéristiques présentant une attribution élevée dans les données d'entraînement sont également mieux classées dans l'attribution de caractéristiques calculée sur les données en direct. La quantité i DCG mesure le score idéal et il s'agit simplement d'un facteur de normalisation pour garantir que la quantité finale se situe dans la plage [0, 1], 1 étant la meilleure valeur possible. Une NDCG valeur de 1 signifie que le classement d'attribution des fonctionnalités dans les données en temps réel est le même que celui des données d'entraînement. Dans cet exemple particulier, étant donné que le classement a beaucoup changé, la NDCG valeur est de 0,69.

Dans SageMaker Clarify, si la NDCG valeur est inférieure à 0,90, nous déclenchons automatiquement une alerte.

Exemple de blocs-notes Model Monitor

SageMaker Clarify fournit l'exemple de bloc-notes suivant qui montre comment capturer des données d'inférence pour un point de terminaison en temps réel, créer une base de référence pour surveiller l'évolution des biais et inspecter les résultats :

Il a été vérifié que ce bloc-notes fonctionne uniquement dans SageMaker Studio. Si vous avez besoin d'instructions pour ouvrir un bloc-notes dans SageMaker Studio, consultezCréation ou ouverture d'un bloc-notes Amazon SageMaker Studio Classic. Si vous êtes invité à choisir un noyau, choisissez Python 3 (Data Science). Les rubriques suivantes contiennent les éléments principaux des deux dernières étapes, ainsi que des exemples de code tirés de l'exemple de bloc-notes.