想象一所学校的期末统考,考题覆盖 57 门学科。有几位平时成绩平平的学生,这次却几乎满分,甚至能把某道题的答案一字不差地默写出来。监考的李老师心里打了个问号:他们是真学会了,还是早就见过试卷?他翻开这几个学生的练习册,果然在角落里发现了和考卷一模一样的题目——练习册里混进了考卷。 这正是大模型评测领域最头疼的问题:数据污染。MMLU 就像一个横跨 57 个学科的“期末统考”,用来检验大模型的知识水平。如果模型的训练语料(相当于练习册)中恰好混入了 MMLU 测试题,模型就能靠“背答案”蒙混过关,拿到虚高的分数。污染检测,就是李老师的一套“抓作弊取证”手段:从字面对比、语义分析到行为试探,一步步拆穿“背答案”的伪装,让评测分数真正反映模型的能力。

岗位关联

对 AI 从业者来说,污染检测是模型对比、论文发表和技术选型的“诚信底线”。读懂它,你才能分辨排行榜上哪些分数值得参考,哪些只是“背答案”的幻象。

目录
  1. 可视化演示
  2. 污染定义:练习册里混进了考卷
  3. 污染危害:背答案的尖子生
  4. 字符串匹配:字面照抄现原形
  5. 语义相似度:改头换面也难逃
  6. 成员推理:行为试探抓破绽
  7. 净化防线:把考卷从练习册里抽走
  8. 评测公信:让分数经得起复查
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

展示三种污染检测方法(字符串匹配、语义相似度、成员推断)的对比,以及污染对评测准确率的影响分析。

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

三种污染检测方法 字符串匹配:逐字对比测试题与训练语料,精确但只能发现直接抄袭 语义相似度:嵌入向量余弦相似度,发现改写和翻译式隐性污染 成员推断:观察模型置信度与损失分布,判断是否曾出现在训练集 Contam = Detected / Total 三种方法互补覆盖不同污染类型

污染定义:练习册里混进了考卷

临考前一天,李老师抽查学生的练习册。翻到小林那本时,他愣住了——练习册的最后几页,竟然夹着和明天期末考卷一模一样的内容,连标点都没改。练习册是平时训练用的,考卷是期末测评用的,两样东西本该井水不犯河水。当它们混在一起,这场考试从一开始就失去了意义。

在 AI 领域,MMLU 的角色就是那场“期末统考”——它用 57 个学科的选择题考察大模型的知识广度。模型在学习阶段读过的海量文本(训练语料)就是“练习册”。问题在于,训练语料是从互联网上大规模抓取的,MMLU 的很多题目本身也来自公开网络。两者一旦“同源”,测试题就悄悄混进了练习册,这就是所谓的数据污染。

判断污染严不严重,学界最常用的量化指标是污染率:统计训练语料中与测试题重叠的题目数量,除以测试集总题数。这个比例越高,模型靠记忆作答的空间就越大。

李老师把那几张“夹带”的纸抽出来,对着灯光看了看,心里有了数:只要练习册里混进哪怕一道考卷题,考试的天平就歪了。对评测者来说,污染率就是那束“检查的光”,照出夹带物的多少。

R=NleakNtest\displaystyle R = \frac{N_{leak}}{N_{test}}
通俗地说:污染率就是练习册里“夹带考卷”的比例,0 表示完全干净,1 表示整本练习册都是答案。
  1. 清点泄漏样本训练语料中与 MMLU 测试题出现重叠的题目数量,这是污染检测首先要清点的“夹带物”。
    NleakN_{leak}
  2. 确认测试规模MMLU 测试集的总题数,作为衡量污染严重程度的基准尺度。
    NtestN_{test}
  3. 归一化求比例两者相除得到 0 到 1 之间的污染率,数值越大说明泄露越严重,背答案的空间越大。
    R=NleakNtestR = \frac{N_{leak}}{N_{test}}

