Compartilhar via


Capacidade de explicação da inferência

Importante

A partir de 20 de setembro de 2023, não será mais possível criar novos recursos do Personalizador. O serviço Personalizador será desativado no dia 1º de outubro de 2026.

O Personalizador pode ajudar você a entender quais recursos de uma ação escolhida são os mais e os menos influentes para modelar durante a inferência. Quando habilitada, a capacidade de explicação de inferência inclui pontuações de recursos do modelo subjacente para a resposta à API de Classificação, de modo que seu aplicativo receba essas informações no momento da inferência.

As pontuações de recursos capacitam você a entender melhor a relação entre os recursos e as decisões tomadas pelo Personalizador. Elas podem ser usadas para fornecer insights aos usuários finais sobre por que uma recomendação específica foi feita ou para analisar se seu modelo está apresentando viés em relação a determinadas configurações contextuais, usuários e ações.

Como fazer para habilitar a capacidade de explicação da inferência?

Definir o sinalizador de configuração de serviço IsInferenceExplainabilityEnabled em sua configuração de serviço permite que o Personalizador inclua valores e pesos de recurso na resposta da API de Classificação. Para atualizar sua configuração de serviço atual, use API de Configuração de Serviço – Atualizar. No corpo da solicitação JSON, inclua a configuração de serviço atual e adicione a entrada extra: “IsInferenceExplainabilityEnabled”: true. Se você não souber sua configuração de serviço atual, poderá obtê-la em API Configuração de Serviço – Obter

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

Observação

Habilitar a capacidade de explicação da inferência aumentará significativamente a latência de chamadas para a API de Classificação. Recomendamos experimentar esse recurso e medir a latência em seu cenário para ver se ele atende aos requisitos de latência do aplicativo.

Como interpretar pontuações de recursos?

Habilitar a capacidade de explicação de inferência adicionará uma coleção à resposta JSON da API de Classificação chamada inferenceExplanation. Ela contém uma lista de nomes de recursos e valores enviados na solicitação de Classificação, além das pontuações de recursos aprendidas pelo modelo subjacente do Personalizador. As pontuações do recurso fornecem informações sobre o quão influente cada recurso foi no modelo que está escolhendo a ação.


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

No exemplo acima, três IDs de ação são retornadas na coleção de classificação junto com suas respectivas pontuações de probabilidade. A ação com a maior probabilidade é a _melhor ação_, conforme determinado pelo modelo treinado em dados enviados para as APIs do Personalizador, que, nesse caso, é "id": "EntertainmentArticle". A ID da ação pode ser vista novamente na coleção inferenceExplanation, juntamente com os nomes de recursos e as pontuações determinados pelo modelo para essa ação e os recursos e valores enviados à API de Classificação.

Lembre-se de que o Personalizador retornará a melhor ação ou uma ação exploratória escolhida pela política de exploração. A melhor ação é aquela que o modelo determinou que tem a maior probabilidade de maximizar a recompensa média, enquanto as ações exploratórias são escolhidas entre o conjunto de todas as ações possíveis fornecidas na chamada à API de Classificação. As ações executadas durante a exploração não aproveitam as pontuações de recursos para determinar qual ação tomar, portanto, as pontuações de recursos para ações exploratórias não devem ser usadas para entender por que a ação foi tomada. Saiba mais sobre exploração aqui.

Para as melhores ações retornadas pelo Personalizador, as pontuações de recursos podem fornecer insights gerais em que:

  • Pontuações positivas maiores fornecem mais suporte para o modelo que escolhe essa ação.
  • Pontuações negativas maiores oferecem mais suporte para o modelo que não escolhe essa ação.
  • Pontuações próximas a zero têm um pequeno efeito na decisão de escolher essa ação.

Considerações importantes para a capacidade de explicação de inferência

  • Latência maior. Habilitar a Capacidade de Explicação de Inferência pode aumentar significativamente a latência das chamadas à API de Classificação devido ao processamento das informações do recurso. Execute experimentos e meça a latência em seu cenário para ver se ele atende aos requisitos de latência do aplicativo.

  • Recursos correlacionados. Os recursos altamente correlacionados entre si podem reduzir a utilidade das pontuações de recursos. Por exemplo, suponha que o Recurso A esteja altamente correlacionado com o Recurso B. Pode ser que a pontuação do Recurso A seja um valor positivo grande, enquanto a pontuação do Recurso B é um valor negativo grande. Nesse caso, os dois recursos podem efetivamente cancelar um ao outro e ter pouco ou nenhum impacto sobre o modelo. Embora o Personalizador seja muito robusto para recursos altamente correlacionados, ao usar a Capacidade de Explicação de Inferência, verifique se os recursos enviados ao Personalizador não estão altamente correlacionados

  • Somente exploração padrão. Atualmente, a Inference Capacidade de Explicação de Inferência dá suporte apenas ao algoritmo de exploração padrão.

Próximas etapas

Aprendizado de reforço