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

生成式 AI 应用程序的模型监视(预览版)

监视生产环境中的模型是 AI 生命周期的重要组成部分。 随着时间的推移,数据和使用者行为的变化可能会影响生成式 AI 应用程序,导致系统过时,从而对业务成果产生负面影响,并使组织面临合规性、经济和信誉风险。

重要

生成式 AI 应用程序的模型监控目前以公共预览版提供。 这些预览版在提供时没有附带服务级别协议,不建议用于生产工作负荷。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

使用针对生成式 AI 应用程序的 Azure 机器学习模型监视,你可以更轻松地按节奏监视生产环境中的 LLM 应用程序的安全性和质量,以确保其产生最大的业务影响。 监视最终有助于维护生成式 AI 应用程序的质量和安全性。 功能和集成包括:

  • 使用模型数据收集器收集生产数据。
  • 可靠的 AI 评估指标(例如有据性、连贯性、流畅性、相关性和相似性),可与 Azure 机器学习提示流评估指标互操作。
  • 能够根据组织目标配置违规警报并定期运行监视
  • 在 Azure 机器学习工作室的工作区中使用功能丰富的仪表板中的结果。
  • 集成 Azure 机器学习提示流评估指标、分析收集的生产数据以提供及时警报,以及将随时间推移而变化的指标可视化。 ​

有关整体模型监视的基本概念,请参阅使用 Azure 机器学习进行模型监视(预览版)。 本文介绍如何监视由托管联机终结点提供支持的生成式 AI 应用程序。 可采取以下步骤:

评估指标

指标由下述最先进的 GPT 语言模型生成,这些模型配置有特定的评估指令(提示模板),充当序列到序列任务的评估器模型。 与标准生成式 AI 评估指标相比,此方法显示出强有力的实证结果以及与人类判断的高相关性。 有关提示流评估的详细信息,请参阅提交批量测试和评估流(预览版)

以下 GPT 模型受支持,将被配置为 Azure OpenAI 资源:

  • GPT-3.5 Turbo
  • GPT-4
  • GPT-4-32k

支持以下指标。 如需每个指标的更多详细信息,请参阅监视评估指标说明和用例

  • 有据性:评估模型生成的答案与输入源信息的匹配程度。
  • 相关性:评估模型生成的响应与给定问题的相关程度和直接相关程度。
  • 连贯性:评估语言模型在多大程度上能够流畅地生成输出流、自然地进行阅读并与人类语言相似。
  • 流畅性:评估生成式 AI 的预测答案的语言熟练程度。 它评估生成的文本在多大程度上遵守了语法规则、语法结构和正确的词汇用法,从而产生语言正确且听起来自然的响应。
  • 相似性:评估基本事实句子(或文档)与 AI 模型生成的预测句子之间的相似性。

指标配置要求

需要以下输入(数据列名称)来衡量生成安全性和质量:

  • 提示文本 - 给出的原始提示(也称为“输入”或“问题”)
  • 完成文本 - 返回的 API 调用的最终完成内容(也称为“输出”或“回答”)
  • 上下文文本 - 发送到 API 调用的任何上下文数据以及原始提示。 例如,如果你希望仅从某些经过认证的信息源/网站获取搜索结果,可以在评估步骤中进行定义。 这是一个可选步骤,可以通过提示流进行配置。
  • 基本事实文本 - 作为“事实来源”的用户定义文本(可选)

根据下表,数据资产中配置的哪些参数决定了你可以生成哪些指标:

指标 Prompt Completion 上下文 基本事实
一致性 必须 必须 - -
流畅度 必须 必须 - -
真实性 必须 必需 必须 -
相关性 必须 必需 必须 -
相似度 必须 必需 - 必须

