跳转到主要内容
仅凭参数量无法判断一个模型的好坏。一个在合适数据上训练过的 7B 模型,在编程任务上可能胜过粗放的 13B 模型;一个调优得当的 8B 模型在指令遵循方面也可能击败 70B 模型。如果没有衡量能力的方法,你只能靠猜测。 评测基准(Benchmarks)——简称“Evals”——是标准化的测试,能让你在不同模型之间获得可比较的数值。它们并不完美,有时会误导人,偶尔也会被钻空子,但就目前而言,在为其投入硬件资源之前,它们是比较模型的最佳工具。 本页将解释主要基准检测什么、如何解读它们的分数,以及哪些基准对你的实际用例真正重要。

基准为什么存在

你无法仅凭参数量、训练数据大小或架构来判断一个模型。这些数字描述的是容量——模型理论上能做什么——而不是能力,即实际给定提示词时它真正能做什么。 基准存在的目的是弥补这一差距。一个好的基准应该:
  • 标准化比较——每个模型在相同条件下回答相同的问题。
  • 揭示强项和弱项——在数学上得分高的模型可能在代码方面表现平庸。
  • 追踪进步——你可以看到新一代模型是否确实有了改进,还是仅仅变大了。
但每个基准都有盲点。一个高的 MMLU 分数并不能保证该模型能写出好的电子邮件。一个低的 HumanEval 分数也不意味着该模型无法帮你调试代码。基准是起点,不是最终结论。

基准概览

以下是你在模型卡片和排行榜上会遇到的主要基准:
MMLU(大规模多任务语言理解)是引用最广泛的基准。它涵盖从高中到专业水平的 57 个学科,包括 STEM、人文学科和社会科学。每个问题都是 4 个选项的选择题。得分 70 表示模型正确回答了 70% 的问题。MMLU 作为一个广泛的能力信号很有用,但不测试开放式生成、创造力或指令遵循。大多数模型卡片报告的是 5-shot 分数。
这 2 个基准衡量代码生成。HumanEval 包含 164 个手写 Python 问题,模型需要根据文档字符串生成函数,然后通过运行测试来检查正确性。MBPP 更大(约1000个问题),但涵盖的是更简单的算法任务。两者都报告 pass@1——首次尝试正确解决的问题百分比。它们适合比较编码能力,但覆盖真实编程的狭窄切片。
MT-Bench 通过 80 个多轮提示评估对话质量,由 GPT-4 或人类评审员按 1–10 分制评分。Chatbot Arena(LMSYS)则不同:它将 2 个匿名模型相互对决,让用户投票,产生类似国际象棋评分的 ELO 排名。Arena 分数反映了真实世界的用户偏好,但更新缓慢,且更青睐那些回答精炼、自信的模型,而不是那些正确但简洁的模型。
SWE-Bench 测试模型是否能端到端解决真实的 GitHub 问题:阅读问题、在大型代码库中定位 bug、并生成正确的拉取请求。在验证子集上,顶级模型能解决 30–50% 的问题。这是最接近实际软件工程工作的基准,但难度极大,且结果因语言和框架而异。
LiveBench 每月使用新数据刷新其测试集,这使其能够抵抗基准污染——模型不可能记住训练期间未曾见过的答案。它涵盖数学、编程、推理、语言、数据分析和指令遵循。它比 MMLU 或 HumanEval 更新,但正在越来越多地被引用为更可信的信号。

如何阅读基准表

分数看起来权威,但需要有上下文的解读才有用。

数字的含义

大多数基准报告 0 到 100 的分数,即模型正确回答问题的百分比。MMLU 得分 70 表示模型正确回答了 70% 的大学水平选择题。ELO 评分(被 Chatbot Arena 使用)则不同——它是相对排名,其中 100 分的差距意味着评分较高的模型在大约 64% 的直接对决中获胜。

误差范围

在任何单一基准上,1–2 分的差异都是噪音。评分方法、提示格式甚至随机种子的变化都可能导致分数产生如此大的波动。如果模型 A 得 72 分,模型 B 得 74 分,请视其为等效,然后查看测试你关心的特定能力的基准。

污染

基准污染发生在测试问题泄露到模型的训练数据时。模型因为已经见过答案而获得人为的高分。随着基准被广泛发布,这个问题日益严重。LiveBench 和一些较新的基准通过定期刷新测试集来应对这一问题。
当一个模型的基准分数相对于其实际性能高得可疑时,污染是一个可能的解释。检查该基准是否在模型训练截止日期之前发布。

选择性报告

永远不要根据单个基准来判断模型。发布方有时会突出显示其模型表现最佳的 1 个分数,而隐藏较弱的成绩。在得出结论之前,应查看涵盖不同能力(知识、代码、数学、指令遵循)的一系列基准。

哪些基准对你的用例重要

并非每个基准对每项任务都重要。关注那些测试你实际需求的基准:

编程助手

关注: HumanEval、MBPP、SWE-Bench。 这些直接衡量代码生成和软件工程。对于此决策,忽略 MMLU——一个模型可以在琐事知识上得分很高,但仍然写出糟糕的代码。

聊天机器人与通用对话

关注: MT-Bench、Chatbot Arena ELO、IFEval。 对话质量是主观的,因此人工评分的基准最重要。IFEval 增加了衡量模型是否可靠遵循格式和约束指令的维度。