污染危害:背答案的尖子生

成绩公布那天,班里炸开了锅——平时成绩中游的小林竟然考了年级第一,把真正刻苦的班长挤出了奖学金名单。李老师知道,这不是小林变聪明了,而是“背答案”带来的虚高。更麻烦的是,其他同学看到后也想着去弄答案,整个班的风气都坏了。

模型评测世界同样如此。一个训练数据被污染的模型,在 MMLU 上的分数可能虚高好几个百分点,登上排行榜前列。论文作者拿它和其他模型对比,得出“这个架构更优”的结论;产品经理看了之后选型,把希望寄托在一个“背答案”的模型上——技术路线就这样被悄悄带偏。

为了把“水分”挤出来,研究者定义了一个直观的指标:虚高分差,即受污染模型与干净模型在同一测试集上的准确率之差。如果差值明显,说明高分主要来自记忆,而不是能力。

李老师最后当着全班的面撕掉了小林的“幸运答题卡”,重新组织补考。他明白:如果纵容一次作弊,未来每一次考试的含金量都会被打上问号。评测的公平性,正是靠对污染的零容忍换来的。

Δ=Apolluted−Aclean\displaystyle \Delta = A_{polluted} - A_{clean}
通俗地说:这个差值就是“背答案”带来的虚假优势,差值越大,水分越多。
  1. 读取污染模型分数训练语料被污染的模型在 MMLU 上的准确率,就像背了答案的小林考出的高分。
    ApollutedA_{polluted}
  2. 读取干净模型分数在相同测试集上、训练语料干净的模型的准确率,代表真实水平。
    AcleanA_{clean}
  3. 相减得水分两者之差就是污染带来的虚高部分,差值越大,说明分数越不可信。
    Δ=Apolluted−Aclean\Delta = A_{polluted} - A_{clean}

字符串匹配:字面照抄现原形

要抓作弊,最笨也最直接的办法,就是把学生作业和标准答案逐字比对。李老师发现小林作业本上有一道题的答案,竟然和标准答案一字不差,连“巴黎”前面的空格都一样。这种“照抄”最容易被抓个正着。

在污染检测里,这类方法统称字符串匹配。最简单的是精确匹配——如果训练样本和测试题完全相同,直接命中。但现实中更常见的是部分重叠,于是研究者把文本切成连续 n 个单词的片段(n-gram),统计两边片段的重复程度,再用 Dice 系数打分。

Dice 系数把重复片段数归一化到 0 到 1:1 表示完全重合,0 表示毫无重叠。数值越高,说明训练文本和测试题在字面上越“亲密”,污染嫌疑越大。

但小林显然不会傻到一直照抄。补考时,他开始把答案“换句话”写出来。李老师看着那些改写过的句子直皱眉:字面完全对不上,可意思怎么看都像标准答案。要抓住这种“聪明”的作弊,得换一种“读得懂意思”的检测方法。

S=2×∣Gtrain∩Gtest∣∣Gtrain∣+∣Gtest∣\displaystyle S = \frac{2 \times |G_{train} \cap G_{test}|}{|G_{train}| + |G_{test}|}
通俗地说:就像把两份作业各切成许多小纸片,数一数有多少小纸片一模一样,重合越多越可疑。
  1. 准备训练片段集合把训练文本切成 n 个连续单词的片段,得到集合 G_train,相当于把所有作业切成纸片。
    GtrainG_{train}
  2. 准备测试片段集合对 MMLU 测试题做同样的切分,得到 G_test,相当于把标准答案也切成纸片。
    GtestG_{test}
  3. 数出重合纸片取两边片段的交集,统计共同出现的片段数量,再乘以 2 作为分子。
    2×∣Gtrain∩Gtest∣2 \times |G_{train} \cap G_{test}|
  4. 归一化打分除以两边片段总数之和,得到 0 到 1 的重叠率,越高越像“照抄”。
    S=2×∣Gtrain∩Gtest∣∣Gtrain∣+∣Gtest∣S = \frac{2 \times |G_{train} \cap G_{test}|}{|G_{train}| + |G_{test}|}