先决条件

  1. Azure OpenAI 资源:你必须创建具有足够配额的 Azure OpenAI 资源。 此资源用作评估终结点。
  2. 托管标识:使用足够的角色访问权限(如下一步中定义的那样),创建一个用户分配的托管标识 (UAI),并按照使用 CLI v2 附加用户分配的托管标识中的指导将其附加到工作区。
  3. 角色访问权限 若要为角色分配所需的权限,你需要拥有资源的所有者或 Microsoft.Authorization/roleAssignments/write 权限。 更新连接和权限的操作可能需要几分钟才能生效。 必须将这些附加角色分配给 UAI:
    • 资源:工作区
    • 角色:Azure 机器学习数据科学家
  4. 工作区连接:按照此指南,使用托管标识来表示用于计算监视指标的 Azure OpenAI 终结点的凭据。 在流中使用连接后,请勿将其删除。
    • API 版本:2023-03-15-preview
  5. 提示流部署:按照此指南创建提示流运行时,运行流,并确保使用此文作为指南来配置部署
    • 流输入和输出:需要在创建监视器时适当命名流输出,并记住这些列名称。 在本文中,我们使用以下内容:
      • 输入(必需):“提示”
      • 输出(必需):“completion”
        • 输出(可选):“上下文”|“基本事实”
    • 数据收集:在“部署”(提示流部署向导的步骤 2)中,必须使用模型数据收集器启用“推理数据收集”开关
    • 输出:在“输出”(提示流部署向导的步骤 3)中,确认你已选择了上面列出的符合指标配置要求的所需输出(例如,完成 | 上下文 | ground_truth)

注意

如果计算实例位于 VNet 后面,请参阅提示流中的网络隔离

创建监视器

在“监视概述”页中创建监视器 Screenshot showing how to create a monitor for your application.

配置基本监视设置

在监视创建向导中,将“模型任务类型”更改为“提示和完成”,如屏幕截图中的 (A) 所示Screenshot showing how to configure basic monitoring settings for generative AI.

配置数据资产

如果已使用模型数据收集器,请选择两个数据资产(输入和输出)。 Screenshot showing how to configure your data asset for generative AI.

选择监视信号

Screenshot showing monitoring signal configuration options on the monitoring settings dialog.

  1. 配置屏幕截图中的工作区连接 (A)。
    1. 需要正确配置工作区连接,否则会看到以下内容:Screenshot showing an unconfigured monitoring signal.
  2. 输入 Azure OpenAI 评估器部署名称 (B)。
  3. (可选)联接生产数据输入和输出:监视服务 (C) 会自动联接生产模型输入和输出。 可以根据需要对此进行自定义,但无需执行任何操作。 默认情况下,联接列为 correlationid。
  4. (可选)配置指标阈值:可接受的每实例分数固定为 3/5。 可以在 [1,99] % 范围内调整可接受的总体百分比通过率
  • 从提示流中手动输入列名称 (E)。 标准名称为(“提示”|“完成”|“上下文”|“ground_truth”),但你可以根据数据资产对其进行配置。

  • (可选)设置采样率 (F)

  • 进行配置后,信号将不再显示警告。 Screenshot showing monitoring signal configurations without a warning.

配置通知

不需要执行任何操作。 可以根据需要配置更多收件人。 Screenshot showing monitoring notification configurations.

确认监视信号配置

成功配置后,监视器应如下所示:Screenshot showing a configured monitoring signal.

确认监视状态

如果配置成功,监视管道作业会显示以下内容:Screenshot showing a successfully configured monitoring signal.

使用结果

监视器概述页

监视器概述对信号性能进行了概述。 可以进入信号详细信息页以获取详细信息。 Screenshot showing monitor overview.

信号详细信息页

可以通过信号详细信息页查看一段时间内的指标 (A) 并查看分布直方图 (B)。

Screenshot showing a signal details page.

解决警报

只能调整信号阈值。 可接受的分数固定为 3/5,并且只能调整“可接受的总体百分比通过率”字段。 Screenshot adjusting signal thresholds.

后续步骤