Hugging Face Open LLM Leaderboard MMLU 评估分析
Hugging Face 发现,Open LLM Leaderboard 上 MMLU(Massive Multitask Language Understanding)评分的差异——特别是针对 LLaMA 模型——源于不同评估库在实现基准测试时的差异。这表明 LLM 评估结果对提示词格式(prompt formatting)和提取预测的方法等微小细节高度敏感。
实现方式对 MMLU 评分的影响
对同一个 MMLU 数据集的不同软件实现可能会产生截然不同的绝对分数,并改变模型的排名。Hugging Face 对三种具体的实现进行了比较:
- 原始实现 (The Original Implementation):由开发 MMLU 的 UC Berkeley 团队提出的代码。
- HELM 实现:斯坦福大学的 Holistic Evaluation of Language Models (HELM) 中提供的代码。
- EleutherAI LM Evaluation Harness:作为 Open LLM Leaderboard 后端使用的库。
对比结果显示,像 LLaMA-65B 这样的模型在原始实现中的得分为 0.636,但在 Harness 实现中仅为 0.488。如此大的差距(约 30%)可能会误导研究人员,使他们认为模型训练效果不佳,而实际上这种差异是由评估方法论引起的。
评估方法的各种技术差异
差异主要源于两个领域:提示词的构建方式和计算分数的方法。
提示词变体
即使输入字符串的微小变化也会影响模型的输出。在三种实现之间观察到的差异包括:
- 指令 (Instructions):引导句的差异以及是否包含主题行。
- 前缀 (Prefixes):问题前是否带有 "Question:" 标签。
- 选项格式 (Choice Formatting):多选题选项前是否带有 "Choices" 关键字。
预测提取方法
这些库有三种不同的方式从模型中提取答案:
字母概率比较 (Original):比较模型对单个 token "A"、"B"、"C" 和 "D" 的预测概率。这四个字母中概率最高的一个获胜,即使模型原本更倾向于生成完全不同的单词。
文本生成比较 (HELM):模型生成文本响应,然后将其与预期的字母答案进行比较。如果模型生成的单词不是预期的字母(例如 "Zygote"),则被标记为错误。
全序列概率 (Harness - Jan 2023):该库比较完整答案序列(例如 "C. The second pharyngeal arch")的概率。这涉及对序列中每个 token 的概率对数进行求和。
评估方法总结
| 实现方式 | 比较方法 |
|---|---|
| Original | 比较字母答案 (A, B, C, D) 的概率 |
| HELM | 期望模型将字母答案作为文本生成 |
| AI Harness (Jan 2023) | 比较完整答案序列 (字母 + 文本) 的概率 |
结论与未来更新
评估结果并非绝对的;它们与特定的实现、分词(tokenization)和提示词紧密相关。为了确保公平比较,Hugging Face 强调了像 EleutherAI Eval Harness 和 Stanford HELM 这样开放、标准化且可重复的基准测试的必要性。
为了解决观察到的差异,EleutherAI Harness 已经进行了更新,使其 MMLU 评估与原始实现更加一致。Hugging Face 目前正在更新 Open LLM Leaderboard,使用更新后的 EleutherAI Eval Harness v2 来反映这些变化。