Partager via


Explicabilité de l’inférence

Important

À compter du 20 septembre 2023, vous ne pourrez pas créer de ressources Personalizer. Le service Personalizer est mis hors service le 1er octobre 2026.

Personalizer peut vous aider à comprendre quelles caractéristiques d’une action choisie sont les plus et les moins influentes pour ensuite modéliser pendant l’inférence. En cas d’activation, l’explicabilité de l’inférence inclut des scores de caractéristiques du modèle sous-jacent dans la réponse de l’API Classement, de sorte que votre application reçoit ces informations au moment de l’inférence.

Les scores de fonctionnalités vous permettent de mieux comprendre la relation entre les caractéristiques et les décisions prises par Personalizer. Ils peuvent être utilisés pour fournir à vos utilisateurs finaux des insights sur la raison pour laquelle une recommandation particulière a été faite ou pour analyser votre modèle afin de déterminer s’il présente un biais en faveur ou au détriment de certains paramètres contextuels, utilisateurs et actions.

Comment activer l’explicabilité de l’inférence ?

La définition de l’indicateur de configuration de service IsInferenceExplainabilityEnabled dans votre configuration de service permet à Personalizer d’inclure des valeurs de caractéristique et des poids dans la réponse de l’API Classement. Pour mettre à jour votre configuration de service actuelle, utilisez l’API Configuration du service – Update. Dans le corps de la requête JSON, incluez votre configuration de service actuelle et ajoutez l’entrée supplémentaire : “IsInferenceExplainabilityEnabled”: true. Si vous ne connaissez pas votre configuration de service actuelle, vous pouvez l’obtenir à partir de l’API Configuration du service – Get

{
  "rewardWaitTime": "PT10M",
  "defaultReward": 0,
  "rewardAggregation": "earliest",
  "explorationPercentage": 0.2,
  "modelExportFrequency": "PT5M",
  "logMirrorEnabled": true,
  "logMirrorSasUri": "https://testblob.blob.core.windows.net/container?se=2020-08-13T00%3A00Z&sp=rwl&spr=https&sv=2018-11-09&sr=c&sig=signature",
  "logRetentionDays": 7,
  "lastConfigurationEditDate": "0001-01-01T00:00:00Z",
  "learningMode": "Online",
  "isAutoOptimizationEnabled": true,
  "autoOptimizationFrequency": "P7D",
  "autoOptimizationStartDate": "2019-01-19T00:00:00Z",
"isInferenceExplainabilityEnabled": true
}

Notes

L’activation de l’explicabilité de l’inférence augmente considérablement la latence des appels à l’API Rank. Nous vous recommandons d’expérimenter cette fonctionnalité et de mesurer la latence dans votre scénario pour voir si elle respecte les exigences de latence de votre application.

Comment interpréter les scores des caractéristiques ?

L’activation de l’explicabilité de l’inférence ajoute une collection à la réponse JSON de l’API Classement appelée inferenceExplanation. Elle contient une liste de noms et de valeurs de caractéristiques qui ont été envoyés dans la requête de classement, ainsi que des scores de caractéristiques appris par le modèle sous-jacent de Personalizer. Les scores de caractéristiques vous fournissent des informations sur l’influence de chaque caractéristique dans le modèle choisissant l’action.


{
  "ranking": [
    {
      "id": "EntertainmentArticle",
      "probability": 0.8
    },
    {
      "id": "SportsArticle",
      "probability": 0.15
    },
    {
      "id": "NewsArticle",
      "probability": 0.05
    }
  ],
 "eventId": "75269AD0-BFEE-4598-8196-C57383D38E10",
 "rewardActionId": "EntertainmentArticle",
 "inferenceExplanation": [
    {
        "id”: "EntertainmentArticle",
        "features": [
            {
                "name": "user.profileType",
                "score": 3.0
            },
            {
                "name": "user.latLong",
                "score": -4.3
            },
            {
                "name": "user.profileType^user.latLong",
                "score" : 12.1
            },
        ]
  ]
}

Dans l’exemple ci-dessus, trois ID d’action sont retournés dans la collection ranking, ainsi que leurs scores de probabilité respectifs. L’action présentant la probabilité la plus élevée est la _meilleure action_ comme déterminé par le modèle entraîné sur les données envoyées aux API Personalizer, dans ce cas "id": "EntertainmentArticle". L’ID d’action est à nouveau visible dans la collection d’inférenceExplanation, ainsi que les noms et scores des caractéristiques déterminés par le modèle pour cette action et les caractéristiques et valeurs envoyées à l’API Classement.

Rappelez-vous que Personalizer retourne la meilleure action ou une action exploratoire choisie par la stratégie d’exploration. La meilleure action est celle que le modèle a déterminée comme ayant la probabilité la plus élevée d’optimiser la récompense moyenne, tandis que les actions exploratoires sont choisies parmi l’ensemble des actions possibles fournies dans l’appel de l’API Classement. Les actions effectuées pendant l’exploration ne tirent pas parti des scores de caractéristiques pour déterminer quelle action entreprendre, par conséquent, les scores de caractéristiques pour les actions exploratoires ne doivent pas être utilisés pour comprendre pourquoi l’action a été entreprise. Vous pouvez en apprendre plus sur l’exploration ici.

Pour les meilleures actions retournées par Personalizer, les scores de caractéristiques peuvent fournir des informations générales sur les points suivants :

  • Les scores positifs plus importants fournissent davantage de support pour le modèle choisissant cette action.
  • Les scores négatifs plus importants fournissent davantage de support pour le modèle qui ne choisit pas cette action.
  • Les scores proches de zéro ont un petit effet sur la décision de choisir ou non cette action.

Considérations importantes pour l’explicabilité de l’inférence

  • Latence accrue. L’activation de l’explicabilité de l’inférence augmente considérablement la latence des appels à l’API Rank en raison du traitement des informations de caractéristique. Exécutez des expériences et mesurez la latence dans votre scénario pour voir si elle répond aux exigences de latence de votre application.

  • Caractéristiques corrélées. Les caractéristiques hautement corrélées les unes avec les autres peuvent réduire l’utilité des scores de caractéristiques. Par exemple, supposons que la caractéristique A est fortement corrélée avec la caractéristique B. Il est possible que la caractéristique A soit une valeur positive importante, et le score de la caractéristique B une valeur négative importante. Dans ce cas, les deux caractéristiques peuvent effectivement s’annuler mutuellement et avoir peu à aucun impact sur le modèle. Bien que Personalizer soit très robuste pour les caractéristiques hautement corrélées, lors de l’utilisation de l’explicabilité de l’inférence, assurez-vous que les caractéristiques envoyées à Personalizer ne sont pas fortement corrélées

  • Exploration par défaut uniquement. Actuellement, l’explicabilité de l’inférence prend en charge uniquement l’algorithme d’exploration par défaut.

Étapes suivantes

Apprentissage par renforcement