语义相似度:改头换面也难逃

补考卷子上,“法国的首都是巴黎”被小林写成了“巴黎是法国的头号大城市”。字面一个都对不上,可李老师一眼就看出:这就是标准答案的换皮。阅卷人读的是“意思”,不是“字面”。

在 AI 检测中,“读懂意思”靠的是语义相似度。具体做法是:把训练文本和测试题分别送进一个文本编码器,得到两个高维向量 u 和 v。向量在空间里的方向代表语义——意思越接近,方向越靠近。两者之间的夹角用余弦相似度来度量,取值越接近 1,语义越相近。

实际操作中,研究者会设定一个阈值(比如 0.8):超过阈值就判定为疑似污染。这套方法能有效识别改写、同义替换,甚至一定程度上的翻译式泄露。

不过李老师也发现,语义相似度有个软肋:如果学生把答案翻译成另一门语言,编码器给出的向量也会“跑偏”,相似度下降。字面匹配和语义匹配各有盲区,要是学生刻意伪装呢?李老师决定来一场“现场试探”——这便引出了成员推理。

cos⁡(u,v)=u⋅v∥u∥∥v∥\displaystyle \cos(u, v) = \frac{u \cdot v}{\lVert u \rVert \lVert v \rVert}
通俗地说:两个向量就像两条从原点射出的箭,方向越接近(夹角越小),说明两句话的意思越像。
  1. 获得语义向量把训练文本和测试题分别编码为高维向量 u 和 v,相当于把句子翻译成数学坐标。
    u, vu,\ v
  2. 计算点积两个向量逐维相乘再求和,得到 u·v,表示两句话在语义方向上的“共鸣”程度。
    u⋅vu \cdot v
  3. 长度归一化用两个向量模长的乘积做分母,消除文本长度带来的偏差。
    ∥u∥∥v∥\lVert u \rVert \lVert v \rVert
  4. 得到余弦值整个式子计算出 -1 到 1 之间的相似度,越接近 1 越像同一个意思。
    cos⁡(u,v)=u⋅v∥u∥∥v∥\cos(u, v) = \frac{u \cdot v}{\lVert u \rVert \lVert v \rVert}

成员推理:行为试探抓破绽

李老师不再看作业本了。他走进考场,拿出几道和小林平时练习风格很像的新题,让他当场做。小林对这些题目的反应速度快得异常,笔尖不带停顿,正确率也高得离谱。李老师心里有数了:只有“见过同类题”的人,才会有这种肌肉记忆般的自信。

成员推理正是利用了这个规律:模型对训练中“见过”的内容,往往输出更自信、更稳定、更准确。检测者构造一批与测试题同分布的探针样本,让模型作答,再把模型在这些样本上的表现与统计预期对比,找出统计上显著的偏移。

量化这种偏移常用 z 分数:把模型在探针样本上的平均表现和正常基线的期望之差,除以标准误。z 的绝对值越大,说明模型的行为越异常,被污染的可能性越高。

这套方法最妙的地方在于:它不需要翻看模型的训练语料(那是黑盒),只需要观察模型的行为。就像李老师不看练习册,只凭考场上的反应就能锁定嫌疑人。不过,抓住作弊之后,更重要的是让作弊不再发生。

z=xˉ−μσ/n\displaystyle z = \frac{\bar{x} - \mu}{\sigma / \sqrt{n}}
通俗地说:z 分数衡量的是“这个考生的表现偏离正常考生有多远”,偏离得越夸张越可疑。
  1. 观察平均表现模型在探针样本上的平均表现 x̄,就像小林在同类新题上的平均正确率。
    xˉ\bar{x}
  2. 确定正常预期干净模型在同类题目上的期望表现 μ,相当于正常考生的平均水平。
    μ\mu
  3. 计算标准误σ 除以根号 n,表示统计上的波动幅度,衡量“正常范围”有多宽。
    σ/n\sigma / \sqrt{n}
  4. 求 z 分数偏离量除以波动幅度,得到标准化的可疑指数,越大越异常。
    z=xˉ−μσ/nz = \frac{\bar{x} - \mu}{\sigma / \sqrt{n}}

