你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

推理可解释性

重要

从 2023 年 9 月 20 日开始,将无法创建新的个性化体验创建服务资源。 个性化体验创建服务将于 2026 年 10 月 1 日停用。

个性化体验创建服务可帮助你了解所选操作的哪些特征在推理期间对模型的影响最大,而哪些的影响最小。 启用后,推理可解释性包括从基础模型到排名 API 响应的特征分数,这使得应用程序会在推理时收到此信息。

特征分数使你能够更好地了解特征与个性化体验创建服务的决策之间的关系。 它们可用于向最终用户提供有关为何提出特定建议的见解,或者用于分析模型是否表现出对某些上下文设置、用户和操作的偏见。

如何启用推理可解释性?

通过在服务配置中设置服务配置标志 IsInferenceExplainabilityEnabled,使个性化体验创建服务能够在排名 API 响应中包含特征值和权重。 若要更新当前服务配置,请使用服务配置 - 更新 API。 在 JSON 请求正文中,包括当前服务配置并添加额外条目:“IsInferenceExplainabilityEnabled”: true。 如果不知道当前的服务配置,可以从服务配置 - 获取 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
}

注意

启用推理可解释性会显著增加对排名 API 的调用延迟。 我们建议试验此功能并测量方案中的延迟,以查看它是否满足应用程序的延迟要求。

如何解释特征分数?

启用推理可解释性会将集合添加到名为 inferenceExplanation 的排名 API 的 JSON 响应中。 其中包含已在排名请求中提交的特征名称和值的列表,以及个性化体验创建服务的基础模型了解到的特征分数。 特征分数为你提供了见解,便于你了解选择操作的模型中每个特征的影响。


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

在上面的示例中,ranking 集合中返回 3 个操作 ID 及其各自的概率分数。 具有最大概率的操作是由根据发送到个性化体验创建服务 API 的数据训练的模型确定的最佳操作,在本例中为 "id": "EntertainmentArticle"。 可以在 inferenceExplanation 集合中再次看到操作 ID、该操作的模型所确定的特征名称和分数,以及发送到排名 API 的特征和值。

回想一下,个性化体验创建服务会返回最佳操作或浏览策略选择的探索性操作。 最佳操作是模型确定最有可能将平均奖励最大化的操作,而探索性操作是从在排名 API 调用中提供的所有可能操作的集中选择的。 在探索期间执行的操作不会利用特征分数来确定要执行的操作,因此不应使用探索性操作的特征分数来了解采取该操作的原因。可以在此处详细了解探索

对于个性化体验创建服务返回的最佳操作,特征分数可以提供一般见解,其中:

  • 较大的正分数为选择此操作的模型提供更多支持。
  • 较大的负分数为不选择此操作的模型提供更多支持。
  • 接近零的分数对选择此操作的决定的影响很小。

推理可解释性的重要注意事项

  • 延迟增加。 启用推理可解释性将会显著增加排名 API 调用的延迟,因为需要处理特征信息。 运行试验并测量方案中的延迟,看它是否满足应用程序的延迟要求。

  • 关联特征。 彼此高度关联的特征可以减少特征分数的使用。 例如,假设特征 A 与特征 B 高度关联。可能特征 A 的分数是大的正值,而特征 B 的分数是大的负值。 这种情况下,这两个特征在效果上可能会彼此抵消,对模型影响很小或没有影响。 虽然个性化体验创建服务基本不受高度关联的特征的影响,但在使用“推理可解释性”时,请确保发送到个性化体验创建服务的特征不是高度关联的

  • 仅默认探索。 目前,推理可解释性仅支持默认探索算法。

后续步骤

强化学习