想象一下,你是一位新来的班主任,想了解班里每个学生的知识水平。你不会只问一道题就下结论,而是会准备一份涵盖各个学科、包含大量题目的考卷。每位学生作答后,你批改打分,算出每个学生的正确率,再和年级平均分对比,看这位学生到底排在什么位置。这份“考卷”,就是大模型评测中的 MMLU(大规模多任务语言理解基准);而那个“正确率”,就是本文要讲的准确率计算。 MMLU 诞生于 2021 年,由加州大学伯克利分校等机构的研究者设计,包含了涵盖人文、社科、理工、专业领域等 57 个学科的多选题,总计约 14000 道题目。它已经成为衡量大模型知识广度的“标准考卷”。但这张考卷的批改方式有很多细节——是只看最终答案,还是看完整推理过程?给模型看几个示范例子会不会影响成绩?70% 的准确率到底是好是坏?这些问题,都是 AI 评测工程师必须掌握的。

岗位关联

MMLU 是 LLM 评测领域的“通用语言”,掌握它的准确率计算与解读方法,是 AI 评测工程师、模型训练者和大模型研究者最基础的职业技能——否则你无法客观判断模型的真实水平,更无法在模型选型和技术汇报中做出科学决策。

目录
  1. 可视化演示
  2. 考试概览:一张综合知识考卷
  3. 题目格式:标准化的四选一
  4. 评分标准:准确率怎么算
  5. 少样本提示:给模型的示范答案
  6. 分数解读:多少分才算好
  7. 结果对比:模型的排名之争
  8. 评测原则:保证分数公平可靠
  9. 认识局限:高分不等于全能
  10. AI 应用场景
  11. Python 演示
  12. 常见误区
  13. 面试题

可视化演示

展示MMLU评测的三级准确率计算流程(学科→领域→总分),以及Few-shot提示对准确率的影响对比。

本节配有交互动效(进入视口后自动加载,约 3KB)。

MMLU三级准确率计算 学科准确率:单学科答对题数/总题数 领域准确率:领域内学科加权平均 总分准确率:全部14042题整体准确率 Acc = Correct / Total 三级聚合从学科到总分逐层汇总

考试概览:一张综合知识考卷

想象你是一位班主任,想快速了解班级整体水平。你不可能只考数学,那样无法反映语文和英语能力。于是你精心设计了一份涵盖 57 个学科的综合性考卷——从抽象代数到医学伦理,从美国历史到计算机科学。这就是 MMLU 的设计思路:它不押注单一领域的深度,而是追求知识宽度的全面覆盖。

MMLU 的全称是 Massive Multitask Language Understanding,即“大规模多任务语言理解”。这张“考卷”包含约 14000 道多项选择题,跨越 57 个学科,从人文学科到理工科再到专业领域,试图量化评估大模型的知识广度和语言理解能力。它希望通过大量不同领域的题目,来反映模型“知道多少东西”。

这个基准由加州大学伯克利分校等机构的研究者于 2021 年提出,其设计初衷是弥补当时评测基准覆盖领域窄、题目难度低的缺陷。MMLU 的题目来源包括真实考试(如 GRE、SAT)、专业书籍和在线学习资源,题目按学科分组,每个学科下又有不同数量的题目。这种结构与标准化考试高度相似,因此它的结果常被研究者当作模型知识能力的“官方成绩单”。

1. 学科全景:57 个学科覆盖 STEM、人文社科、专业领域等多个方向

学科数=57\text{学科数}=57

2. 题量规模:总计约 14000 道单选题,保证统计可靠性

总题数≈14000\text{总题数}\approx 14000

3. 评测目标:通过多学科覆盖衡量模型的知识广度

知识广度=∑i57学科i\text{知识广度}=\sum_{i}^{57}\text{学科}_i

题目格式:标准化的四选一

让我们看看这张“考卷”的一道题目长什么样。每个问题由两部分组成:题干(提问或描述情境)和四个选项(A、B、C、D)。模型的任务是从四个选项中选出唯一正确的答案。回答只需给出选项字母——就像考试时涂答题卡,不需要写出解题过程。

