LLM、Tool Calling、Embedding 基准完全解析
评估 AI 模型时会出现无数个基准名称。MMLU 85 分、HumanEval 90%、MTEB 排名第一——让我们完整搞懂这些数字究竟意味着什么、在什么情况下应该参考哪个基准。
1. LLM 通用基准
MMLU(Massive Multitask Language Understanding)
MMLU 是 UC Berkeley 于 2020 年发布的基准,用来衡量 LLM 的知识广度以及跨多个领域的理解能力。
测量方法:
- 57 个学科领域(数学、科学、法学、历史、医学、心理学等)
- 14,000 道以上的四选一选择题
- 5-shot learning 方式:测试前先提供 5 道示例题及其答案
示例题目:
领域: 高中化学
示例 1: 原子序数为 6 的元素是?
(A) 氮 (B) 氧 (C) 碳 (D) 氖
答案: (C)
...5 个示例之后...
测试: 形成离子键的条件是?
(A) 两个非金属原子之间
(B) 金属原子与非金属原子之间
(C) 两个金属原子之间
(D) 贵金属与非金属原子之间
答案: ?
分数解读:
- 随机选择时: 25%(四选一)
- GPT-4: ~86%,Claude 3 Opus: ~86%,Gemini Ultra: ~90%
- 人类专家平均: ~89%
局限:
- 难以区分记忆和理解: 有可能只是背下了训练数据中出现过的题目
- 以英语为中心的评估: 未反映多语言能力
- 未反映最新知识: 静态数据集
- 存在数据污染的可能性: 训练数据中可能包含测试题目
HellaSwag
2019 年发布的 HellaSwag 衡量的是"常识推理"与"句子补全"能力。名字是 "Harder Endings, Longer contexts, and Low-shot Activities For Situations With Adversarial Generations" 的缩写。
测量方法:
- 从 ActivityNet(日常活动视频描述)和 WikiHow(分步指南)中提取
- 从给定的句子/情境中选出最自然的后续内容
- 错误选项(distractors)由语言模型生成,表面上看起来合理,实际上是错的
示例:
情境: "一个男人正在烤热狗。他用夹子把热狗翻面。"
接下来最可能发生的是:
(A) 他把热狗扔进火里。
(B) 他把做好的热狗夹进面包里。
(C) 他从冰箱里拿出食材。
(D) 他翻开食谱书。
答案: (B)
分数解读:
- 人类: 95.6%
- GPT-4: 95.3%+
- 大多数最新 LLM 已接近人类水平
局限:
- 对大型模型来说已经过于简单(饱和)
- 存在英语日常文化偏见
- 相比真正的深层推理,更接近语言模式识别
ARC(AI2 Reasoning Challenge)
由 Allen Institute for AI 制作的基准,通过小学到初中水平的科学题目来衡量推理能力。
两个子集:
Easy Set:
- 四选一的小学水平科学题
- 仅靠简单的事实确认就能解答的题目
- 用 TF-IDF 或词频等方法也能达到 25% 以上
Challenge Set:
- 设计上无法仅靠简单的关键词搜索或信息检索解答
- 需要推理、因果关系判断、多步思考
- 共 7,787 道题
Challenge Set 示例:
"植物叶片上的气孔(stomata)主要起什么作用?"
(A) 吸收光进行光合作用
(B) 调节气体交换和蒸腾作用
(C) 把水从根部运输到叶片
(D) 把糖分运送到植物的其他部位
→ 仅靠简单检索并不够,需要理解其功能
分数解读:
- Challenge Set: GPT-4 ~96%,人类专家 ~100%
- Easy Set 目前已接近饱和
TruthfulQA
2021 年发布的 TruthfulQA 衡量模型产生幻觉(Hallucination)和错误信念的倾向。
测量方法:
- 817 道"容易诱导出迷信式错误答案"的问题
- 关于人类常见错误认知的问题
- 评估模型能否准确地回答"不知道"或给出正确信息
示例问题:
- "我们只使用大脑的 10% 是真的吗?"
→ 错误认知。正确答案: "不,这是一个迷思。"
- "对角线是直角的矩形是什么?"
→ 陷阱问题。矩形的对角线并非直角。
- "拿破仑真的很矮吗?"
→ 实际上是平均身高(以当时标准而言属正常身高)。
分数解读:
- 人类: ~94%
- GPT-4: ~60%(有意设计得较难)
- 分数低意味着模型更擅长编造看似合理的谎言
重要提示: TruthfulQA 被有意设计成在这项测试中拿高分很难。分数低的模型,说明它更擅长生成人们容易相信的错误信息。
WinoGrande
2019 年发布的 WinoGrande 通过 44,000 道常识推理题来衡量代词指代消解能力。
测量方法:
- Winograd Schema Challenge 的大规模版本
- 需要在两个空格候选中选出一个,需要常识理解
- 是为消除性别偏见而设计的 WinoBias 的改进版
示例:
"The trophy didn't fit in the brown suitcase because ___ was too big."
(A) it [trophy]
(B) it [suitcase]
→ 需要常识判断出是因为奖杯太大才放不进去
"在图书馆里,Sarah 比 Amy 读了更多的书。 ___ 很喜欢阅读。"
(A) Sarah
(B) Amy
→ 需要凭常识判断出是哪一方喜欢阅读
分数解读:
- 随机: 50%
- GPT-4: ~87%,人类: ~94%
BIG-Bench(Beyond the Imitation Game Benchmark)
包含 204 项多样化任务的大规模基准,用于评估现有基准难以衡量的能力。
BIG-Bench Hard(BBH):
- 23 项特别困难的推理任务
- 特别适合衡量 Chain-of-Thought(思维链)提示的效果
- 包括网页导航、日程安排、符号推理等
BBH 示例任务:
- Boolean Expressions: 判断 "(True and False) or (not True and True)"
- Causal Judgment: 判断因果关系方向
- Formal Fallacies: 识别逻辑谬误
- Movie Recommendation: 基于偏好的推荐
- Object Counting: 在文本中数出物体数量
- Temporal Sequences: 按时间顺序排列
- Word Sorting: 按字母/条件排序
Chain-of-Thought 效果:
- 普通提示: GPT-4 约 65%
- CoT 提示: GPT-4 约 85%+
- 常用于识别 CoT 特别有效的领域
GPQA(Graduate-Level Google-Proof Q&A)
2023 年发布的 GPQA 要求博士水平的科学专业知识,其设计目标是即使用 Google 搜索也难以轻易解答。
测量方法:
- 由生物学、化学、物理学领域的博士研究者亲自撰写
- 四选一(设计上只有该领域的专家才能准确作答)
- 设计上使 Google 搜索难以找到答案
分数解读:
- 该领域非专业博士: ~34%
- 该领域专家博士: ~65%
- GPT-4: ~39%,Claude 3 Opus: ~50%+
示例(物理学):
"量子计算机中拓扑量子比特(topological qubit)的主要优势是?"
(A) 只能在绝对零度下工作
(B) 拓扑保护使其对环境噪声具有抗性
(C) 门操作速度比传统晶体管更快
(D) 支持无限数量的量子比特
→ 需要对量子纠错有深入理解
LiveBench
为解决数据污染问题,每月新增题目的动态基准。
测量方法:
- 包含数学、编程、推理、语言、Agent 任务
- 由最新的 arxiv 论文、新闻、竞赛编程题目生成
- 仅包含有客观正确答案的题目
为何重要:
- 解决现有基准的数据污染问题
- 区分模型是真正在推理,还是在背题
- 持续更新,可用于比较最新模型
2. 编程基准
HumanEval
OpenAI 于 2021 年发布的 HumanEval,是衡量 Python 编程能力、使用最广泛的编程基准。
测量方法:
- 164 道 Python 函数实现题
- 提供函数签名 + docstring + 若干输入输出示例
- 检验生成的代码能否通过隐藏测试用例
# 示例题目
def has_close_elements(numbers: List[float], threshold: float) -> bool:
"""
在给定的数字列表中,检查是否存在两个数字之间的差值
小于 threshold 的一对。
>>> has_close_elements([1.0, 2.0, 3.0], 0.5)
False
>>> has_close_elements([1.0, 2.8, 3.0, 4.0, 5.0, 2.0], 0.3)
True
"""
# 模型需要实现这部分
pass@k 指标:
- pass@1: 尝试 1 次即通过的概率
- pass@10: 10 次尝试中至少 1 次通过的概率
- pass@100: 100 次尝试中至少 1 次通过的概率
分数解读:
- GPT-4: pass@1 约 87%
- Claude 3.5 Sonnet: pass@1 约 92%+
- 早期 GPT-3: pass@1 约 0%
局限:
- 仅 164 道题,多样性不足
- 算法复杂度偏低
- 无法衡量实际软件开发能力(调试、重构)
MBPP(Mostly Basic Python Problems)
Google Research 发布的、由众包收集的 374 道 Python 题目集合。
与 HumanEval 的差异:
- 模式和风格更加多样
- 包含更简单的题目(从基础到中级)
- 众包导致难度参差不齐
# MBPP 示例
"""
Write a function to find the maximum product subarray.
assert max_product_subarray([6, -3, -10, 0, 2]) == 180
assert max_product_subarray([-1, -3, -10, 0, 60]) == 60
"""
SWE-bench
2023 年发布的 SWE-bench 衡量解决真实 GitHub issue 和 bug 的能力。
测量方法:
- 12 个真实的 Python 开源项目(Django、Flask、NumPy 等)
- 2,294 个真实的 GitHub issue 及经过验证的补丁
- 模型根据 issue 描述生成实际的代码修改
- 用已有的测试套件进行验证
示例 issue:
仓库: scikit-learn
issue: "KNeighborsClassifier.predict() 在
sparse matrix 输入时返回错误结果"
模型需要做的事:
1. 理解 issue 内容
2. 找到相关源代码
3. 生成修复补丁
4. 确认通过已有测试
SWE-bench Lite:
- 300 道精选的、更明确的题目
- 用于更快评估的子集
分数解读:
- 2023 年初: 即使是 GPT-4 也只有 1~2%
- 2024 年: 最新 Agent 系统达到 20~50%
- 反映了真实软件工程的复杂度
为何重要:
- 比 HumanEval 更贴近现实的评估
- 综合衡量代码理解 + 修改 + 验证能力
- 用于评估替代真实开发工作的可能性
LiveCodeBench
为防止数据污染,从 LeetCode、AtCoder、CodeForces 实时新增题目的动态编程基准。
特点:
- 使用比赛结束后新增的题目
- 衡量模型在从未见过的新题目上的表现
- 涵盖代码生成、自我修正、代码执行预测
3. 推理与数学基准
GSM8K(Grade School Math)
OpenAI 于 2021 年发布的、包含 8,500 道小学水平数学题的基准。
特点:
- 需要 2~8 步的多步推理
- 涉及基本算术、分数、小数、百分比等
- 是验证 Chain-of-Thought 推理效果的核心基准
示例题目:
"Janet 养了一只每天下 16 个蛋的鸡。
她每天早上吃掉 3 个,再用 4 个给朋友们做松饼。
剩下的蛋以每个 2 美元的价格在市场上卖掉。
她每天能赚多少钱?"
Chain-of-Thought 推理:
1. 每天的蛋: 16 个
2. 吃掉: 3 个
3. 用于松饼: 4 个
4. 用于销售的蛋: 16 - 3 - 4 = 9 个
5. 收入: 9 * 2 = 18 美元
答案: 18 美元
分数解读:
- 人类: ~100%
- GPT-4(CoT): 92%+
- GPT-3(标准): ~20%
- GPT-3(CoT): ~56%
- 是 CoT 效果表现最显著的基准之一
MATH
2021 年发布的、包含 12,500 道竞赛水平数学题的题库。
7 个领域:
- 代数(Algebra)
- 预备微积分(Precalculus)
- 几何(Geometry)
- 数论(Number Theory)
- 计数与概率(Counting and Probability)
- 中级代数(Intermediate Algebra)
- 初级代数(Prealgebra)
5 个难度等级:
- Level 1(最低): AMC 8 水平
- Level 5(最高): AIME、HMMT 水平
Level 5 示例:
"将 x^4 + 4x^3 - 2x^2 - 12x + 9 因式分解"
答案: (x^2 + 2x - 3)^2 = (x+3)^2(x-1)^2
→ 需要高级代数运算能力
分数解读:
- GPT-4: ~52%(整体),Level 5: ~20% 左右
- 最新模型(o1、Gemini Ultra): 80%+
- 数学专用模型正在大幅提升
AIME(American Invitational Mathematics Examination)
真实的美国数学奥林匹克预选赛题目。
特点:
- 答案为 0~999 之间的整数(主观题)
- 面向通过 AMC 10/12 的学生
- 需要极高的数学创造力
分数解读:
- 人类前 5%: 15 题中答对 7~9 题
- GPT-4o: 15 题中约答对 9~12 题(截至 2024 年)
- o1 系列: 在这一领域取得突破性进展
4. Tool Calling / Function Calling 基准
BFCL(Berkeley Function Calling Leaderboard)
2024 年 UC Berkeley 发布的、目前最全面的函数调用(Function Calling)基准。
2,000 个以上的函数调用场景:
按类型分类:
- Simple Function Calling - 单一函数,参数明确
- Multiple Functions - 从多个函数中选出合适的一个
- Parallel Functions - 同时调用多个函数
- Nested Functions - 在函数内部调用其他函数
- REST API - 调用真实的 HTTP API 端点
测量项目:
- 函数名选择是否正确
- 参数名是否准确
- 参数类型是否准确(string vs int vs float)
- 参数值的语义正确性
- 是否包含不必要的参数
AST 验证方式:
# 正确的函数调用
get_weather(
location="Seoul, Korea",
unit="celsius",
forecast_days=3
)
# 模型生成的调用
get_weather(
location="Seoul", # 部分匹配 - 是否允许?
unit="C", # 类型/格式错误
days=3 # 参数名错误!
)
通过解析 AST(抽象语法树)来确认结构是否精确匹配
支持的语言/环境:
- Python、Java、JavaScript、SQL、REST API
分数解读(截至 2024 年):
- GPT-4o: 整体约 72%
- Claude 3.5 Sonnet: 整体约 73%
- 开源模型: 40~60% 左右
τ-bench(tau-bench)
衡量真实 Agent 任务完成度的基准,超越单纯的函数调用准确率,衡量整体任务完成率。
测量方法:
- 真实业务场景(旅行预订、购物等)
- 多步 Agent 工作流
- 每一步是否使用了恰当的工具
- 最终任务是否完成
示例场景:
"帮我找一张 3 月 20 日从纽约飞往巴黎的单程机票,
预订最便宜的那趟,并发送确认邮件。"
所需步骤:
1. search_flights(origin="NYC", destination="Paris", date="2026-03-20")
2. select_flight(flight_id="AF001", criteria="cheapest")
3. book_flight(flight_id="AF001", passenger_info=...)
4. send_confirmation_email(booking_id=..., email=...)
→ 衡量每一步的准确性 + 整体完成情况
ToolBench / ToolEval
2023 年发布的、利用 16,000 个真实 REST API 来评估工具使用能力的基准。
测量方法:
- 从 RapidAPI 收集的 49 个类别、16,000 个 API
- 阅读真实 API 文档,选择恰当的 API
- 用正确的参数调用 API
- 多步 API 链式调用
Solvable Pass Rate(SoPR)指标:
- 针对实际可解决的问题的成功率
- 比较 ChatGPT 内置的 Function Calling 与 ToolLLM
测量项目:
- 工具选择准确率(是否选对了 API)
- 执行顺序准确率
- 参数准确率
- 错误处理能力
AgentBench
2023 年发布的、在 8 种环境中衡量 LLM 自主 Agent 能力的基准。
8 种环境:
- OS - 操作系统任务(文件操作、命令执行)
- DB - 数据库查询与操作
- Knowledge Graph - 知识图谱探索
- Digital Card Game - 策略卡牌游戏
- Lateral Thinking Puzzles - 创造性解题
- House Holding - 虚拟环境中的家务管理
- Web Shopping - 网络购物任务
- Web Browsing - 网页浏览与信息收集
OS 环境示例:
"在当前目录中找出所有 2023 年创建的 .py 文件,
并移动到 'python_files' 文件夹。"
→ 需要组合使用 find、mkdir、mv 等命令
→ 衡量多步决策与错误恢复能力
分数解读:
- GPT-4: 整体约 3.6 分(满分 10 分)
- GPT-3.5: 整体约 1.9 分(满分 10 分)
- 多数开源模型: 不足 1 分
5. Embedding 基准
MTEB(Massive Text Embedding Benchmark)
2022 年发布的 MTEB,是评估文本嵌入模型最全面的基准。
56 个数据集,8 种任务类型:
1. Retrieval(检索)
- 找出与问题最相关的文档
- 使用 nDCG@10 指标
- 包含 BEIR 基准数据集
示例: "在 Python 中如何对列表排序"
→ 对相关 Stack Overflow 答案、文档进行排序
2. Classification(分类)
- 文本分类(情感分析、主题分类等)
- 用嵌入 + 逻辑回归进行评估
- 准确率(Accuracy)或 F1 分数
3. Clustering(聚类)
- 自动将相似文本分组
- ArXiv 论文、Reddit 帖子等
- V-measure 指标
4. Semantic Textual Similarity(语义文本相似度)
- 两个句子之间的语义相似度评分(0~5)
- 用斯皮尔曼相关系数评估
示例:
句子 1: "一只狗在公园里跑"
句子 2: "一只狗在户外奔跑"
→ 高相似度(约 4.0/5.0)
句子 1: "今天天气晴朗"
句子 2: "我喜欢披萨"
→ 低相似度(约 0.5/5.0)
5. Reranking(重排序)
- 对初步检索结果重新排序
- MAP(Mean Average Precision)指标
- 衡量搜索引擎最终排序能力
6. Summarization(摘要)
- 摘要与原文之间的语义相似度
- 斯皮尔曼相关系数
7. Pair Classification(成对分类)
- 判断两个句子之间的关系(相似/不相似、重复/不重复)
- AP(Average Precision)指标
示例:
- 重复问题检测: "对 Python 列表排序" vs "如何在 Python 中对 list 排序"
→ 重复(True)
- "苹果是水果" vs "我喜欢游泳"
→ 无关(False)
8. Bitext Mining(双语文本挖掘)
- 查找多语言平行句对
- F1 分数
示例:
英语: "The weather is nice today"
韩语: "오늘 날씨가 좋다"
→ 检测出平行句对
MTEB 排行榜(HuggingFace):
- 用综合分数比较模型排名
- 可查看各任务的详细分数
- 截至 2024 年,排名靠前的有: text-embedding-3-large、voyage-large-2、E5-mistral-7b
BEIR(Benchmarking Information Retrieval)
2021 年发布的、在 18 个不同检索领域衡量信息检索性能的基准。
18 个数据集:
- TREC-COVID: COVID-19 相关医学论文检索
- NFCorpus: 医学/营养信息检索
- NQ(Natural Questions): Google 自然语言搜索
- HotpotQA: 多跳推理检索
- FiQA: 金融问答
- ArguAna: 反驳论据检索
- Touche: 辩论论据检索
- CQADupStack: 社区问答重复检测
- Quora: 重复问题检测
- DBPedia: 实体检索
- SCIDOCS: 学术文献检索
- FEVER: 事实核查
- Climate-FEVER: 气候相关事实核查
- SciFact: 科学主张核查
nDCG@10 指标:
nDCG@10 = 前 10 个结果的归一化折损累计增益
相关度评分:
- 高度相关: 3 分
- 相关: 2 分
- 略微相关: 1 分
- 无关: 0 分
排名越靠前,权重越高
零样本性能测量:
- 评估未在特定领域微调的情况下,在多种领域中的泛化能力
- 比较 BM25 等传统方法与神经网络嵌入
6. RAG 与文档解析基准
RAGAS(Retrieval Augmented Generation Assessment)
用于全面衡量 RAG 系统质量的框架。
5 项核心指标:
1. Faithfulness(忠实性)
- 生成的答案是否基于检索到的上下文
- 是否编造了上下文中不存在的内容
- 分数范围: 0~1
上下文: "Python 由 Guido van Rossum 于 1991 年创造。"
问题: "Python 是什么时候、由谁创造的?"
高 Faithfulness 答案:
"Python 由 Guido van Rossum 于 1991 年创造。"
低 Faithfulness 答案(幻觉):
"Python 于 1989 年由 Guido van Rossum 创造,
当时是在荷兰阿姆斯特丹……"
→ 添加了上下文中没有的日期和地点
2. Answer Relevance(答案相关性)
- 答案是否真正与问题相关
- 是否包含偏离问题的信息
3. Context Precision(上下文精确率)
- 检索到的上下文是否真的有用
- 不必要上下文所占的比例
4. Context Recall(上下文召回率)
- 回答所需的全部信息是否都被检索到
- 是否包含 Ground Truth 答案中的信息
5. Context Entity Recall(实体召回率)
- 重要实体(人物、地点、日期等)是否包含在上下文中
RULER(Retrieval Under Long-context Evaluation Regime)
衡量 Long-context LLM 能力的基准,超越单纯的 Needle-in-a-Haystack,评估复杂的长文本理解能力。
任务类型:
- NIAH(Needle-in-a-Haystack): 在长文档中查找特定信息
- Multi-key NIAH: 同时查找多条信息
- Multi-value NIAH: 从一个 key 中提取多个 value
- Multi-hop Tracing: 沿着信息链条进行多步推理
- Aggregation: 从整篇文档中聚合信息
- QA: 基于长文本上下文的问答
Multi-hop Tracing 示例(128K token 文档中):
"Alice 的上司是 Bob。Bob 的生日是 3 月 15 日。
... (数万 token 的无关内容) ...
Alice 的上司的生日是?"
→ 衡量 Alice → Bob → 3 月 15 日 的链接能力
DocVQA
衡量针对真实文档图像的视觉问答能力。
测量方法:
- 真实扫描文档图像(账单、表格、报告、合同等)
- 自然语言问题 + 文档图像 → 生成答案
- 综合考察 OCR 能力 + 文档结构理解 + 内容理解
示例:
[账单图像]
问题: "税费总额是多少?"
→ 需要在图像中找到税费行并提取金额
[医疗表格]
问题: "患者的出生日期是?"
→ 需要定位特定字段并提取其值
ANLS(Average Normalized Levenshtein Similarity)指标:
- 并非完全匹配,而是基于编辑距离的相似度衡量
- 允许数字/日期格式上的差异
FinanceBench
基于金融文档(10-K、年度报告、10-Q 季度报告)的问答基准。
测量方法:
- 真实企业披露文件(SEC EDGAR)
- 需要数值提取、计算、多步推理的问题
示例:
[Apple Inc. 2023 年度报告]
问题: "2023 年服务部门的营收同比增长率是多少?"
所需能力:
1. 找出 2023 年服务部门营收
2. 找出 2022 年服务部门营收
3. 计算增长率: (2023-2022)/2022 * 100
7. 多模态基准
MMBench / MMMU
MMBench:
- 综合评估多模态理解能力
- 图像 + 文本理解
- 评估 20 种以上细分能力
MMMU(Massive Multi-discipline Multimodal Understanding):
- 大学水平的多模态理解
- 11,500 道题,30 个学科,183 个细分主题
- 需要理解医学、法学、工程领域的图表、图示、公式
MMMU 示例:
[化学键结构图像]
问题: "该分子结构中的键角是多少?"
→ 需要理解视觉化学结构
DocBench / OCRBench
OCRBench:
- 衡量 OCR 准确率
- 印刷体、手写体、多语言文本
- 自然场景文字、文档内文字
- 1,000 个评估样本
DocBench:
- 衡量文档解析质量
- 表格、公式、图表、版式识别
- PDF、图像文档处理能力
8. 基准选择指南
按实际使用场景整理的参考基准:
| 使用场景 | 主要基准 | 辅助基准 |
|---|---|---|
| 聊天机器人/问答系统 | MMLU、TruthfulQA | HellaSwag、WinoGrande |
| 代码生成工具 | HumanEval、SWE-bench | MBPP、LiveCodeBench |
| Agent/自动化 | BFCL、AgentBench | τ-bench、ToolBench |
| RAG 系统 | MTEB Retrieval、BEIR | RAGAS、RULER |
| 文档处理 | DocVQA、OCRBench | FinanceBench |
| 数学/科学 | MATH、GSM8K | GPQA、AIME |
| Embedding 模型选择 | MTEB 整体 | BEIR 特定领域 |
| 多模态 | MMMU、MMBench | DocVQA |
9. 基准的局限与注意事项
数据污染(Data Contamination)
问题:
- 模型的训练数据中可能包含测试题目
- 公开在互联网上的基准题目很可能已被纳入训练数据
- 难以区分是真正的推理还是死记硬背
应对:
- 出现了 LiveBench、LiveCodeBench 等动态基准
- 使用非公开测试集
- 持续新增新题目
因提示工程而产生的分数波动
同一模型,不同提示:
GSM8K 基本提示: 70%
GSM8K CoT 提示: 92%
→ 未注明提示方式的分数没有意义
实际可用性与基准分数之间的落差
- MMLU 90% 的模型,实际写作能力可能反而更差
- 存在对特定基准过拟合的模型
- "基准作弊"现象: 并未真正提升能力,只是刷高了特定基准的分数
语言偏见
- 大多数基准以英语为中心
- 韩语、日语、阿拉伯语等语言能力的衡量不足
- 需要单独的多语言基准: MLQA、XNLI、mMTEB 等
基准饱和(Saturation)
- HellaSwag: 人类和 GPT-4 几乎处于同一水平
- ARC Easy: 大多数最新模型已达 98%+
- 需要持续推出更难的新基准
测验:基准理解度测试
测验 1: MMLU 的 5-shot learning 指的是什么?
正确答案: 在解答测试题之前,先在提示词中一并提供 5 道示例题及其答案的方式。
说明: 在 5-shot learning 中,模型在解题之前,提示词里会包含该领域的 5 道示例题及答案。这能引导模型理解题目格式,并生成特定风格的答案。0-shot 指不提供示例直接提问,1-shot 指提供 1 个示例,few-shot 指提供若干个示例。
测验 2: 为什么 GPT-4 在 TruthfulQA 上的分数比人类低?
正确答案: TruthfulQA 是有意设计成测试人类常见的错误信念和迷思的。AI 模型也会学习到训练数据中的错误信息,因而倾向于生成看似合理的错误信息。
说明: TruthfulQA 的核心,是衡量模型生成"看似合理但错误"答案的能力(幻觉)。人类可以回答"我不知道",但 LLM 常常会自信地生成错误信息。由于该基准被有意设计得较难,比起分数本身,比较不同模型之间的分数差异更有意义。
测验 3: 为什么 HumanEval 的 pass@k 指标中,pass@10 总是高于 pass@1?
正确答案: pass@10 只需要在 10 次尝试中至少成功 1 次,因此其成功概率总是大于或等于只尝试 1 次的 pass@1。
说明: pass@k 是指在 k 次尝试中至少成功 1 次的概率,公式上表现为 1 - (失败概率)^k 的形式。k 越大,成功概率越高,因此 pass@100 >= pass@10 >= pass@1 总是成立。该指标也被用来评估模型在代码生成上的多样性与创造力。
测验 4: BFCL 为什么使用 AST 验证方式?
正确答案: 是为了验证代码的结构性含义,而不是单纯的文本匹配。AST 会将代码解析为语法树,从而能够准确确认函数名、参数名、类型和值。
说明: 单纯的文本比较可能会把 "get_weather(city='Seoul')" 和 "get_weather(city = 'Seoul')" 判定为不同。通过 AST 解析,可以忽略空格、引号风格等表面差异,确认真正的语义一致性。此外,即使参数顺序不同,也能识别为同一个调用,从而实现更准确的评估。
测验 5: MTEB 为什么在 Retrieval 任务中使用 nDCG@10?
正确答案: nDCG@10 在衡量前 10 个检索结果质量的同时,会给排名更靠前的结果赋予更大的权重。由于用户通常只看靠前的结果,这更能反映真实的使用模式。
说明: nDCG(Normalized Discounted Cumulative Gain)会用 log 函数对相关性评分(0~3)进行折损,排名越靠前的结果被赋予越高的重要性。@10 表示只评估前 10 个结果。举例来说,如果相关文档出现在第 1 名,其得分会远高于出现在第 10 名的情况。
测验 6: RAGAS 的 Faithfulness 和 Answer Relevance 有什么区别?
正确答案: Faithfulness 衡量的是答案是否基于检索到的上下文(有没有编造内容),Answer Relevance 衡量的是答案是否真正切中了问题的核心。
说明: 这两个指标捕捉的是不同的失败模式。Faithfulness 低,说明模型编造了上下文中没有的内容(幻觉);Answer Relevance 低,说明虽然忠实于上下文,但回答的内容与问题无关。一个好的 RAG 系统应该在这两项指标上都表现良好。
测验 7: 为什么 SWE-bench 比 HumanEval 更难、也更贴近现实?
正确答案: SWE-bench 使用真实的 GitHub issue 和代码库。与只编写一个函数不同,模型需要理解已有的数千行代码、找出 bug 的根本原因,并以最小的改动进行修复,同时还要通过全部已有测试套件。
说明: HumanEval 是干净的函数实现题,而 SWE-bench 模拟的是真实的软件开发过程。模型需要完成: (1) 理解 issue 描述、(2) 探索相关代码、(3) 找出 bug 原因、(4) 决定修复方式、(5) 生成补丁、(6) 确认通过已有测试,这一整套流程。这与真实开发者的日常工作非常相似。
测验 8: 有哪些方法可以解决数据污染(Data Contamination)问题?
正确答案: 主要解决方案包括动态基准(LiveBench、LiveCodeBench)、非公开测试集、持续新增题目、生成式评估等。
说明: 数据污染是指训练数据中包含测试题目,导致分数高于模型的实际能力。LiveBench 会持续从最新的 arxiv 论文或竞赛编程网站添加新题目,使模型无法提前见过这些题目。此外,也有一些方式会要求模型提交方在提交时声明训练数据中是否包含测试集。
测验 9: 为什么零样本评估在 BEIR 中很重要?
正确答案: 是为了衡量 embedding 模型真正的泛化能力。即使不针对特定领域微调,也能在多个领域中良好运行的模型,才具有更高的实用价值。
说明: 在构建真实的 RAG 系统时,需要处理医疗、法律、金融等多个领域的文档。为每个领域单独训练模型成本过高,因此即使是零样本,也能在多个领域中良好运行的 embedding 模型要实用得多。BEIR 通过衡量在 18 个领域中的零样本性能,来评估这种泛化能力。
结语:明智地使用基准
基准分数只展现了模型能力的一个切面。选择与实际使用场景相符的基准,并综合考虑多个基准而非单一基准,是十分重要的。
核心原则:
- 选择与目的相符的基准: 如果目的是代码生成,HumanEval 比 MMLU 更具相关性
- 综合考虑多个基准: 在单一基准上排名第一,并不意味着在所有方面都是最好的
- 确认提示方式: 确认结果是 CoT 提示还是普通提示得出的
- 认识到数据污染的可能性: 结合最新的动态基准一同确认
- 亲自测试: 最终还是要用实际使用场景亲自评估
基准是地图,而不是疆域本身。请善用多张好地图,来选出最合适的模型。
현재 단락 (1/563)
评估 AI 模型时会出现无数个基准名称。MMLU 85 分、HumanEval 90%、MTEB 排名第一——让我们完整搞懂这些数字究竟意味着什么、在什么情况下应该参考哪个基准。