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

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

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

重要说明

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

通过 Azure 机器学习模型监视功能,便捷地监视生成式 AI 应用程序,确保用于生产环境的 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 上下文 基本事实
一致性 必选 必选 - -
流畅度 必选 必选 - -
有据性 必选 必选 必选 -
相关性 必选 必选 必选 -
相似度 必选 必选 - 必选

Prerequisites

  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. 提示流部署:按照本指南创建提示流运行环境,执行您的流,并确保部署的配置使用本文作为指南。
    • 流输入和输出: 你需要适当地命名流输出,并在创建监视器时记住这些列名称。 在本文中,我们使用以下项:
      • 输入(必需):“提示”
      • 输出(必需):“完成”
        • 输出(可选):“上下文”|“基本事实”
    • 数据采集: 在“部署” (提示流部署向导的步骤 2)中,必须使用 模型数据收集器启用“推理数据收集”切换。
    • 输出:“输出”(提示流部署向导的步骤 3)中,确认已选择上面列出的所需输出(例如,完成 | 上下文 | ground_truth),以满足 指标配置要求

注意

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

创建监视器

在“监视概述”页中创建监视器: 显示如何为应用程序创建监视器的屏幕截图。

配置基本监视设置

在监视创建向导中,将“模型任务类型”更改为“提示和完成”,如屏幕截图中的 (A) 所示。 屏幕截图显示如何配置生成式 AI 的基本监视设置。

配置数据资产

如果已使用 模型数据收集器,请选择两个数据资产(输入和输出)。 屏幕截图显示如何配置生成式 AI 的数据资产。

选择监视信号

屏幕截图显示监视设置对话框中的监视信号配置选项。

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

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

  • 进行配置后,信号将不再显示警告。 屏幕截图显示监视信号配置,没有警告。

配置通知

不需要执行任何操作。 可以根据需要配置更多收件人。 屏幕截图显示监视通知配置。

确认监视信号配置

成功配置后,监视器应如下所示:屏幕截图显示配置的监视信号。

确认监视状态

如果配置成功,监视管道作业会显示以下内容:屏幕截图显示成功配置的监视信号。

使用结果

监视器概述页

监视器概述对信号性能进行了概述。 可以进入信号详细信息页以获取详细信息。 屏幕截图显示监视器概述。

信号详细信息页

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

屏幕截图显示信号详细信息页。

解决警报

只能调整信号阈值。 可接受的分数固定为 3/5,并且只能调整“可接受的总体百分比通过率”字段。 屏幕截图显示如何调整信号阈值。

后续步骤