净化防线:把考卷从练习册里抽走

期末考试结束后,李老师做的第一件事,是重新整理下一学期的练习册。他把所有可能和考卷重复的题目挑出来销毁,还和出题组的老师约定:以后每次考试都临时出新题,不提前印刷。他要让“练习册里有考卷”这件事,从源头上绝迹。

对应到 AI 工程,这套防线叫数据集净化。训练开始前,用字符串匹配和语义相似度扫描整个语料库,剔除与测试集重叠的样本;同时发展动态基准——像“临场出题”一样不断更新测试题;再配合独立私有验证集,让模型没机会“提前认识”考题。

即便做了净化,也不敢保证 100% 干净。研究者会用校正分数给最终分数“挤水”——将公开分数乘以(1 − 污染率),得到一个更保守、更可信的估计。

李老师把净化流程写成了规章制度,贴在教研室墙上。他知道,再严密的防线也可能有漏网的夹带,但只要制度透明、可执行,大家就会认可考试的公平性。这,正是评测公信力的来源。

A^=Areported×(1−Rcontam)\displaystyle \hat{A} = A_{reported} \times (1 - R_{contam})
通俗地说:即使练习册已经清理过,也要假设还有少量漏网的夹带物,把分数打个折扣才敢对外公布。
  1. 读取公开分数模型对外报告的 MMLU 准确率,是“未打折”的原始成绩。
    AreportedA_{reported}
  2. 估算残余污染R_contam 是经过检测估计出的污染比例,代表可能残留的“夹带物”。
    RcontamR_{contam}
  3. 折算可信比例用 1 减去污染率,得到“可信部分”的权重。
    1−Rcontam1 - R_{contam}
  4. 相乘得校正分原始分数乘以可信权重,得到挤掉水分后的校正分数。
    A^=Areported×(1−Rcontam)\hat{A} = A_{reported} \times (1 - R_{contam})

评测公信:让分数经得起复查

第二个学期,李老师把“防夹带方案”公开贴在布告栏上:练习册入库前的净化工序、考卷的密封与临时印刷、考后的抽检复核……家长们看完纷纷点头,没人再质疑成绩单上的名次。公信力不是靠嗓门,而是靠看得见的流程。

大模型评测同理。一个可信的基准,必须在发布结果的同时公开污染检测报告:检测用了哪些方法、检出多少重叠样本、污染率是多少、分数如何校正。这样排行榜上的每个数字都经得起社区复查,模型的对比才有意义。

研究者甚至定义了评测可信度系数,把“最严重污染模型的污染率”从基准分数中扣除,得到整体可信度。它提醒所有人:评测的可信度,取决于最薄弱的那个环节。

一年后的总结会上,李老师宣布:这学期没有任何一起作弊事件,全班的成绩单终于可以挺起胸膛。MMLU 污染检测要做的,正是同样的事——让每一次“高分”都经得起推敲,让 AI 社区能放心地用分数衡量进步。

C=1−max⁡m∈MRcontam(m)\displaystyle C = 1 - \max_{m \in M} R_{contam}(m)
通俗地说:一桶水能装多满,取决于最短板的那块木板——评测的可信度取决于污染最严重的那个模型。
  1. 列出参评模型集M 表示参与评测的全部模型,逐一为每个模型做污染检测。
    M={m1,m2,…,mk}M = \{m_1, m_2, \dots, m_k\}
  2. 测量单个模型污染率对每个模型 m 估计其污染比例,数值越高越可疑。
    Rcontam(m)R_{contam}(m)
  3. 找出最坏情况取所有模型中最大的污染率,代表这个基准最脏的一面。
    max⁡m∈MRcontam(m)\max_{m \in M} R_{contam}(m)
  4. 折算整体可信度用 1 减去最坏污染率,得到 0 到 1 的可信系数,越接近 1 越值得信赖。
    C=1−max⁡m∈MRcontam(m)C = 1 - \max_{m \in M} R_{contam}(m)

