使用Nova LLM评估生成式AI模型

评估大型语言模型(LLM)的性能不仅仅局限于困惑度或双语评估替补(BLEU)分数等统计指标。对于大多数现实世界的生成式AI场景,关键是要了解模型是否比基线或早期迭代产生更好的输出。这在摘要生成、内容创作或智能代理等应用中尤为重要,因为这些应用需要主观判断和细微的正确性评估。

随着各机构在生产环境中深入部署这些模型,客户越来越需要系统化评估模型质量,而不仅仅是依赖传统评估方法。当前的准确度测量和基于规则的评估方法虽然有用,但无法完全满足这些细微的评估需求,特别是在需要主观判断、上下文理解或符合特定业务要求的任务中。为了弥补这一差距,LLM-as-a-judge已成为一种有前景的方法,它利用LLM的推理能力来更灵活、大规模地评估其他模型。

Nova LLM-as-a-Judge训练方法

Nova LLM-as-a-Judge通过多步骤训练过程构建,包括监督训练和使用人工偏好标注的公共数据集的强化学习阶段。对于专有组件,多个标注者通过比较同一提示下不同LLM响应对,独立评估了数千个示例。为了验证一致性和公平性,所有标注都经过严格的质量检查,最终判断经过校准以反映广泛的人类共识而非个人观点。

训练数据设计既多样又具有代表性。提示涵盖广泛类别,包括现实世界知识、创造力、编码、数学、专业领域和毒性内容,使模型能够评估许多现实场景中的输出。训练数据包含90多种语言的数据,主要由英语、俄语、中文、德语、日语和意大利语组成。

重要的是,一项内部偏见研究评估了超过10,000个人类偏好判断与75个第三方模型的对比,确认某中心Nova LLM-as-a-Judge仅显示相对于人类标注的3%总体偏见。尽管这是在减少系统性偏见方面的重要成就,仍建议偶尔进行抽查以验证关键比较。

评估工作流程概述

评估过程从准备数据集开始,每个示例包括一个提示和两个替代模型输出。JSONL格式如下:

{
   "prompt":"解释光合作用。",
   "response_A":"答案A...",
   "response_B":"答案B..."
}

准备完此数据集后,使用给定的SageMaker评估配方,该配方配置评估策略,指定用作评判的模型,并定义推理设置,如温度和top_p。

评估在使用预构建的某中心Nova容器的SageMaker训练作业中运行。SageMaker AI配置计算资源,协调评估,并将输出指标和可视化写入某简单存储服务。

完成后,可以下载和分析结果,包括偏好分布、胜率和置信区间。

理解Nova LLM-as-a-Judge工作原理

某中心Nova LLM-as-a-Judge使用称为二元总体偏好评判的评估方法。二元总体偏好评判是一种语言模型并排比较两个输出并选择较好的一个或宣布平局的方法。对于每个示例,它产生明确的偏好。当在许多样本上汇总这些判断时,会获得胜率和置信区间等指标。这种方法使用模型自身的推理以直接、一致的方式评估相关性和清晰度等质量。

该评判模型旨在在不需要细粒度反馈的情况下提供低延迟的通用总体偏好。

此模型的输出是[[A>B]][[B>A]]之一。

此模型的主要用例是需要自动化、低延迟、通用成对偏好的场景,例如训练管道中检查点选择的自动评分。

理解评估指标

当使用某中心Nova LLM-as-a-Judge框架比较两个语言模型的输出时,SageMaker AI产生一套全面的定量指标。可以使用这些指标评估哪个模型表现更好以及评估的可靠性如何。结果分为三个主要类别:核心偏好指标、统计置信度指标和标准误差指标。

核心偏好指标报告评判模型偏好每个模型输出的频率。a_scores指标计算模型A被偏好的示例数量,b_scores计算模型B被选为更好的情况。ties指标捕获评判模型将两个响应评为相等或无法识别明确偏好的实例。inference_error指标计算由于数据格式错误或内部错误,评判无法生成有效判断的情况。

