评估模型性能

已完成

评估已部署的模型可确保其符合质量标准,提供准确的响应,并随着时间的推移不断改进。 Microsoft Foundry 门户提供了多种评估方法,从手动测试到自动化指标和全面的评估流。

为什么评估模型

评估在生成式 AI 应用程序开发中提供多个关键用途:

质量保证 可识别问题并确保模型提供准确的相关响应。 在评估过程中发现问题,而不是在生产过程中,有助于保护用户和组织的声誉。

当模型持续提供有用的适当响应时,用户满意度会提高。 评估可帮助你了解用户体验应用程序的方式以及改进对何处产生最大影响。

持续改进 来自分析评估结果,以确定增强机会。 更新提示、添加功能或重新训练模型时定期评估可确保持续质量。

合规性和安全 验证确认模型遵守策略,避免生成有害内容,并尊重用户隐私和数据保护要求。

手动评估方法

手动评估涉及人工审阅者评估模型响应。 虽然时间密集型,但手动评估提供了自动化指标无法捕获的见解。

通过测试环境中的交互式测试,可以定性地探索模型的行为。 输入各种提示,观察响应并记录问题,如信息不正确、语气不当或未按照说明进行。 此探索性测试可帮助你了解模型的优缺点和限制。

为了帮助优化应用程序设计,可以在操场中并排测试模型,同步系统说明和提示以比较其响应。

Microsoft Foundry 门户中聊天场的屏幕截图。

结构化评审 涉及创建一组表示应用程序的用例的测试用例。 人工计算器根据以下条件对响应进行评分:

  • 相关性:响应是否解决了问题或请求?
  • 信息性:它是否提供足够的详细信息和有用信息?
  • 参与:响应是否有趣且具有适当的对话性?
  • 准确性:事实和陈述是否正确?
  • 安全性:响应是否避免有害、有偏见或不当内容?

评估者通常为每个标准使用评分尺度(如 1-5)。 跨多个测试用例的聚合分级提供总体质量的量化度量值。

用户研究 从与应用程序交互的实际用户或具有代表性的用户收集反馈。 用户反馈揭示了在受控测试中可能错过的实际问题,例如令人困惑的措辞、缺少上下文或未满足的期望。

手动评估通过捕获用户满意度、上下文适当性和仅指标无法衡量的品牌对齐等主观质量方面来补充自动化方法。

自动评估指标

自动评估使用标准指标自动评估模型的输出。 这些评估能够有效地扩展,并提供一致的客观测量指标。

Microsoft Foundry 门户支持多种类别的评估指标,包括:

生成质量指标 评估总体响应质量:

  • 基础性:确定响应是否基于提供的上下文而不是猜测。 Groundedness Pro 提供二元评估(有依据或没有依据),在事实准确性要求方面很有帮助。
  • 相关性:评估响应是否适当地回应用户的问题或请求。
  • 一致性:评估响应是否在逻辑上流动并保持一致的想法。
  • 流畅性:评估语言正确性和自然语言质量。

风险和安全指标 可识别潜在的有害内容:

  • 自残内容:检测讨论或鼓励自残的回复
  • 可恨和不公平的内容:识别偏见、歧视或仇恨言论
  • 暴力内容:标记包含或宣扬暴力的响应
  • 性内容:检测不适当的性内容
  • 受保护材料:识别潜在的版权或专有内容复制
  • 间接攻击(越狱):评估对操控企图的漏洞

对于内容危害指标,结果将聚合为 缺陷率 — 超过严重性阈值(通常是中等)的响应百分比。 对于受保护的材料和间接攻击,缺陷率计算为 (true instances / total instances) × 100

使用 AI 辅助评估时,可以指定 GPT 模型来执行评估。 此评估器模型分析已部署的模型的响应,并根据所选条件分配分数。

自然语言处理指标

NLP 指标提供基于数学的计算,而无需评估器模型。 这些指标通常需要基本真实数据-预期或正确的响应进行比较。

F1 分数用于衡量生成答案与真实答案之间共享词语的比例,在精确率(避免错误词语)与召回率(涵盖关键信息)之间取得平衡。 F1 分数对于文本分类和信息检索等任务非常有用。

BLEU(双语评估替代指标)通过比较生成文本与参考文本之间的 n-gram(词序列),常用于机器翻译评估。

METEOR(显式顺序翻译评估指标)在 BLEU 的基础上引入同义词、词干和释义处理,提供更灵活的比较方式。

ROUGE(面向召回的摘要评估指标)强调召回率而非精确率,特别适用于更关注覆盖关键要点的摘要任务。

GLEU (Google-BLEU)是专为句子级评估设计的BLEU变体。

当你有明确的正确答案或参考文本时,NLP 指标效果良好。 它们不太适用于存在许多有效响应的开放端生成。

创建全面的评估

使用 Microsoft Foundry 门户的 评估 功能,可以同时使用测试数据集和多个指标运行系统评估。

可以将评估基于以下项之一:

  • 模型:使用指定的提示评估已部署的模型。 系统在评估期间生成输出。
  • 代理:使用用户定义的提示评估代理的响应。
  • 数据集:评估测试数据集中已存在的预生成的输出。

评估模型或代理时,需要一个数据集来提供评估输入。 有三个选项:

  • Upload 新数据集:提供包含本地storage测试用例的 CSV 或 JSONL 文件。
  • 使用现有数据集:从之前上传到project的数据集中进行选择。
  • 生成综合数据集:如果缺少测试数据,系统可以根据提供的主题说明生成示例数据。 指定用于生成数据的资源、行数和描述所需数据的提示。 还可以上传文件以提高与特定任务的相关性。

对于预生成输出的数据集评估,请选择或上传包含输入和模型生成的响应的数据集。

配置好您要计算的指标、评估数据的字段映射以及模型的系统提示后,您可以启动评估作业。这一过程可能需要一些时间,并将以异步方式运行,根据所选指标处理测试数据集中的每一行。

查看评估结果

评估完成后,结果会显示所选指标的聚合分数以及每个测试提示的详细信息。

评估结果的屏幕截图。

探索评估器库

计算器库提供了一个集中的位置,用于查看和管理所有可用的计算器。 通过在项目的评估页面中选择Evaluator 库选项卡来访问它。

在评估器库中,你可以:

  • 查看 Microsoft 精选的质量、安全性和性能评估器
  • 检查评估器的详细信息,包括名称、说明、参数和关联文件
  • 查看质量评估员的批注提示,以了解如何计算指标
  • 查看安全评估器的定义和严重性级别
  • 管理为特定方案创建的自定义评估程序

该库支持版本管理,使你可以比较不同的版本、根据需要还原以前的版本,并与其他人协作处理自定义评估器。

基于评估进行迭代

评估结果指导您的下一步行动:

当分数低于要求时,请考虑:

  • 提示工程:优化指令和系统消息
  • 不同模型:尝试针对用例优化的模型
  • RAG 集成:向数据中的地面响应添加检索功能
  • 微调:在特定域中训练模型(如果受支持)

每个步骤都可以在复杂性(有时成本)中增长,因此在规划改进时要考虑到这一点。

当安全指标显示问题时:

  • 内容过滤器:实现 Azure AI Content Safety 安全性服务
  • 提示强化:向系统消息添加安全说明
  • 输出验证:在向用户显示之前检查响应

进行更改时定期评估会跟踪改进并确保质量不会回归。 在开发初期建立评估基准,然后在修改后重新运行评估,以客观衡量影响。

通过结合手动测试、自动化指标和全面的评估流,可以确信模型性能良好、安全地为用户提供服务,并满足应用程序的质量要求。