AI 应用场景

论文投稿前的“体检报告”

阶段:数据准备与模型评测阶段

解决的问题:训练语料来自网络爬虫,作者无法保证 MMLU 测试题没有混入。传统做法是“默认干净”,容易被审稿人质疑;污染检测把隐藏风险变成可量化的证据,让论文结论站得住脚。

具体案例:某 NLP 实验室在 arXiv 发布 70 亿参数模型之前,对 1.2TB 预训练语料跑了 minhash 去重和 13-gram 重叠扫描,发现 0.02% 的片段与 MMLU 测试集重叠。团队随即在论文中公开净化流程和校正后的分数,审稿人与社区都认可了这份透明。

开源模型排行榜的“守门员”

阶段:模型发布与社区评估阶段

解决的问题:榜单上的分数被“刷榜”污染后,下游用户选型会被误导。传统人工抽检无法覆盖海量提交,污染检测流水线可以自动拦截可疑模型。

具体案例:主流的开源模型排行榜会在每个模型卡上标注 contamination 字段。当成员推理信号异常时,模型会被打上“疑似污染”徽章,用户即可绕开这个分数做决策,避免选型踩坑。

企业私有评测集的“防洪堤”

阶段:上线前评测与合规风控

解决的问题:企业内部用私有数据集评估客服大模型,但这些数据可能来自历史工单,训练时已经被模型“见过”,导致上线效果远低于内测分数。

具体案例:某电商公司构建业务评测集后,用成员推理对候选模型做了一轮探针测试,发现 12% 的评测样本曾在训练阶段出现过。团队随即重建私有验证集,重新评估后准确率下降了 5 个百分点,却换来上线后真实用户满意度的提升。

Python 演示

python40 行
# -*- coding: utf-8 -*-"""用 n-gram 重叠检测 MMLU 测试题是否混入训练文本"""from collections import Counter  def tokenize(text):    """把文本切成小写单词列表,去掉常见标点"""    for ch in ',.?;:!':        text = text.replace(ch, ' ')    return text.lower().split()  def ngrams(tokens, n=3):    """生成连续的 n 元单词片段"""    return [' '.join(tokens[i:i + n]) for i in range(len(tokens) - n + 1)]  def ngram_overlap(train_text, test_text, n=3):    """计算训练文本与测试文本的 Dice n-gram 重叠率"""    train_grams = Counter(ngrams(tokenize(train_text), n))    test_grams = Counter(ngrams(tokenize(test_text), n))    common = sum((train_grams & test_grams).values())    total = sum(train_grams.values()) + sum(test_grams.values())    return 2.0 * common / total if total else 0.0  def detect_contamination(train_text, test_text, threshold=0.15):    """重叠率超过阈值则判定为疑似污染样本"""    score = ngram_overlap(train_text, test_text)    return score >= threshold, score  if __name__ == '__main__':    test_q = 'What is the capital of France? Paris is the largest city in France.'    clean = 'France is a country in Europe. Its cuisine and culture are world famous.'    leaked = 'What is the capital of France? Paris is the largest city in France. The Seine flows there.'     for name, text in [('干净样本', clean), ('污染样本', leaked)]:        flag, score = detect_contamination(text, test_q)        print('%s 重叠率=%.3f 疑似污染=%s' % (name, score, flag))
目的:用 Dice n-gram 重叠率判断一条训练文本是否疑似夹带了 MMLU 测试题,输出“干净 / 污染”的判别结果。
  1. from collections import Counter引入计数器,方便统计 n-gram 片段出现次数并求交集
  2. def tokenize(text)统一小写并去掉常见标点,避免标点干扰片段匹配
  3. def ngrams(tokens, n=3)把单词序列切成连续三元组,这是“逐字比对”的最小捕快单位
  4. common = sum((train_grams & test_grams).values())用 Counter 交集统计两边共有片段的总数
  5. return 2.0 * common / total if total else 0.0套用 Dice 系数归一化到 [0,1],总数为 0 时返回 0
  6. def detect_contamination(...)工程入口:给定阈值,输出“是否污染”和对应分数
  7. if __name__ == '__main__':直接运行脚本演示两个样本从干净到污染的判别结果

