Spiegabilità dell'inferenza

Importante

A partire dal 20 settembre 2023 non sarà possibile creare nuove risorse di Personalizer. Il servizio Personalizer sarà ritirato il 1° ottobre 2026. Consigliamo di migrare al microsoft/learning-loop open-source.

Personalizer può aiutarti a comprendere quali caratteristiche di un'azione scelta sono le più e le meno influenti per modellare poi durante l'inferenza. Se abilitata, la spiegabilità dell'inferenza include i punteggi delle funzionalità del modello sottostante nella risposta dell'API Classificazione, in modo che l'applicazione riceva tali informazioni al momento dell'inferenza.

I punteggi delle caratteristiche consentono di comprendere meglio la relazione tra le caratteristiche e le decisioni prese da Personalizer. Possono essere usati per fornire informazioni dettagliate agli utenti finali sul motivo per cui è stata effettuata una particolare raccomandazione o per analizzare se il modello presenta distorsioni a favore o contro determinate impostazioni, utenti e azioni contestuali.

Come si abilita la spiegabilità dell'inferenza?

L'impostazione del flag di configurazione del servizio IsInferenceExplainabilityEnabled nella configurazione del servizio consente a Personalizer di includere i valori e i pesi delle funzionalità nella risposta dell'API Rank. Per aggiornare la configurazione del servizio corrente, usare Configurazione del servizio - API di aggiornamento. Nel corpo della richiesta JSON, includere la configurazione del servizio corrente e aggiungere la voce aggiuntiva "IsInferenceExplainabilityEnabled": True. Se non si conosce la configurazione del servizio corrente, è possibile ottenerla da Configurazione del servizio - ottenere l'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

L'abilitazione della spiegabilità dell'inferenza aumenterà significativamente la latenza delle chiamate all'API Rank. È consigliabile sperimentare questa funzionalità e misurare la latenza nel proprio scenario per verificare se soddisfa i requisiti di latenza della propria applicazione.

Come interpretare i punteggi delle funzionalità?

L'abilitazione della spiegabilità dell'inferenza aggiungerà una raccolta alla risposta JSON dall'API Classificazione (Rank) denominata inferenceExplanation. Contiene un elenco di nomi di caratteristiche e valori inviati nella richiesta di Ranking, insieme ai punteggi delle caratteristiche appresi dal modello sottostante di Personalizer. I punteggi delle funzionalità forniscono informazioni dettagliate sull'influenza di ciascuna di esse nel modello che sceglie l'azione.


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

Nell'esempio precedente, vengono restituiti tre ID azione nella raccolta classificazione insieme ai rispettivi punteggi di probabilità. L'azione con la maggiore probabilità è l'azione migliore come determinato dal modello addestrato sui dati inviati alle API di Personalizer, che in questo caso è "id": "EntertainmentArticle". L'ID azione può essere visualizzato nuovamente nella raccolta inferenceExplanation, insieme ai nomi e ai punteggi delle funzionalità determinati dal modello per tale azione e le funzionalità e i valori inviati all'API di Classificazione.

Tenere presente che Personalizza esperienze restituirà l'azione migliore o un'azione esplorativa scelta dai criteri di esplorazione. L'azione migliore è quella determinata dal modello con la massima probabilità di massimizzare la ricompensa media, mentre le azioni esplorative vengono scelte tra il set di tutte le azioni possibili fornite nella chiamata API di Classificazione. Le azioni eseguite durante l'esplorazione non sfruttano i punteggi delle funzionalità per determinare l'azione da intraprendere, pertanto i punteggi di funzionalità per le azioni esplorative non devono essere usate per comprendere il motivo per cui è stata intrapresa l'azione.Per altre informazioni sull'esplorazione, vedere qui.

Per le azioni migliori restituite da Personalizer, i punteggi delle funzionalità possono fornire un'idea generale.

  • I punteggi positivi più elevati offrono maggiore supporto per il modello che sceglie questa azione.
  • I punteggi negativi più elevati offrono maggiore supporto per il modello che non sceglie questa azione.
  • I punteggi vicini a zero hanno un piccolo effetto sulla decisione di scegliere questa azione.

Considerazioni importanti per la spiegabilità dell'inferenza

  • Latenza aumentata. L'abilitazione di spiegabilità dell'inferenza aumenterà significativamente la latenza delle chiamate API di Classificazione a causa dell'elaborazione delle informazioni sulle funzionalità. Eseguire esperimenti e misurare la latenza nel proprio scenario per verificare se soddisfa i requisiti di latenza dell'applicazione.

  • Funzionalità correlate. Le funzionalità altamente correlate tra loro possono ridurre l'utilità dei punteggi di funzionalità. Si supponga, ad esempio, che la funzionalità A sia strettamente correlata alla funzionalità B. Potrebbe essere che il punteggio della funzionalità A è un valore positivo elevato mentre il punteggio della funzionalità B è un valore negativo elevato. In questo caso, le due funzionalità possono annullarsi l'una dall'altra e non avere alcun impatto sul modello. Sebbene Personalizza esperienze sia molto affidabile per le caratteristiche altamente correlate, quando si usa Spiegabilità dell'Inferenza, assicurarsi che le caratteristiche inviate a Personalizza esperienze non siano altamente correlate

  • Solo esplorazione predefinita. Attualmente, la spiegabilità dell'inferenza supporta solo l'algoritmo di esplorazione predefinito.

Passaggi successivi

Apprendimento per rinforzo