在 MMLU 数据集中,每个样本格式为:问题文本 + A. 选项1 B. 选项2 C. 选项3 D. 选项4,正确答案则预先给定为 A、B、C、D 中的一个。评测时,模型需要输出一个字母(或包含字母的文本),评测系统提取模型输出的答案字母与实际答案比对。这种设计使得评分极其明确和客观。

题目难度分布很广。有些是基础常识题,有些则是专业领域的难题,比如“下列关于细胞凋亡的说法,哪一项是正确的?”这种难度梯度使得 MMLU 既能区分知识储备不足的小模型,也能挑战能力顶尖的大模型。为了平衡难度,答案位置(即正确答案是 A、B、C 或 D)在数据集中均匀分布,防止模型通过位置偏好作弊。

1. 题干部分:描述问题或给出情境

题目=题干\text{题目}=\text{题干}

2. 四个选项:每个选项独立成行,前缀字母编号

选项k∈{A,B,C,D},k=1,2,3,4\text{选项}_k\in\{A,B,C,D\},\quad k=1,2,3,4

3. 标准答案:数据集中每个样本标注唯一正确答案

答案∈{A,B,C,D}\text{答案}\in\{A,B,C,D\}

评分标准:准确率怎么算

考完试当然要批改试卷。MMLU 的评分逻辑非常简单透明:对每道题,如果模型输出的答案字母与标准答案一致,该题计 1 分;否则计 0 分。最后,将所有题的得分求和,除以总题数,就得到准确率。这个指标也叫 Top-1 分数(即只考虑模型排名第一的预测结果),用公式表达简洁明了。

正式地,设总题数为 N,第 i 道题模型的预测为 pred_i,标准答案为 true_i,则第 i 题的得分是:

整体准确率为:

这里有个细节值得注意:模型的答案需要精确匹配标准答案字母。如果模型输出的是“正确答案是 B”这样的完整句子而非单独的字母,评测系统往往不能自动提取出 B 这个字母,导致该题判错。因此,在评测时通常会给模型加上“只输出答案字母”的格式约束,这正是少样本提示(few-shot prompting)的重要作用。