常见误区

误区我觉得污染检测很简单,把训练数据和测试题逐字对比,一样就说明污染了。模型只要背了答案,肯定能检测出来。

正解字符串匹配只能抓住“照抄”级别的泄露,而模型会从语义层面记住题目,用户也会对题目做改写、翻译,甚至把题目嵌在无关上下文中。就像李老师只比作业本,抓不到“换句话写”的小林。需要结合语义相似度和成员推理交叉验证,才能覆盖更多作弊手段。

为何常见:查重是大家最熟悉的手段,“一字不差”的证据最直观,容易让人忽略模型泛化记忆的隐蔽性。

误区排行榜上那些 90 分的模型,肯定都是污染了,真实能力哪有这么强。

正解高分也可能来自真实能力提升,比如更大的参数量、更好的训练数据、更强的推理算法。污染检测提供的是“可疑度”证据,必须结合检出的重叠样本、污染覆盖率以及多个模型的表现分布综合判断,不能唯分数论。就像小林考了第一,也要先复查卷面才能定罪。

为何常见:自媒体喜欢用“作弊”吸引眼球,且高分异常确实容易触发人脑的因果联想。

误区我们用的是公开网络语料,没有任何人工添加,所以不会有数据污染。

正解MMLU 测试题本身来自公开网络(如考试真题、百科等),完全可能被 Common Crawl 等爬虫收录。不主动做污染检测,等于默认风险。李老师也不会因为练习册是正规出版社印的就放松检查——来源正规不等于内容干净。

为何常见:人们倾向于相信“公开即安全”,没意识到训练集和测试集可能同源。

误区只要检出一丁点重叠,这个模型的评测结果就是脏的,分数应该作废重来。

正解实际工程中会先量化污染覆盖率再决定处理方式。极低比例的重叠(如 0.01%)可以净化后重测;比例较高才需要作废或打上污染标记,并公开披露校正后的分数。考场上一张小纸条和有半本答案的作弊,处理方式自然不同。

为何常见:非黑即白的判断更容易执行,符合“作弊零容忍”的道德直觉,但缺少工程上的灰度思维。

面试题

Q1. MMLU 评测中“数据污染”指的是?

单选题 · easy

  • A.训练数据规模严重不足
  • B.测试集包含太多生僻知识
  • C.训练语料混入了测试集题目← 正确答案
  • D.模型参数规模设置得过大

答案:C。数据污染的本质是训练与测试“同源”,就像练习册里混进了考卷。A 是数据量问题,B 是难度问题,D 是模型容量问题,都与“训练集和测试集重叠”无关。

Q2. 数据污染最直接的危害是?

单选题 · easy

  • A.导致模型训练速度显著变慢
  • B.让评测分数虚高失去参考价值← 正确答案
  • C.使模型无法生成完整回答
  • D.让测试集题目数量变少

答案:B。污染让模型靠记忆作答,分数虚高,好比背答案的学生考出满分却不会真知识。A/C/D 分别是训练效率、生成能力、测试集规模问题,不是污染的直接后果。

Q3. 字符串匹配检测方法的主要缺陷是?