统计置信度指标量化观察到的偏好反映模型质量真实差异而非随机变化的可能性。winrate报告模型B被偏好的所有有效比较的比例。lower_rate和upper_rate定义此胜率的95%置信区间的下限和上限。例如,胜率为0.75且置信区间在0.60到0.85之间表明,即使考虑不确定性,模型B也始终优于模型A。score字段通常匹配模型B获胜的计数,但也可以为更复杂的评估策略定制。

标准误差指标提供每个计数中统计不确定性的估计。这些包括a_scores_stderr、b_scores_stderr、ties_stderr、inference_error_stderr和score_stderr。较小的标准误差值表示更可靠的结果。较大的值可能表明需要额外的评估数据或更一致的提示工程。

解释这些指标需要注意观察到的偏好和置信区间:

  • 如果胜率显著高于0.5且置信区间不包括0.5,则模型B在统计上优于模型A
  • 相反,如果胜率低于0.5且置信区间完全低于0.5,则偏好模型A
  • 当置信区间重叠0.5时,结果不确定,建议进一步评估
  • inference_error中的高值或大标准误差表明评估过程中可能存在问题,例如提示格式不一致或样本量不足

解决方案概述

此解决方案演示了如何使用Nova LLM-as-a-Judge能力在Amazon SageMaker AI上评估生成式AI模型。提供的Python代码指导完成整个工作流程。

首先,通过从SQuAD采样问题并从Qwen2.5和Anthropic的Claude 3.7生成候选响应来准备数据集。这些输出保存在包含提示和两个响应的JSONL文件中。

接下来,PyTorch Estimator使用某中心Nova LLM-as-a-Judge配方启动评估作业。作业在GPU实例(如ml.g5.12xlarge)上运行,并产生评估指标,包括胜率、置信区间和偏好计数。结果保存到某简单存储服务以供分析。

最后,可视化函数呈现图表和表格,总结哪个模型被偏好、偏好强度如何以及估计的可靠性如何。通过这种端到端方法,可以评估改进、跟踪回归并就部署生成模型做出数据驱动的决策——所有这些都无需手动标注。

实施步骤

先决条件

在运行笔记本之前需要完成以下先决条件:

  • 为SageMaker AI申请配额增加
  • (可选)创建Amazon SageMaker Studio域
  • 创建具有托管策略的IAM角色
  • 克隆包含此部署资产的GitHub存储库

模型设置

要进行某中心Nova LLM-as-a-Judge评估,需要从要比较的候选模型生成输出。在此项目中,使用了两种不同方法:在Amazon SageMaker上部署Qwen2.5 1.5B模型和在Amazon Bedrock中调用Anthropic的Claude 3.7 Sonnet模型。

准备数据集

为了创建用于比较Qwen和Claude模型的现实评估数据集,使用了斯坦福问答数据集(SQuAD),这是在CC BY-SA 4.0许可下分发的自然语言理解中广泛采用的基准。

启动评估作业

准备完数据集并创建评估配方后,最后一步是启动执行某中心Nova LLM-as-a-Judge评估的SageMaker训练作业。

清理资源

完成以下步骤来清理资源:

  • 删除Qwen 2.5 1.5B端点
  • 如果使用SageMaker Studio JupyterLab笔记本,关闭JupyterLab笔记本实例

应用场景

某中心Nova LLM-as-a-Judge工作流程提供了一种可靠、可重复的方法来在自己的数据上比较两个语言模型。可以将其集成到模型选择管道中以决定哪个版本表现最佳,或者可以将其作为持续评估的一部分安排以随时间发现回归。

对于构建代理或特定领域系统的团队,这种方法比单独的自动化指标提供更丰富的洞察。由于整个过程在SageMaker训练作业上运行,它可以快速扩展并产生可以与利益相关者共享的清晰可视化报告。

结论

本文演示了如何通过Amazon SageMaker AI提供的专门评估模型Nova LLM-as-a-Judge来系统测量生成式AI系统的相对性能。演练展示了如何准备评估数据集、使用Nova LLM-as-a-Judge配方启动SageMaker AI训练作业,以及解释结果指标,包括胜率和偏好分布。完全托管的SageMaker AI解决方案简化了此过程,因此可以运行与人类偏好一致的可扩展、可重复的模型评估。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
公众号二维码
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