scorei={1,if predi=truei0,otherwise\text{score}_i = \begin{cases} 1, & \text{if } \text{pred}_i = \text{true}_i \\ 0, & \text{otherwise} \end{cases}
Accuracy=1N∑i=1Nscorei=答对题数N\text{Accuracy} = \frac{1}{N} \sum_{i=1}^{N} \text{score}_i = \frac{\text{答对题数}}{N}
准确率等于答对题数除以总题数。每一题权重相同,不因学科难度而加权——这在比较不同模型时需要牢记。
  1. 单题判分预测与标准答案逐字比对,相同则得分,不同则不得分
    scorei∈{0,1}\text{score}_i \in \{0, 1\}
  2. 累加求和将所有题目的得分累加起来,得到总答对数
    答对数=∑i=1Nscorei\text{答对数}=\sum_{i=1}^{N} \text{score}_i
  3. 归一化为分数除以总题数,转化为介于 0 和 1 之间的比例
    Accuracy=答对数N\text{Accuracy}=\frac{\text{答对数}}{N}

少样本提示:给模型的示范答案

回到班级考试的类比:考试前,老师通常会先讲一两道例题,告诉学生答题卡的填涂方式。MMLU 评测中也存在类似的“例题”环节,这就是少样本提示(few-shot prompting)。在少样本设置下,评测者会在提问之前,先给模型展示几个“题目+正确选项字母”的示范对(例如 5 个),让模型理解“输出格式应该是单个字母”。

相比之下,零样本(0-shot)设定则不给模型任何示范,直接抛出题目。这对模型的指令理解能力提出了更高要求——模型必须自己推断出“你想让我回答选项字母”。研究发现,MMLU 上使用 5-shot 提示通常比 0-shot 提高几个百分点的准确率,因为示范明确了输出格式,减少了因格式错误导致的误判。

选择合适的示范数量需要在效果与成本间权衡:示范越多,模型越能理解格式,但也占用更多的输入上下文长度,增加推理成本。实际评测中,最常用的是 5-shot 设置——这也成为社区默认的“标准考卷配置”。

1. 零样本:直接给模型看题目,要求做出选择

输入=题目\text{输入}=\text{题目}

2. 少样本:先展示 K 个问答示范对,再正式提问

输入={q1,a1,q2,a2,…,qK,aK,目标题目}\text{输入}=\{q_1,a_1,q_2,a_2,\dots,q_K,a_K,\text{目标题目}\}

3. 示范作用:示范对让模型理解输出格式应为单个字母,减少格式错误

正确格式率∝K\text{正确格式率}\propto K

分数解读:多少分才算好

现在我们拿到了一份模型成绩单:准确率 70%。这个数字是好是坏?得有个参照系。MMLU 是四选一的选择题,纯靠随机猜测的准确率是 25%——这是最底线的“零分基准”。一个什么都不懂、只会乱猜的模型,得分应该在 25% 附近。

人类的水准则高得多。研究发现,具有大学学历的人类应试者在 MMLU 上的平均得分约为 89%。这意味着,当一个模型的准确率达到 80% 时,它已经超过了大多数人类的平均水平。截至 2025 年初,最先进的闭源大模型(如 GPT-4、Claude 3.5)在 MMLU 上的准确率已经突破 90%,而开源模型的顶尖水平则在 85%-88% 区间徘徊。

但一个总分并不能说明全部。模型可能在某些学科特别强,而在另一些学科严重偏科。例如,一个模型在法律和医学细分科目上得分很高,但在物理和化学上可能只有随机水平。评测工程师应当关注各学科的细项分数,才能全面了解模型的能力画像。

1. 随机基线:四选一中随机猜测的期望准确率

随机准确率=14=25%\text{随机准确率}=\frac{1}{4}=25\%

2. 人类基准:大学学历人类受试者的平均表现

人类平均≈89%\text{人类平均}\approx 89\%

3. 最佳表现:截至 2025 年初最强模型的成绩

顶级模型准确率>90%\text{顶级模型准确率}>90\%

结果对比:模型的排名之争

当所有模型都站在同一条起跑线上,用同一张 MMLU 考卷、同样的 5-shot 提示、同样的评分脚本进行评测时,准确率数字就具有直接的可比性——就像标准化考试,分数是公平竞争的标尺。但 Ai 评测工程师要特别小心一个陷阱:只有使用相同的评测协议(同样的提示模板、同样的示范数、同样的解码参数),分数才真正可比。

跨论文比较模型时,常常会发现同一个模型在不同论文中报告的 MMLU 分数差异很大,原因往往出在评测协议的不同。比如,有的团队用 0-shot,有的用 5-shot;有的用 top_p=0.1 的解码参数,有的用贪婪解码。这些细节都会显著影响得分。业内逐渐形成共识:报告 MMLU 分数时必须注明评测设置,5-shot 成为最常用的标准配置。

除了总分对比,分学科分析也极具价值。一个模型可能在“高中计算机科学”和“国际法”两个科目上的准确率相差 50 个百分点以上。这种细粒度的能力画像,能为模型迭代方向提供比单个总分丰富得多的信息。同时,也要关注模型规模与 MMLU 分数的关系——通常参数量越大,MMLU 准确率越高,但增幅会逐渐减缓,这就是所谓的“规模收益递减”。

1. 同协议可比:使用相同提示词、相同示范数、相同解码参数

可比性:协议A=协议B\text{可比性}:\text{协议}_A=\text{协议}_B

2. 分学科分析:按学科分组计算准确率,生成能力画像

学科准确率j=学科j答对数学科j题数\text{学科准确率}_j=\frac{\text{学科}_j\text{答对数}}{\text{学科}_j\text{题数}}

3. 规模关联:准确率随参数量增加而上升,但增幅递减

准确率∝log⁡(参数量)\text{准确率}\propto \log(\text{参数量})

评测原则:保证分数公平可靠

要让准确率真正可信,评测过程本身必须科学规范。首先要守住的第一条防线就是测试集保密。如果一个模型的训练数据中包含了 MMLU 的测试题目,那它的高分就毫无意义——它是“背过答案的学生”,而不是“掌握了知识的学生”。这就是数据污染问题。研究者需要追踪模型的训练数据来源,检查是否包含 MMLU 测试集的内容。

第二条原则是多次运行取均值。语言模型的解码过程带有随机性(尽管 MMLU 评测常用贪婪解码以降低随机性),但即便使用贪婪解码,不同运行间的结果差异也可能来源于批次处理、浮点精度等因素。稳健的做法是在相同设置下重复评测 2-3 次,报告平均准确率,以减少评估噪声。

第三条原则是固定提示模板。提示措辞的微小变化(比如问“以下哪个是正确答案?”或“请选择正确答案:”)都可能影响模型的表现。为了确保可复现性和公平性,社区通常采用固定的、预先设计好的提示模板,比如统一格式:“以下是关于{{subject}}的单项选择题,请选择正确答案。”然后附加示范。

1. 防污染:确保训练数据未包含测试集内容

污染=(训练集∩测试集)≠∅\text{污染}=(\text{训练集}\cap\text{测试集})\neq\varnothing

2. 取均值:重复评测多次并报告平均值

稳健准确率=1M∑j=1MAccuracyj\text{稳健准确率}=\frac{1}{M}\sum_{j=1}^{M}\text{Accuracy}_j

3. 固定模板:所有模型共享同一提示模板和示范集

模板=常量\text{模板} = \text{常量}

认识局限:高分不等于全能

回到班主任的类比:一位学生在 MMLU 这种综合考试中得了 90% 的高分,是不是就代表他无所不知?显然不是。首先,MMLU 考的是“知识记忆”和“选项识别”,而不是“深度推理”。一个模型可能见过大量类似题目,从而记住了正确答案,但它面对一个全新的、需要多步推理的问题时可能束手无策——知识和推理是两种不同的能力。

其次,数据污染问题让高分变得更加可疑。顶尖模型训练时使用的网页数据规模极大,其中难免包含 MMLU 测试题的痕迹。研究者发现,某些模型在 MMLU 上的得分与其训练数据中 MMLU 相关内容的重合度高度相关,这提醒我们不能单凭 MMLU 分数妄下定论。

最后,选择题形式本身有其局限:它只评测“识别正确答案”的能力,而不涉及“生成答案”的能力。一个模型可能在选择题中表现出色,但在开放式问答、写作、代码生成等实际任务中表现平平。因此,全面的模型评测应当将 MMLU 与其他基准(如编程、数学推理、多轮对话)结合,才能形成对模型能力的立体认识。

1. 知识≠推理:记忆正确答案不等于具备推理能力

高分⇏强推理\text{高分}\nRightarrow \text{强推理}

2. 污染风险:训练数据可能已包含测试题

可信度=1−污染程度\text{可信度}={1-\text{污染程度}}

3. 形式局限:选择题仅评测识别能力,不评测生成能力

生成能力∉选择题评测范围\text{生成能力}\notin \text{选择题评测范围}

AI 应用场景

场景名 1:大型语言模型能力评估报告

阶段:模型评测与比较

解决的问题:企业需要量化评估不同大模型(如 GPT-4、Claude 3.5、Llama 3 等)的知识能力,传统的主观试用无法给出可量化的对比结论,也没有统一标准。借助 MMLU 准确率,可以在同一评测协议下为每个模型打分,形成可比较的“能力坐标”。

具体案例:某 AI 公司技术选型时,使用统一的 5-shot 提示模板和相同的评测脚本,在 MMLU 57 个学科上评估了 6 个候选模型,并输出了总分和分学科雷达图。技术团队发现,虽然模型 A 总分最高,但模型 B 在法律和医学领域的专业得分更为出色,结合业务需求最终选择了模型 B。

场景名 2:模型知识缺陷的定向诊断

阶段:训练数据与模型迭代

解决的问题:模型训练过程中的盲区难以发现。通过 MMLU 分学科准确率分析,可以定位模型在哪些知识领域存在系统性的不足,为后续的数据补充和模型微调指明方向。

具体案例:某研究团队微调了一个面向中文用户的医疗问答模型。通过 MMLU 分学科评测,他们发现模型在“临床知识”和“医学遗传学”两个子类上得分仅为 45% 和 38%,明显低于其他医学子类。团队于是补充了这两个方向的训练语料,经过两轮迭代,在保持其他学科得分不降的前提下,这两个子类的准确率分别提升了 12 个百分点。

场景名 3:模型版本回归测试

阶段:模型版本发布前评估

解决的问题:大模型训练团队在每次升级模型版本时,需要快速确认新版模型的知识能力没有回退。MMLU 准确率作为全行业的通用 KPI,被集成进 CI/CD 流水线中,作为模型发布前的自动检查关卡。

具体案例:某 AI 创业公司在每次训练出新版模型时,都会自动运行一套包含 MMLU、GSM8K、HumanEval 在内的标准评测集。在一次模型架构调整中,新版本在 MMLU 总分上提升了 1.2 个百分点,但在“经济学”这一学科上下降了 8 个百分点。团队及时发现了这一回退,定位到原因是训练数据配比失衡,迅速调整后重新训练,避免了带病发布。

Python 演示

python79 行
# -*- coding: utf-8 -*-"""MMLU 准确率计算演示程序"""import randomimport statistics  class MMULUEvaluator(object):    """模拟 MMLU 评测的简单评估器"""     def __init__(self, num_subjects=3, num_questions=10):        self.num_subjects = num_subjects        self.num_questions = num_questions        # 模拟模型:每个学科有不同的真实知识水平        self.true_scores = {}        # 每个学科的真实准确率基线        self.base_rates = {}        for subj_id in range(self.num_subjects):            self.base_rates[subj_id] = 0.3 + subj_id * 0.25            self.true_scores[subj_id] = []     def mock_answer_correct(self, subj_id):        """根据学科真实水平随机判断是否答对"""        return random.random() < self.base_rates[subj_id]     def evaluate(self, num_runs=1):        """在模拟数据集上评测,返回各学科准确率和总分"""        all_results = []        for run in range(num_runs):            correct_counts = [0] * self.num_subjects            total_counts = [0] * self.num_subjects            for q_index in range(self.num_questions):                subj_id = q_index % self.num_subjects                total_counts[subj_id] += 1                if self.mock_answer_correct(subj_id):                    correct_counts[subj_id] += 1            run_results = []            for subj_id in range(self.num_subjects):                accuracy = correct_counts[subj_id] / total_counts[subj_id]                run_results.append(accuracy)                self.true_scores[subj_id].append(accuracy)            all_results.append(sum(run_results) / self.num_subjects)        return all_results  def format_report(accuracies, num_questions):    """打印格式化评测报告"""    print("=== MMLU 模拟评测报告 ===")    print("总题数: %d" % num_questions)    for idx, value in enumerate(accuracies):        print("学科 %d 准确率: %.1f%%" % (idx + 1, value * 100))    overall = sum(accuracies) / len(accuracies)    print("总体准确率: %.1f%%" % (overall * 100))    return overall  def main():    random.seed(42)    print("启动 MMLU 准确率模拟评测")    evaluator = MMULUEvaluator(num_subjects=3, num_questions=36)     print("\n--- 单次评测结果 ---")    accuracies = evaluator.evaluate(num_runs=1)[0]    overall_acc = format_report(accuracies, 36)     print("\n--- 多次运行取均值(抗噪) ---")    results = evaluator.evaluate(num_runs=3)    mean_acc = statistics.mean(results)    print("3 次运行总体准确率: %.1f%%" % (mean_acc * 100))    # 输出各学科多次运行的均值为最终结论    final_subject = []    for subj_id in range(evaluator.num_subjects):        subject_mean = statistics.mean(evaluator.true_scores[subj_id][-3:])        final_subject.append(subject_mean)        print("学科 %d 平均准确率: %.1f%%" % (subj_id + 1, subject_mean * 100))    print("最终综合准确率: %.1f%%" % overall_acc)  if __name__ == "__main__":    main()
目的:本程序模拟了一个简化版 MMLU 评测流程:构建模拟学科与题目、执行答题判分、按学科聚合计算准确率,并演示多次运行取均值以降低随机波动。可扩展到真实数据集,只需将 mock_answer_correct 替换为真实模型推理与答案比对逻辑。
  1. random.seed(42)固定随机数种子,保证每次运行结果可复现
  2. MMULUEvaluator(num_subjects=3, num_questions=36)构造评测器,模拟 3 个学科共 36 道题
  3. self.base_rates[subj_id] = 0.3 + subj_id * 0.25为每个学科设定“真实水平”,模拟模型不同学科的强弱差异
  4. def mock_answer_correct(self, subj_id)根据该学科真实水平,以相应概率返回“是否答对”
  5. correct_counts[subj_id] += 1对答对的题目进行计数,这是计算准确率的基础
  6. accuracy = correct_counts[subj_id] / total_counts[subj_id]本学科准确率 = 答对数 / 该学科总题数
  7. sum(run_results) / self.num_subjects对学科准确率取平均,得到一次运行的综合准确率
  8. evaluator.evaluate(num_runs=3)连续运行三次,返回三次的总体准确率列表
  9. statistics.mean(evaluator.true_scores[subj_id][-3:])对各学科最近三次运行结果取平均,获得稳健的学科准确率

常见误区

误区看到模型在 MMLU 上得了 90% 的准确率,觉得这个模型什么问题都能解决,推理能力和人类专家一样强。

正解MMLU 是知识广度测试,不是推理能力测试。它选题目的是测试模型“知道多少”,而不是测试“推理多强”。一个模型可能因为训练数据中包含了类似题目而答对,但面对一个需要多步逻辑推理的新问题时可能表现不佳。就像背书厉害的学生未必会做需要灵活运用的题目。

为何常见:人们容易将“知道答案”与“聪明”混淆,因为对人类来说,知识通常是推理的基础,但模型的知识记忆与推理是相对独立的机制。

误区既然 MMLU 是测验,那 50% 以下就是不及格,模型毫无价值。

正解MMLU 是四选一,随机猜测的期望准确率是 25%——这才是真正的“零分线”。在很多学科上,一个完全不理解知识但能理解语言的模型的得分可能在 30%-50% 区间。如果模型得分低于 25%,反而要怀疑是不是模型输出格式问题导致大面积判错。因此正确参照系不是惯例的 60 分及格线,而是答题卡的“瞎猜胜率”。

为何常见:人类考试中 60 分及格深入人心,容易直接套用到 AI 评测上,忽略了随机基线这一评测特有的参照点。

误区都是 MMLU 分数,A 模型 82%,B 模型 80%,那 A 就是要比 B 强。

正解只有评测协议一致的分数才具有可比性。有的论文用 5-shot,有的用 0-shot;有的用 top_p=0.1 解码,有的用贪婪解码;有的用官方提示模板,有的用自定义模板。这些差异足以造成几个百分点的分数差。比较前必须确认双方的提示、示范数、解码参数是否一致,最稳妥的方法是自行复现评测。

为何常见:人们天然倾向于把量化的数字当作客观标准,而忽略了数字背后复杂的评测条件差异。

误区两个模型 MMLU 总分都是 85%,就认为它们的能力完全一样,可以随意替换使用。

正解总分是 57 个学科的平均,掩盖了学科间的巨大差异。模型 A 可能在 STEM 上得了 95%,人文社科只有 70%;模型 B 可能恰恰相反。总分相同但能力画像完全不同。选型时应结合业务需求看分学科得分,比如医疗问答应用就更应关注医学相关科目的得分。行业也常用雷达图展示分学科得分来形成能力“指纹”。

为何常见:单个数字最容易被记忆和比较,但模糊的归纳往往会掩盖有价值的细粒度信息。

误区MMLU 测试集不公开,所以模型训练时不可能学到测试题,分数一定可信。

正解虽然 MMLU 的测试集不公开,但网络上存在大量从各种渠道流出的题目副本。更关键的是,很多大模型的训练数据是用网络爬虫大规模收集的,根本无法保证其中完全不包含 MMLU 测试题。研究已发现某些模型的 MMLU 得分和训练数据中重合文本的比例高度相关。实践中常用“测试集按学科拆分后留出哨兵题”等方法来检测污染情况。

为何常见:人们容易高估数据保密的可靠性,低估网络数据的广泛传播能力,并且“测试集保密”是防止污染的必要不充分条件。

面试题

Q1. MMLU 基准包含多少个学科的多项选择题?

单选题 · easy

  • A.27个学科
  • B.57个学科← 正确答案
  • C.87个学科
  • D.100个学科

答案:B。MMLU 共涵盖 57 个学科,从人文学科到理工科再到专业领域。选其他数字都是对学科数量记忆不准确。理解学科覆盖面,是看懂 MMLU 分数的第一步。

Q2. MMLU 中纯随机猜测的期望准确率是多少?

单选题 · easy

  • A.25%← 正确答案
  • B.50%
  • C.75%
  • D.0%

答案:A。MMLU 是四选一题目,随机选择正确答案的概率是 1/4,即 25%。这是评测分数的“零分基线”,任何模型得分低于此都应首先检查输出格式是否存在问题。

Q3. 关于 MMLU 评测,以下哪些说法是正确的?

多选题 · mid

  • A.准确率=答对题数/总题数← 正确答案
  • B.少样本提示能帮助模型理解输出格式← 正确答案
  • C.模型得分越低说明推理能力越强
  • D.答案位置在数据集中均匀分布← 正确答案

答案:ABD。准确率公式为答对数除以总题数,少样本提示通过示范训练模型输出格式,答案位置均匀分布防止模型偏好作弊。得分越低说明能力越弱,C 完全相反。

Q4. MMLU 中评分时,模型需要输出什么形式才能得分?

单选题 · easy

  • A.完整的解题推理过程
  • B.单个正确答案字母(如 A、B、C、D)← 正确答案
  • C.问题重述
  • D.知识的文字解释

答案:B。MMLU 评分以模型输出的答案字母与标准答案直接比对,只输出完整句子或推理过程往往导致格式不匹配而被判错。这也是少样本提示要示范单个字母输出的原因。

Q5. 在 MMLU 评测中,5-shot 相比 0-shot 通常会带来怎样的效果?

单选题 · mid

  • A.准确率显著下降
  • B.准确率轻微提升← 正确答案
  • C.准确率完全不变
  • D.结果随机无法预测

答案:B。5-shot 提供了几个“题目-答案字母”的示范,让模型理解了预期输出格式,因此通常能提升准确率几个百分点,核心是减少了格式错误导致的误判。

Q6. 以下哪些因素会影响 MMLU 准确率分数?

多选题 · mid

  • A.提示模板的措辞← 正确答案
  • B.使用的示范数量← 正确答案
  • C.解码时的温度参数← 正确答案
  • D.训练模型的 GPU 品牌

答案:ABC。提示措辞、示范数量、解码随机性都会影响模型输出从而影响得分。GPU 品牌不影响模型推理结果。评测时必须固定这些条件才能保证分数可比。

Q7. 一个大模型在 MMLU 上得分为 92%,而人类大学学历平均水平约为 89%。这说明了什么?

单选题 · hard

  • A.模型已经全面超越人类智能
  • B.模型是“背过答案”不可信
  • C.该模型在这个测试维度上超过了人类平均,但不代表全面超越← 正确答案
  • D.MMLU 已无区分度完全失效

答案:C。MMLU 分数超过人类平均说明模型在“知识记忆+选项识别”这一特定评测维度上表现优异,但这不等于全面超越人类智能。推理、创造、交互等能力需要其他测试来评估。

Q8. 两个模型 MMLU 总分分别为 85% 和 84%,你如何判断谁是更好的模型?

单选题 · mid

  • A.85% 的模型肯定胜过 84% 的模型
  • B.必须确认评测协议一致后才能比较← 正确答案
  • C.总分高的模型训练成本一定更高
  • D.分数接近如直接按总分排出高下

答案:B。比较前必须先确认两模型是否在完全一致的评测协议下评测。如果 A 用 5-shot 而 B 用 0-shot,总分的 1% 差异无法说明能力差距。标准化后再比较才合理。

Q9. 关于 MMLU 数据污染问题,以下哪些说法正确?

多选题 · hard

  • A.测试集保密就能完全杜绝污染
  • B.网络爬取训练数据可能不慎包含测试题目← 正确答案
  • C.数据污染会导致模型分数虚高← 正确答案
  • D.数据污染仅影响小模型不影响大模型

答案:BC。测试集保密是必要手段但不是充分条件,网络传播的题目泄露仍造成污染风险。污染会让模型“背答案”取得虚高分数,对所有规模模型都可能产生影响。

Q10. 分学科分析 MMLU 分数的主要价值是什么?

单选题 · hard

  • A.方便和人类考试分数直接换算
  • B.用来判断模型总分的可靠性
  • C.可以定位模型在具体知识领域的强弱项← 正确答案
  • D.用来代替模型解码参数的调优

答案:C。分学科分析能生成模型能力“指纹”,定位特定领域(如法律、医学、物理)中的薄弱环节,为训练数据补强、微调方向提供依据,帮助工程师更有针对性地提升模型能力。