Explicabilidad de inferencia

Importante

A partir del 20 de septiembre de 2023, no podrá crear nuevos recursos de Personalizer. El servicio Personalizer se va a retirar el 1 de octubre de 2026.

Personalizer puede ayudarle a comprender qué características de una acción elegida son las más y menos influyentes para después modelarlas durante la inferencia. Cuando está habilitada, la explicabilidad de inferencia incluye puntuaciones de características del modelo subyacente en la respuesta de la API de Rank, por lo que la aplicación recibe esta información en el momento de la inferencia.

Las puntuaciones de características le permiten comprender mejor la relación entre las características y las decisiones tomadas por Personalizer. Se pueden usar para proporcionar información a los usuarios finales sobre por qué se realizó una recomendación determinada o para analizar si el modelo presenta sesgo hacia o contra determinadas configuraciones contextuales, usuarios y acciones.

Cómo habilitar la explicabilidad de inferencia

Establecer la marca de configuración del servicio IsInferenceExplainabilityEnabled en la configuración del servicio permite a Personalizer incluir los valores de características y los pesos en la respuesta de la API de Rank. Para actualizar la configuración actual del servicio, use Configuración de servicio: Actualización de API. En el cuerpo de la solicitud JSON, incluya la configuración del servicio actual y agregue la entrada adicional: "IsInferenceExplainabilityEnabled": true. Si no conoce la configuración del servicio actual, puede obtenerla de Configuración de servicio: Obtención de API

{
  "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
}

Nota:

La habilitación de la explicabilidad de inferencia aumentará significativamente la latencia de las llamadas a la API de Rank. Se recomienda experimentar con esta funcionalidad y medir la latencia en el escenario para ver si satisface los requisitos de latencia de la aplicación.

¿Cómo interpretar las puntuaciones de características?

Habilitar explicabilidad de inferencia agregará una colección a la respuesta JSON de la API de Rank denominada inferenceExplanation. Contiene una lista de nombres y valores de características que se enviaron en la solicitud Rank, junto con las puntuaciones de características aprendidas por el modelo subyacente de Personalizer. Las puntuaciones de características proporcionan información sobre la influencia de cada característica en el modelo que elige la acción.


{
  "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
            },
        ]
  ]
}

En el ejemplo anterior, se devuelven tres identificadores de acción en la colección de clasificación junto con sus respectivas puntuaciones de probabilidades. La acción con la mayor probabilidad es the_ best action_ como determina el modelo entrenado en los datos enviados a las API de Personalizer, que en este caso es "id": "EntertainmentArticle". El identificador de acción se puede volver a ver en la colección inferenceExplanation, junto con los nombres y puntuaciones de características determinados por el modelo para esa acción y las características y los valores enviados a la API de Rank.

Recuerde que Personalizer devolverá la mejor acción o una acción exploratoria elegida por la directiva de exploración. La mejor acción es la que el modelo ha determinado que tiene la mayor probabilidad de maximizar la recompensa media, mientras que las acciones exploratorias se eligen entre el conjunto de todas las acciones posibles proporcionadas en la llamada API de Rank. Las acciones realizadas durante la exploración no aprovechan las puntuaciones de características para determinar qué acción realizar, por lo que las puntuaciones de características para las acciones exploratorias no deben usarse para comprender por qué se realizó la acción.Puede obtener más información sobre la exploración aquí.

Para obtener las mejores acciones devueltas por Personalizer, las puntuaciones de características pueden proporcionar información general:

  • Las puntuaciones positivas más grandes proporcionan más compatibilidad con el modelo que elige esta acción.
  • Las puntuaciones negativas más grandes proporcionan más compatibilidad con el modelo que no elige esta acción.
  • Las puntuaciones cercanas a cero tienen un pequeño efecto en la decisión de elegir esta acción.

Consideraciones importantes para la explicabilidad de inferencia

  • Mayor latencia. Habilitar la Explicabilidad de inferencia aumentará significativamente la latencia de las llamadas API de Rank debido al procesamiento de la información de características. Ejecute experimentos y mida la latencia en su escenario para ver si satisface los requisitos de latencia de la aplicación.

  • Características correlacionadas. Las características que están muy correlacionadas entre sí pueden reducir la utilidad de las puntuaciones de características. Por ejemplo, supongamos que la característica A está muy correlacionada con la característica B. Puede ser que la puntuación de la característica A sea un valor positivo grande, mientras que la puntuación de la característica B es un valor negativo grande. En este caso, las dos características pueden cancelarse entre sí de forma eficaz y tener poco o ningún impacto en el modelo. Aunque Personalizer es muy sólido para características altamente correlacionadas, cuando use explicabilidad de inferencia, asegúrese de que las características enviadas a Personalizer no estén muy correlacionadas

  • Exploración predeterminada solamente. Actualmente, la explicabilidad de inferencia solo admite el algoritmo de exploración predeterminado.

Pasos siguientes

Aprendizaje de refuerzo