单选题 · mid

  • A.匹配过程计算开销过大
  • B.只能处理英文训练文本
  • C.难以识别改写后的相似内容← 正确答案
  • D.必须依赖人工标注样本

答案:C。字符串匹配“认死字”:改写、同义替换后字面不同就漏报。就像只看作业本逐字比对,抓不到“换句话写”的聪明作弊。A 的计算开销并非主要问题,B/D 与事实不符。

Q4. 语义相似度检测通常采用什么方式?

单选题 · mid

  • A.比较两段文本的字符数量
  • B.统计文本中关键词的次数
  • C.将文本映射为向量计算余弦值← 正确答案
  • D.直接对比文本的哈希值

答案:C。语义检测先把文本编码成向量,再算余弦相似度,衡量“意思”的接近程度,相当于阅卷人读懂内容。A/B 停留在表面统计,D 的哈希对微小改动极敏感,都不符合语义检测思路。

Q5. 下列哪些属于 MMLU 污染检测的方法?

多选题 · mid

  • A.扩大测试集题目的数量
  • B.字符串匹配与 n-gram 重叠分析← 正确答案
  • C.语义嵌入向量的相似度计算← 正确答案
  • D.基于成员推理的行为探测← 正确答案

答案:BCD。字符串匹配、语义相似度、成员推理是三类经典污染检测手段,分别对应“照抄”“改写”“行为异常”。A 是扩大评测规模,并不能用来检测污染。

Q6. 成员推理检测污染的核心假设是?

单选题 · mid

  • A.模型对见过的样本输出有统计差异← 正确答案
  • B.模型可以主动报告训练数据来源
  • C.模型对每道题的回答时间相同
  • D.模型无法记住训练中的信息

答案:A。成员推理不依赖训练语料,只观察行为:模型对“见过”的内容更自信、更稳定,像考场上一眼认出熟题的学生。B 依赖模型自述不可靠,C/D 违背基本假设。

Q7. 数据集净化最核心的目标是?

单选题 · hard

  • A.让训练语料的体积增加一倍
  • B.提高模型在单项学科上的得分
  • C.剔除训练语料中与测试集重叠的内容← 正确答案
  • D.减少模型推理时的显存占用

答案:C。净化就是“考前清理练习册”:把与测试集重叠的样本从训练语料中剔除,从源头防止背答案。A/D 与评测数据质量无关,B 是结果而非目标。

Q8. 治理评测数据污染的可靠策略有哪些?

多选题 · hard

  • A.训练前净化语料剔除已知测试题← 正确答案
  • B.采用动态生成的全新测试基准← 正确答案
  • C.保留独立私有的验证测试集← 正确答案
  • D.增加每道测试题的文本长度

答案:ABC。净化语料、动态基准、私有验证集构成“三道防线”,分别对应事前清理、事中换题、事后兜底。D 只是改变题目形态,不能解决重叠问题。

Q9. MMLU 基准覆盖的学科规模约为?

单选题 · easy

  • A.57 个学科的知识问答任务← 正确答案
  • B.仅数学与编程两类题目
  • C.十个左右的主流学科
  • D.全部来自维基百科词条

答案:A。MMLU 横跨人文、社科、理工、医学等 57 个学科,相当于一场学科齐全的“期末统考”。B/C 低估了覆盖面,D 的来源描述不准确。

Q10. 关于污染检测结果的可信度判断?

单选题 · extreme

  • A.需多方法交叉验证并量化污染率← 正确答案
  • B.字符串匹配结果百分之百可靠
  • C.检测到高分即可断定模型作弊
  • D.采样少量题目即可得出全局结论

答案:A。单一方法有盲区——改写骗过字符匹配,翻译骗过语义向量;高分也可能来自真实能力。可信的结论需要多方法交叉验证,并公开污染率供社区复核,就像李老师同时查作业、读意思、进考场试探。B/C 过于绝对,D 忽视统计显著性。