关于大型语言模型评估的思考
原文:The Curious Case of LLM Evaluations
语言模型评估的复杂性和挑战
作者在本文中讨论了语言模型(LLMs)评估中的复杂问题和挑战。他指出随着建模、扩展和泛化技术的快速发展,我们的基准测试能力却没有同步增长,导致了评估的不足和过度夸大的能力。即使每一项能力都非常优秀,如果我们没有合适的工具来了解这些能力是如何实现的,或者模型在这些能力上的表现如何,那么我们可能会过分高估模型的能力。如果我们总是在铺好的道路上进行比赛,每个右转都是黄树,每个左转都是绿树,那么我们可能会认为模型在每次比赛中都会获胜。
评估中的常见问题
- 数据泄露:测试数据泄露到训练集中,特别是对于LLMs,其中数据集的细节通常缺失。
- 覆盖问题:评估数据集往往无法全面涵盖某个任务的所有不同方式,可能导致准确性问题、样本规模问题、可变性问题或鲁棒性问题。
- 虚假相关性:评估集合中的某些任务可能存在“捷径”解决方案,导致评估结果不准确。
- 分区和措辞:评估数据集的划分不容易处理,可能导致意外泄露。例如,对于以人为中心的任务,评估数据集通常不是为用户单独划分的,而是单独划分为样本。
- 随机种子:神经网络输出通常会在某种程度上依赖于随机种子,导致单次推断结果可能导致错误的结果,给情况提供不清晰的画面。
- 精度与召回的权衡:对于不同任务,误报和漏报的影响并不相同,而许多人仅报告准确性结果。
评估组件:LLMs的六个组成部分
- 评估数据集:这些是用于评估模型的测试样本。构建和使用这些评估数据集有多种方法,但每种方法都伴随着一系列问题。
- 模型输出:评估从生成模型中获得的输出。模型输出对于所问问题的不同形式和答案的不同形式可能会有所影响。
- 样本/输出转换:对模型输出或其输入进行的许多转换。这些转换可以大致分为4类:循环变换、链式变换、原子输出和约束输出。
- 地面真实值:考虑到评估的当前情况,地面真实值可能具有偏见、模糊或高度不一致的问题。在进行评估时,需要多次比较模型的输出以获得真实分布的比较。
- 评估介质:将评估介质分为三个不同的组别:直接评估指标、间接评估或分解的基于模型的评估和模型驱动的评估。
- 性能报告:在报告性能指标时,需要考虑多种因素,如数据集划分和轻微变化。报告结果的均值和标准差对于解释结果的显著性至关重要。
总结
评估LLMs是一项复杂的任务,需要综合考虑各种因素。数据泄露、覆盖问题、虚假相关性等是评估中的常见问题。不同的评估方法,包括直接评估指标、间接评估和模型驱动的评估,各自有其优势和不足。在报告性能指标时,需要注意准确性和细节,并认识到模型输出可能会因种子不同而产生变化。同时,需要小心使用优化的提示,因为最佳提示可能并不适用于所有用户或实际场景。理解这些复杂性对于有效评估LLMs非常重要。