Surveillance de la dérive d'attribution de caractéristiques 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.

Surveillance de la dérive d'attribution de caractéristiques 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
Score SAT 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 nous basant sur ces propriétés, nous utilisons le score NDCG (Normalized Discount Cumulative Gain) pour comparer le classement des attributions de fonctions des données d'entraînement et des données actives.

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=[Score SAT, GPA, Classement de classe].

  • 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(Score SAT) = 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′=[Classement de classe, GPA, Score SAT].

Nous pouvons ensuite calculer le NDCG comme suit :

        NDCG = DCG/IDCG

avec

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

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

La quantité DCG mesure si les fonctions ayant une attribution élevée dans les données d'entraînement occupent un rang également plus élevé dans l'attribution de fonctions calculée sur les données actives. La quantité iDCG mesure le score idéal. Il s'agit simplement d'un facteur de normalisation pour s'assurer que la quantité finale se situe dans la plage [0, 1], 1 désignant la meilleure valeur possible. Une valeur NDCG de 1 signifie que le classement d'attribution de fonctions dans les données actives est identique à celui des données d'entraînement. Dans cet exemple particulier, comme le classement a sensiblement changé, la valeur NDCG est de 0.69.

Dans SageMaker Clarify, si la valeur NDCG 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.