推理与分析

关注: GSM8K、MATH、GPQA、ARC-Challenge、BigBench Hard。 这些测试不同难度级别的多步逻辑。GPQA 最难——有助于区分前沿模型和仅算不错的模型。

通用助手

关注: MMLU + MT-Bench + IFEval 的综合指标。 没有单一数字能捕捉”通用助手”的质量。检查所有 3 个以获得关于知识广度、对话技能和指令遵从性的图景。
比较 2 个相似模型时,跳过平均值,直接看向与你的任务匹配的特定基准。一个 7B 编程模型和一个 7B 聊天模型可能有相似的 MMLU 分数,但 HumanEval 结果却大不相同。

不同量化级别下的基准分数

基准分数通常以全精度(FP16 或 BF16)报告。当你在本地运行量化模型时,预计会有一定的分数下降。

量化会损失多少?

影响取决于基准、模型大小和量化级别:

量化何时影响更大

  • 小模型损失大于大模型。 一个7B模型量化为Q4_K_M比一个70B模型在相同量化级别下的损失更大,因为较小的模型冗余度较低,吸收舍入误差的能力较弱。
  • 精确任务损失更大。 数学和代码生成对权重精度比通用聊天更敏感。如果你运行编程助手,请考虑使用Q5_K_M或更高。
  • 在低位宽下,I-quant 可能有所帮助。 Imatrix 量化(IQ4_XS、IQ3_XXS)更仔细地保留关键权重,与相同大小的标准 K-quant 相比,可能恢复1–2分。
一个70B模型以Q4_K_M量化时,在大多数基准上都几乎总是优于全精度的7B模型。当大小差距很大时,模型大小比量化级别更重要。

运行你自己的评测

已发布的基准是一个起点。如果你需要知道一个模型在你自己的任务上,在你自己的设置下表现如何,请运行你自己的评估。

何时运行自己的评测

  • 你有标准基准未涵盖的领域特定用例(法律、医疗、金融)。
  • 你在比较2个在公开基准上得分相似的模型。
  • 你在测试特定的量化或微调,并希望衡量真实影响。
  • 在部署之前,你需要验证模型是否能够处理你的边界情况。

运行评测的工具

lm-evaluation-harness(由 EleutherAI 开发)是标准的开源工具。它开箱即用地支持60+学术基准,并且可以针对任何通过 llama.cpp、vLLM 或 OpenAI 兼容 API 提供的模型运行:
OpenAI Evals 和 HELM(斯坦福大学)是替代方案,拥有不同的任务库和报告格式。

一个简单的自定义评测

你不需要框架来测试特定领域的质量:
  1. 从你的实际用例中编写50个问题。
  2. 向模型发送每个问题并记录回答。
  3. 对每个回答按1–5分制评分(对于事实性问题,采用通过/未通过)。
  4. 对你比较的每个模型重复此过程。
50个问题足以发现大的差异。对每个模型使用相同的问题,并采用盲评(隐藏哪个模型产生哪个回答)以避免偏见。

何时信任发布的分数

当满足以下条件时,信任已发布的基准分数:
  • 模型发布方有诚实报告的历史记录(Meta、Google、Mistral、Qwen、Anthropic)。
  • 多个独立来源确认了相近的数字。
  • 基准的发布时间晚于模型训练截止日期(降低污染风险)。
在以下情况下运行你自己的评测:
  • 你使用第三方量化,并希望验证它没有显著降低质量。
  • 你的任务非常狭窄,通用基准不适用。
  • 你在做出生产决策,需要对排行榜数字之外的信心。

基准报告中的危险信号

并非每个基准声明都值得信赖。注意以下模式:
  • 未披露量化级别。 “我们的模型在 MMLU 上得分为78”——什么精度?如果没说,他们可能报告的是全精度分数,而大多数用户会以量化方式运行。
  • 只报告最好的基准。 突出显示1个分数而忽略其他分数的模型页面是在选择性报告。寻找完整的基准表。
  • 比较不同大小的模型。 “我们的7B模型在X上击败了70B模型”——是的,在一个有利于7B模型训练数据的狭窄基准上。这不是公平的比较。
  • 受污染且未披露的基准。 如果模型的训练数据可能包含基准的测试集,且发布方未提及,请对其分数持怀疑态度。
  • “在……上击败了GPT-4”。 几乎总是针对一个狭窄、有利的基准。GPT-4是一个大型专有模型——在1个特定任务上击败它并不意味着该模型总体上更好。
  • 未描述方法。 如果分数不包含诸如 few-shot 数量、提示格式和评分方法等细节,你将无法将其与其他已发布的数字进行比较。

在哪里查找基准数据

在信任某个基准数字之前,至少交叉引用2个来源。如果 Open LLM Leaderboard 和模型自己的论文报告了不同的分数,请调查原因——通常是由于评估设置(few-shot 数量、提示格式或量化)的差异。

深入阅读

解读模型名称

在查看基准之前,先解码模型名称、量化标签和架构后缀。

解读模型卡片

查找基准未涵盖的参数、架构、上下文长度和许可证。

量化

了解量化如何影响你刚才学会阅读的基准分数。

哪个本地模型适合哪个任务?

利用基准洞察来挑选一个与你的特定用例相匹配的模型。