LLM的流行以及大规模应用时间并不长,LLM的一些弊端时有出现,在应用上线前以及在线运营过程对LLM进行评估都非常有必要。
(1)人工评价
人工评估应该是成本最高、可扩展性最差的方法,但可以产生可靠的结果。从本质上讲,为了在特定应用程序的上下文中最好地评估模型的性能和相关性,需要一组人来审查为测试数据集生成的输出,并提供定性和/或定量反馈。
(2)批量离线评估
可以在大模型上线前利用特定数据集仔细检查LLM。它在应用上线运行之前验证功能能否满足应用需求。在这个阶段进行评估,对于应用开发方来说可以有利于选择一个合适的LLM,对于大模型服务商来说可实现更快的迭代。它无需实时数据,具有成本效益,适用于部署前检查和回归测试。
在上线前,为了彻底评估LLM,为每个大模型功能创建评估数据集(黄金数据集)是个重要基础。但是,设计一个高质量的评估数据集是一项复杂的任务。需要结合各种应用场景和复杂性逻辑设计各种输入、输出。还需要对每个输入输出进行仔细地验证。黄金数据集可以作为评估LLM的能力的测试基准,为LLM的功能识别和改进提供了可靠的标准。
随着LLM的发展,LLM越来越有人的智力。为了评估LLM,除了手工收集数据集之外,还可以利用LLM的生成式功能来帮助人们生成评估数据集。这样做既可以增强评估过程的可扩展性,也有助于节省人力,同时还保留了人类参数据集整理的程度,以保证LLM生成的数据集的质量。
除了可以使用LLM来帮助生成黄金数据集之外,还可以让LLM帮助评估基于LLM的应用。这种方法不仅效率有可能比人工评估更高效。
但需要注意的是,目前的LLM并非真正的AGI,还存在很多问题,特别是在专业领域的理解上通用大模型还是比较欠缺,容易提供一些误导性信息以及错误的逻辑。
(3)在线评估与监测
对在线运行的LLM进行评估,其实是最接近真实场景、最真实的。通常的做法是直接和间接地收集用户反馈来评估实际的性能、质量和用户满意度。这个过程涉及到对服务过程的日志收集和评估分析。在线评估的手段,收集并分析了真实且有价值的用户反馈,是实现持续性能监控的理想方式。可以更加出色地反映出现实世界在使用大模型各个方面。
评估指标
(1)基础评估指标
参考klu.ai和Microsoft的评估指标列表如下:
https://klu.ai/glossary/llm-evaluationhttps://klu.ai/glossary/llm-evaluation
类别 | 度量 | 描述 |
用户参与度和效用指标 | 访问 | 访问LLM应用程序功能的用户数 |
提交 | 提交提示词的用户数 | |
响应 | LLM应用程序生成没有错误的响应 | |
观看 | 用户查看LLM的响应信息次数 | |
点击 | 用户点击LLM响应中的参考文档(如有参考文档的话) | |
用户交互指标 | 用户接受率 | 用户接受大模型响应内容的概率,例如,在对话场景中包含正面、负面或者建议的反馈) |
LLM会话数 | 每个用户的LLM平均会话数 | |
活跃天数 | 每个用户使用LLM功能的活动天数 | |
交互计时 | 编写提示词、发送再到大模型响应之间的平均时间,以及每次花费的时间 | |
模型答复质量 | 提示和响应长度 | 提示词和响应内容的平均长度 |
编辑距离度量 | 用户提示之间以及LLM响应和保留内容之间的平均编辑距离测量用作提示细化和内容定制的指标 | |
用户反馈和用户留存 | 用户反馈 | 带有有“大拇指向上、向下”的反馈数 |
每日/每周/每月活跃用户 | 在特定时间段内访问LLM应用程序功能的用户数 | |
用户回访率 | 在前一周/月使用此功能的用户在本周/月继续使用此功能的百分比 | |
性能度量指标 | 每秒请求数(并发) | LLM每秒处理的请求数 |
每秒处理Token |