通过


pro-code 生成 AI 解决方案的可观测性

简介

Microsoft合作伙伴(包括像自己这样的独立软件供应商(ISV)可以通过许多不同的支持代码和低代码方法创建生成 AI 解决方案。 为了在此过程中支持你,Microsoft为 ISV 创建指南 ,以便更好地构建这些解决方案。

随着 ISV 旨在管理专用查询和任务,其生成 AI 解决方案的复杂性会增加。 这些复杂的生成 AI 解决方案需要在开发期间采取独特的预防措施,并在整个生产过程中进行一致的监视和观察。 通过观察产品的行为和输出,可以快速识别增长领域,及时解决风险和问题,并为应用程序提高性能。

生成和操作 Copilot 应用程序

若要了解可观测性在解决方案生命周期开始时对应用程序的影响,必须考虑三个主要阶段的生命周期:思考用例、构建解决方案并将其用于部署后使用。

标题为实际 LLM 生命周期的图像。 它由三个圆组成,与箭头连接,周围有一个标记为“管理”的较大箭头。 第一个圆圈标记为“Ideating/Exploring”,包括“试用提示”、“假设”和“查找 LLM”。 它源于业务需求箭头,并连接到第二个圆圈,其箭头标记为“高级项目”。 第二个圆标记为“生成/扩充”,由“检索扩充生成”、“异常处理”、“提示工程或微调”和“评估”组成。 第二个圆圈连接到最后一个圆圈,其中包含“准备应用部署”。 最后一个圆圈是最大的,标记为“可操作化”,由“部署 LLM 应用/UI”、“配额和成本管理”、“内容筛选”、“安全推出/过渡”和“监视”组成。 最后一个圆通过“发送反馈”连接到第二个圆,而第二个圆则连接到第一个圆 “还原项目”。

第一阶段由识别用例和关于构建用例的技术方法的想法组成。 确定生成应用程序的路径后,进入第二个阶段,其中包括开发和评估应用程序。 将应用程序部署到生产环境后,它将进入最后一个阶段,可在其中观察和更新它。

从第二阶段和第三阶段收集的可观测性见解在返回到早期阶段以执行更新和部署时变得至关重要。 通过执行持续测试和检索指标来通知早期进程,可以不断微调应用程序。

请务必了解可以采取哪些操作来练习过程中的不同点的可观测性。 概括而言,以下可观测性操作在应用程序生命周期内发生:

第一阶段

  1. 非技术角色,如产品经理通过思考其应用程序的关键品质来实践可观测性。
    • 利益干系人可以定义衡量应用程序性能最重要的指标,例如风险和安全指标、质量指标或执行指标。
    • Teams 可以定义指标的目标,例如用户参与度和成本管理。
  2. 技术角色侧重于识别最能成功生成应用程序的平台、工具和方法。
    • 此步骤可能包括选择要使用的模式、选择大型语言模型(LLM)以及标识要从中提取的关键数据源。

第二阶段

  1. 在此阶段,开发人员和数据科学家可以设置其解决方案,以便轻松监视和迭代。 为了在以后提升可观测性,ISV 可能:
    • 创建黄金数据集和自动多轮次对话数据集,以便进行 copilot 评估。
    • 使用一部分数据调试、运行和评估流。
    • 使用不同的提示为模型评估创建变体。
    • 执行定价和资源优化,以适应 LLM 成本降低来循环访问和生成。
  2. 开发人员专注于在整个开发过程中执行试验,并在将其部署到生产环境之前评估其应用程序的质量。 在此阶段,必须:
    • 使用预定义指标(包括模型和提示有效性)通过测试数据集评估整体应用程序性能。
    • 比较这些测试的结果,建立基线,然后将代码部署到生产环境。

第三阶段

  1. 在生产中积极使用应用程序时,会进行许多试验。 请务必监视解决方案,以确保解决方案能够正常运行。 在此阶段:
    • 嵌入在应用中的遥测检测会发出相关的跟踪、指标和日志。
    • 云服务发出 Azure OpenAI 运行状况和其他相关指标。
    • 定制的遥测存储保存跟踪、指标、日志、使用情况、同意和其他相关指标上的数据。
    • 预装的仪表板体验使开发人员、数据科学家和管理员能够在生产环境中监视 LLM API 性能和系统运行状况。
    • 最终用户的反馈会提交回开发人员和数据科学家进行评估,以帮助改进解决方案。

收集数据和遥测可让你深入了解将来要解决和改进的领域。 通过在构思阶段采取抢先步骤(例如识别适当的指标并在生成应用程序时对解决方案执行严格的评估),可以准备解决方案,以便在以后取得成功。

生成 AI 中的可观测性挑战

虽然一般可观测性可能需要 ISV 导航许多障碍,但生成 AI 解决方案引入了特定的注意事项和挑战。

定性评估

由于生成式 AI 提示响应以自然语言形式提供,因此需要以唯一的方式评估它们。 例如,可以检查它们是否具有基础性和相关性等品质。

ISV 需要考虑衡量这些质量的最佳途径,无论它们是选择手动评估还是 AI 辅助指标,并在循环中使用人工进行最终验证。

无论你如何评估它,你也可能需要预先存在的数据集来比较你的提示响应。 这些准备工作可能意味着在开发应用程序期间,在确定对常见提示主题的理想响应时,可以进行更多工作。

负责任 AI

对道德 AI 的新注意事项和期望引入了监视隐私、安全性、包容性等的需求。 ISV 需要监视这些属性,以便提升最终用户的安全性、降低风险并最大程度地减少负面用户体验。

Microsoft负责任的 AI 的六项原则有助于促进安全、道德和可信的 AI 系统。 为了在解决方案中提升这些值,根据这些标准评估应用程序至关重要。

使用情况和成本监视指标

令牌是生成式 AI 应用程序的主要度量单位,所有提示和响应都会进行标记化,以便测量它们。 跟踪使用的令牌数至关重要,因为它会影响运行应用程序的成本。

实用工具指标

监视应用程序的用户满意度和业务影响与性能或质量指标一样重要。 由于 AI 以不同的方式与客户交互,因此有新的注意事项来监视客户参与度和保留期。

可以通过多种不同的方式衡量 AI 响应的有用性。 例如,提示和响应漏斗跟踪交互产生可用或有用的响应所需的时间。 此外,请务必考虑跟踪用户与 AI 互动的时间、聊天长度以及用户接受提供的响应的次数。 如果用户可以编辑响应,必须测量编辑距离或编辑响应的范围。

性能指标

AI 需要更复杂的高性能系统,必须正确维护,以确保解决方案能够快速高效地处理提示和数据。 随着生成 AI 创建具有大量多样性的定性内容,因此必须在不同的方案中建立系统来评估和测试 AI。

由于 LLM 交互比典型的应用程序更为复杂,因此需要在多个层进行测量,以确定延迟问题。 例如,标记用户的提示、生成响应并将响应返回给用户的时间可以单独或整体进行度量。 应评估工作流的每个单独组件,以确定潜在问题的区域。

观察解决方案的能力也取决于部署方法。 ISV 通常为其 copilot 应用程序采用两种部署模式之一。 可以在拥有的环境中部署和管理应用程序,也可以在属于客户的环境中部署应用程序。

若要详细了解部署如何影响解决方案类型的可观测性,请访问 pro-code 可观测性指南

用于监视和评估的指标

在生成式 AI 应用程序和机器学习模型的 ISV 领域,必须持续评估解决方案并及时干预以遏制不良行为。 监视与用户体验或反馈、护栏和负责任的 AI 相关的指标、输出一致性、延迟和成本对于优化 copilot 应用程序的性能至关重要。

使用 AI 辅助指标进行定性评估

为了测量定性信息,ISV 可以使用 AI 辅助指标来监视其解决方案。 AI 辅助指标利用 GPT-4 等 LLM 来评估类似于人工判断的指标,从而提供对解决方案功能的更细微的输入。

这些指标通常需要来自对话的参数,例如问题、答案和任何周围上下文。 它们大致分为两类:

  1. 风险和安全指标 监视高风险内容,例如暴力、自我伤害、性内容和仇恨内容
  2. 生成质量指标 跟踪定性度量,例如:
    • 基础性-模型响应与来自提示或输入源的信息一致。
    • 模型的响应与原始提示的相关性关系。
    • 一致性-模型响应的可理解程度和人类一样。
    • 流畅的模型响应的语言、语法和语法。

此类指标允许 ISV 更轻松地评估其应用程序响应的质量。 它们提供对许多不同值的快速且可衡量的评估,这些值可能难以解释。

负责任的 AI 标准

Microsoft致力于维护负责任的 AI 标准。 为了支持这一点,我们建立了一组 负责任的 AI 标准 ,可帮助缓解与生成 AI 相关的风险:

  • 问责
  • Transparency
  • 公平
  • 包容性
  • 可靠性和安全性
  • 隐私和安全

ISV 可以监视指标,这些指标会在出现问题时通知它们。 这些通知可能包括对有害内容进行屏幕响应或提示的定性 AI 辅助指标,或向 ISV 发出某些错误或标记消息的警报。

例如,Azure OpenAI 提供的解决方案可以测量因内容筛选而未返回内容的筛选提示和响应的百分比。 ISV 应监视返回这些错误的提示,并旨在减少这些错误的发生量。

客户使用情况和满意度

AI 的某些功能可以类似于其他类型的应用程序,例如监视客户保留期和使用应用程序所用的时间。 但是,在监视客户满意度方面存在许多差异,具体适用于 AI:

  • 用户对响应的反应。 这可以通过指标来测量,就像用户对响应做出反应一样简单,只需向上或向下竖起大拇指。
  • 用户对响应的更改。 在用户可以修改 AI 响应以满足其需求的情况下,可以通过监视用户修改响应的量来获取见解。 例如,用户更改的草稿电子邮件可能不像用户按原样发送的草稿电子邮件那么有用。
  • 用户的响应利用率。 请考虑监视用户是否通过应用程序执行操作来响应 AI。 如果 AI 建议通过应用程序采取措施,请衡量接受建议的用户的速率。

许多 AI 应用程序的目标是创建用户发现有用的响应。 使用提示和响应漏斗是衡量解决方案生成有用响应速度的常见方法。 此漏斗测量解决方案创建用户保留或结束对话的响应所需的时间和交互量。

在此概念中,漏斗在用户提交提示时开始。 当 AI 生成用户可以与之交互的响应时,漏斗会缩小,因为响应更接近用户想要的内容。 例如,用户可以编辑 AI 响应或请求略有不同的答案。 一旦用户对交互感到满意,他们就会获得他们查找的特定信息,漏斗将结束。 衡量提示从广泛到有用和具体的交互量,有助于确定应用程序对客户的有效性。

通过观察用户如何与解决方案互动,可以推断应用程序对你的应用程序有多大帮助。 如果用户一致地利用 LLM 的输出而不采取更多操作,则响应可能会对他们有用。

成本监视

由于运行生成式 AI 应用程序所需的资源可以快速加起来,因此必须一致地观察它们。

影响应用程序成本优化的某些方面包括:

  • GPU 利用率
  • 存储成本和注意事项
  • 缩放注意事项

确保这些指标的可见性有助于控制成本,同时设置与这些指标相关的警报系统或自动流程也有助于提示立即采取行动。

例如,应用程序使用的提示令牌和完成令牌的数量直接影响 GPU 利用率和操作解决方案的成本。 如果令牌使用量超过特定阈值,请密切监视令牌使用情况和设置警报,有助于了解应用程序的行为。

解决方案可用性和性能

与所有解决方案一样,对 AI 应用程序的一致监视有助于提高性能水平。 生成式 AI 应用程序和其他应用程序之间的一个主要区别是标记化的概念,在衡量性能时需要考虑这一概念。

构建生成生成 AI 解决方案的 ISV 可以度量:

  • 呈现第一个标记的时间
  • 每秒呈现的令牌数
  • 应用程序可以管理的每秒请求数

虽然所有这些指标都可以作为组进行度量,但请务必注意 LLM 具有多个层。 例如,AI 生成响应所需的时间由以下时间组成:

  1. 从用户接收提示
  2. 通过标记化处理提示
  3. 推断任何相关的缺失信息
  4. 生成响应
  5. 通过解码将此信息编译为响应
  6. 将此响应发送回用户

在上述每个步骤中测量有助于识别延迟及其发生位置,从而在源头解决问题。

其他生成 AI 评估技术

黄金数据集

黄金数据集是一系列专家答案,用于提供警察质量保证的现实用户问题。 这些答案不用于训练模型,但可以将其与模型提供给同一用户问题的答案进行比较。

虽然这不是可以衡量的指标,但拥有高质量的标准化响应,可以比较 LLM 的响应以帮助解决方案输出。 这样, 创建自己的黄金数据集 来评估 copilot 性能有助于加速 copilot 评估过程。

多轮次对话模拟

手动策展评估数据集主要限于单轮对话,因为难以创建自然多轮聊天。 ISV 可以开发模拟对话来测试其多轮对话能力,而不是编写脚本交互来比较模型的答案。

此模拟可以通过允许 AI 与简单的虚拟用户交互来生成对话。 然后,此用户将通过预生成的提示脚本与 AI 交互,或者通过 AI 生成它们,使你能够创建大量测试对话来评估。 还可以使用人工计算器与应用程序交互,并生成较长的对话进行评审。

通过在较长的会话中评估应用程序的交互,可以评估它如何有效地标识用户的意图,并在整个会话中使用上下文。 由于许多生成 AI 解决方案旨在基于多个用户交互进行构建,因此评估应用程序如何处理多轮次对话至关重要。

开发人员工具入门

ISV 开发人员和数据科学家需要使用工具和指标来评估其 LLM 解决方案。 Microsoft有许多选项可供浏览。

Azure AI Studio

Azure AI Studio 为模型管理、模型基准、跟踪、评估和微调 LLM 解决方案提供可观测性功能。

它支持 两种类型的自动化指标 来评估生成 AI 应用程序:传统的 ML 指标和 AI 辅助指标。 还可以使用 聊天操场 和相关功能轻松测试模型。

提示流

提示流 是一套开发工具,旨在简化基于 LLM 的 AI 应用程序的端到端开发周期,从原型制作和测试到部署和监视。 提示 流 SDK 提供:

  • 内置计算器 ,支持通过 Prompty 自定义基于代码或基于提示的评估程序来满足特定于任务的评估需求。
  • 跟踪提示的输入、输出和上下文的提示,并使开发人员能够识别模型问题的原因和来源
  • 监视仪表板(例如,系统(例如令牌使用情况、延迟)和自定义指标(从评估到支持 Azure AI Studio 和 Application Insights 中的部署前和部署后可观测性)。

其他工具

Prompty 是一个与语言无关的资产类,用于创建和管理 LLM 提示。 它使你可以通过提供设计、测试和增强解决方案的选项来加快开发过程。

PyRIT(适用于生成 AI 的 Python 风险识别工具) 是Microsoft用于红队生成 AI 系统的开放自动化框架。 它使你能够根据不同的伤害类别评估警察的可靠性。

后续步骤

通过设计具有可观测性和监视性的生成 AI 应用程序,可以通过生产评估其质量。 开始使用可用于开始开发应用程序的工具,或探索用于监视已在生产中的解决方案的选项。

其他资源

如何评估 LLM:完整的指标框架 - Microsoft研究

有关评估 LLM 应用程序的进一步指导

提示流入门 - Azure 机器学习 |Microsoft Learn

有关设置和开始使用提示流的信息