只测 3% 的题,就能还原模型评测结论?——评测集压缩的几种玩法
只测 3% 的题,就能还原模型评测结论?五种评测集压缩算法横向对比:从 K-Means 聚类到 EssenceBench 排名一致性,附团队实践与选型建议。
MetaBench 只保留不到 3% 的题目,重建出的总分 RMSE 只有 0.58%——1000 道题留 30 道,结论几乎不变。你信吗?
这就是 mini-data 压缩:与其每次都”从头跑到尾”跑全量评测,不如挑一小撮”代表性样本”,重建出接近全集的评测结论。这篇文章,把 5 种压缩算法一次讲透。
⏱️ 阅读时间:约 12 分钟
📋 读完你将了解
- 评测团队的全集评测效率痛点与压缩动机
- “选样信号 + 优化目标”两条轴定位所有压缩算法
- 各种压缩算法的核心思路、Pipeline、优势与局限
- 从”匹配统计量”到”优化排名一致性”的演进脉络
- 一个可迁移的 mini-data 构建范式,指导团队
前言
评测团队日常要面对一个很现实的问题:跑一次全集评测,周期太长、资源太贵。
随着评测集越做越大,一次完整的 Agent 评测往往要跑上几小时甚至几天,GPU 与 API 成本同步上涨。于是团队反复被同一个念头困扰:
有没有一种办法,能用一小撮”代表性样本”,在精度不损失太多的前提下,把评测效率提上去?
带着这个问题,我们先后做了两件内部实践——K-Means 聚类采样 与 Kernel Herding 贪心选点;同时调研了业内有代表性的方案——PPL 分层、MetaBench(IRT 蒸馏)、EssenceBench(遗传算法)。
这篇文章通过”实践 + 调研”,试图找到一套评测数据集压缩范式:让评测团队在不同场景诉求下,能快速判断该选哪一种压缩算法。
一、统一视角:两条轴定方向
所有评测集压缩算法,本质上都在回答两个问题:
- 用什么作为”选样信号”(特征)?
- 优化什么目标(把什么量逼近全集)?
我们就从这两个问题出发,拆解各种压缩算法的核心思路。
二、K-Means:基于全量评测结果的聚类采样(团队内部实践)
2.1 核心思路
对全集跑评测,把每个样本的”多模型得分向量”当作特征,用 K-Means 聚类找到”代表性样本”。
每个簇代表一类”难度/行为画像”,从每个簇中心取点即可近似全集的得分分布。
说人话就是: 用历史全集评测的得分做聚类,从每个”难度画像”簇里抽代表。
这样取子集易懂、可解释,但得先跑完全集评测。
2.2 Pipeline
2.3 关键特征
- 特征是评测结果本身:
score0, score1, ...(多个模型/指标在该样本上的得分)+difficulty标签。 - 每个样本被刻画为”哪些模型做对、哪些做错“的难度画像(difficulty profile)。
- 特征维度 = 评测矩阵中模型/指标的数量。
2.4 优势
- 特征与评测目标同源,保真链路最短:特征就是得分,优化”子集得分均值逼近全集”与”压缩后 accuracy 逼近全集”几乎是同一件事。
- 天然覆盖模型间分歧:多模型得分向量自动捕捉”一致简单 / 一致困难 / 模型分歧大”三类样本,对未见过的模型有一定泛化基础。
- 可解释性强:每个被选中样本都能说清”为什么”(它在某模型维度上有代表性),便于质量审计。
2.5 局限性
- 成本最高,且是”事后压缩”:必须先对全集跑完评测才有 metadata,而这笔全集评测成本恰是最想省掉的。它解决的是”重复评测成本”,不是”首次评测成本”。
- 特征不含”内容本身”:内容完全不同但难度相同的样本在得分空间中重合,K-Means 无法区分,导致内容覆盖度(coverage)缺失(如不同 repo/语言/技术栈的题可能同分但被挤掉)。
- 依赖”逐样本打分”前提:Agent 任务、多轮对话、轨迹类任务很难定义干净的 score 向量,需要人工特征工程,易引入主观偏差。
2.6 实践案例结果
我们使用 VBench 数据集 (appearance_style) 进行 mini-data 压缩实践,采用 均值对比图 来衡量压缩数据集和原始数据集的特征关系。
图中展示三个指标:
- Full Dataset:原始完整数据集的特征均值
- K-means Representative:代表性样本的特征均值
- Random:随机样本的特征均值
含义:
- 采样折线越接近原始数据集折线,说明样本保留原始数据特征越好
- 通常代表性样本会比随机样本更接近完整数据
- 可以直观比较两种抽样方法的优劣
三、Kernel Herding:末层隐藏状态 + MMD 最小化(团队内部实践)
K-Means 虽然直观好用,但它有个绕不开的前提:必须先跑完全集评测,才能拿到”得分向量”这份先验数据——而这笔全集评测,恰恰是我们最想省掉的成本。
于是团队自然追问:能不能不依赖”全集评测结果”这种昂贵先验,只靠样本本身的内容特征就把子集挑出来? 顺着这条思路,我们尝试了第二个方案——Kernel Herding。
3.1 核心思路
让模型先针对每个case做一次前向(仅输出2个token),目的是把每个样本”蒸馏”成特征模型最后一层隐藏状态的一个向量,在 RBF 核的再生核希尔伯特空间(RKHS)里,用贪心 Herding 选子集,使子集与全集的最大均值差异(MMD)最小化——即让子集在特征空间中的”分布重心”逼近全集。
说人话就是: 相当于模型做题前先快速审一遍题,用末层隐藏状态当题目分布坐标,贪心地让”子集重心”逼近”全集重心”,不用评测就能事前挑子集。
3.2 Pipeline
3.3 关键特征
- 特征是模型的内部表征:
hidden_state[last_layer][last_position],维度 = hidden_size(通常数千维)。 - 每样本只需一次前向(不跑完整生成、不跑评测)。
- 选择准则有闭式贪心:
score[i] = K_mean[i] - K_selected_sum[i]/(t+1),已选样本被 mask,天然排斥聚集。
3.4 优势
- 成本极低,是”事前压缩”:可在还没评测全集前挑好子集,直接砍掉首次评测成本——相对 K-Means 最本质的优势。
- 特征语义丰富,含内容多样性:末层隐藏状态蕴含模型对样本的语义理解,”相同难度、不同内容”的样本在隐藏空间可分,这是得分特征做不到的 coverage。
- 理论保证:RBF 是 characteristic kernel(MMD=0 ⇔ 分布相等),Herding 收敛 O(1/T),优于随机采样 O(1/√T)。
3.5 局限性
- 强依赖特征模型,跨模型泛化弱:挑题模型与被测模型不同架构/版本时特征空间不对齐,子集可能不代表被测模型视角;模型一换特征全变。
- 单点快照,只含”初读理解”:取的是首个 decode token 的隐藏状态,无法捕捉”推理链长度、中途易错点、多步依赖”这类完整推理中的难度。
- “分布接近”≠”难度分布接近”,链路间接:MMD 匹配的是隐藏状态分布,而评测指标是 accuracy。对临界样本(模型大概率答错但隐藏状态与答对样本接近)敏感,这类样本恰是评测最想保留的。
两个内部实践做下来,我们逐渐看清了各自的边界:K-Means 依赖”评测先验”,Kernel Herding 依赖”特征模型”——两者各有所长,也各有短板。
那么,业内同行是怎么解决这个问题的?我们把视野转向外部,按”由浅入深、由间接目标到直接目标”的顺序调研了三套方案:
四、基于 PPL 困惑度的压缩(业内优秀实践)
4.1 核心思路
用一个(通常较小/中等的)语言模型对每个样本计算困惑度 PPL(或 loss),把它当作样本难度/信息量的一维代理信号,再按这个信号做筛选或分层采样。
说人话就是: 给每道题打一个”难度分”,按难度分档,每档抽几条,让子集的难度分布和全集尽量一致。
4.2 Pipeline
4.3 关键特征
- 特征是一维标量:每样本一个 PPL / loss 值。
- 信号来源是小模型的前向,与”被测模型能力”无直接绑定。
- 信息压缩极端:几十 KB 的题目被压成一个数。
4.4 优势
- 极便宜:小模型前向、可 CPU、无需 GPU、无需全集评测,是所有方法中单位样本成本最低的一档。
- 可解释性强:PPL 高 = 模型不熟悉/难,直觉清晰。
- 与难度直接对齐:评测集压缩的一个重要目标是保留”难度分层”,PPL 是这一目标最直接的代理。
4.5 局限性
- 一维丢信息,内容覆盖缺失:只保留难度、不保留语义,同难度不同内容的样本无法区分。
- “难度”≠”区分度”:评测最终关心的是区分模型排名的样本,而 PPL 只刻画”对某个小模型难不难”;一个对所有模型都难/都易的样本,PPL 分层无法识别它是”无用样本”。
- 对多轮/Agent 失效:单 prompt 的 PPL 无法表征多步交互与工具调用轨迹的复杂度。
五、MetaBench:基于 IRT 的稀疏基准蒸馏(业内优秀实践)
论文地址:arXiv:2407.12844(ICLR 2025)
PPL 的思路很轻,但一维标量丢掉的信息太多:它只知道”难不难”,却不知道”能不能区分模型”。MetaBench 反其道而行——把整张”模型 × 题目”作答矩阵当作输入,用统计方法从里面榨出每条题目的信息量。
5.1 核心思路
把 benchmark 当作心理测量工具,用项目反应理论(IRT)/ 因子分析视角压缩:从海量模型的作答矩阵中估计每条 item 的”信息量 / 区分度”,只保留最 informative 的 item,并输出潜在能力的估计量(而非单纯分数)。
说人话就是: 手里有海量模型的答题记录,统计出”哪些题最能拉开模型差距”,只留这些题,顺便还能给每个模型一个能力分。
5.2 Pipeline
5.3 关键特征
- 特征是大规模二元作答矩阵(模型 × item 的 0/1 矩阵)。
- 输出不是”子集得分”,而是潜在能力的估计量,并带一个公共因子(与总分 Spearman r=0.94)。
- 统计模型明确:IRT 的难度/区分度参数即选样依据。
5.4 优势
- 统计严谨、有测量学理论:IRT 是成熟框架,”信息量最大化”有明确的最优性含义。
- 压缩率极高:< 3% 体积即可重建分数(总分 RMSE 0.58%),远超一般方法。
- 能提取跨 benchmark 共性:单一公共因子说明它抓住了”通用能力”这个潜在变量,适合做跨任务的统一度量。
5.5 局限性
- 数据门槛极高:需要 n > 5000 个模型的历史作答,这是绝大多数团队无法复现的前提(本质是”用海量历史数据换压缩”)。
- 依赖 IRT 假设:单维能力、局部独立性、单调性等假设在真实 benchmark(多能力混杂、题目相关)上未必成立,违反假设会带来估计偏差。
- 对开放式/多轮/Agent 不适用:IRT 天然适合二元/有序作答,开放式生成与轨迹类任务难建模。
六、EssenceBench:粗到细 + 遗传算法的排名一致性压缩(业内优秀实践)
论文地址:arXiv:2510.10457(ICLR 2026)
MetaBench 很严谨,但它优化的是”信息量 / 能力重建”——这仍是评测的间接目标。EssenceBench 把话说得更直接:评测最终要的是模型排名,那就干脆把”排名一致性”当成目标函数来优化。
6.1 核心思路
把 benchmark 压缩显式建模成分数重建的优化问题——目标是让子集重建出的分数与全集分数一致、且模型排名保持一致,再用”粗到细 + 迭代遗传算法(GA)”搜索最优子集。
说人话就是: 把”排名不变”当成目标函数,让遗传算法自动去搜一个最小子集,纯 CPU 就能跑。
6.2 Pipeline
6.3 关键特征
- 目标函数最贴近评测的最终用途:直接优化”排名一致性(ranking consistency)”与重建误差,而非分布/难度等间接量。
- 采用进化搜索(GA:rounds、gens 超参)求解组合优化,粗到细降低搜索空间。
- 效果:HellaSwag(10K 条)用 25× 更少样本保持所有模型排名位移 ≤ 5%;200× 更少样本仍保持 95% 模型排名位移 ≤ 5%。
6.4 优势
- 优化目标正确:排名一致性是评测最关心的指标,直接优化它比”匹配分布”更有效。
- 压缩率极高:200× 级别,且效率高。
- 纯 CPU 可跑:不依赖 GPU,部署门槛低。
6.5 局限性
- 监督式、事后压缩:需要一批参考模型在全集上的真实得分作为适应度信号,无法”事前”在评测前挑子集。
- 遗传算法有随机性与超参:
rounds、gens等需调参,结果可能非确定性、需要多 seed 验证。 - 可能过拟合到参考模型集合:优化的排名一致性是针对”那批参考模型”的,换一批模型排名可能漂移。
七、五种算法横向对比
| 维度 | K-Means | Kernel Herding | PPL | MetaBench | EssenceBench |
|---|---|---|---|---|---|
| 选样信号 | 多模型得分向量 | 末层隐藏状态 | 一维 PPL 标量 | 大规模作答矩阵 | 得分 + 归因 |
| 优化目标 | 得分分布匹配 | MMD 分布匹配 | 难度分层 | IRT 信息量/能力重建 | 分数重建 + 排名一致性 |
| 时点 | 事后 | 事前 | 事前 | 事后 | 事后 |
| 前置代价 | 全集评测 | 一次前向 | 小模型前向 | 5000+ 模型历史数据 | 参考模型得分 |
| 是否需要 GPU | 否(评测另算) | 是 | 否 | 否 | 否(纯 CPU) |
| 理论保证 | 无 | MMD O(1/T) | 无 | IRT 测量学 | 无(经验优化) |
| 内容覆盖 | 弱 | 强 | 弱 | 中 | 中 |
| 难度对齐 | 显式可控 | 隐式 | 直接 | 间接(区分度) | 间接(排名) |
| 可解释性 | 强 | 中 | 强 | 强 | 弱 |
| 压缩率上限 | 中(10%~20%) | 中 | 中 | 极高(<3%) | 极高(200×) |
八、怎么选?一张速查表
| 你的场景 | 首选算法 |
|---|---|
| 预算极紧、想快速初筛 | PPL |
| 有特征模型、想事前压缩 | Kernel Herding |
| 已有历史评测得分、要可解释 | K-Means |
| 有海量历史作答、要极致压缩 | MetaBench |
| 有参考模型得分、只认排名一致性 | EssenceBench |
一句话心法:先看你手里有什么先验,再看你最终要优化什么。
九、小结:通往 mini-data 构建范式
从五种算法中可以提炼三个关键洞察:
目标函数比特征更重要: K-Means 和 Herding 都在”匹配一个统计量”,而 EssenceBench 直接优化”排名一致性”效果更好——优化什么,比用什么特征优化,更接近问题本质。
- 代价结构是分层的,可以组合: 按成本从低到高排列——PPL(小模型前向)→ Herding(一次前向)→ K-Means / EssenceBench(需全集评测)→ MetaBench(需海量历史数据)。一个自然的范式是分阶段流水线:
- 粗筛(便宜信号:PPL / 隐藏状态)→ 砍掉明显冗余;
- 精筛(贵信号 / 正确目标:排名一致性、得分重建)→ 在候选集上优化;
- 校准(小规模评测回环)→ 用少量真实得分校正子集的偏差。
- 没有万能算法,只有前提匹配: 算法选择取决于你手里有什么先验,”mini-data 范式”的核心,是把”可用先验”和”评测最终目标”正确配对。
- 有历史评测结果 → K-Means / EssenceBench
- 有特征模型 → Herding
- 只有 CPU 和小模型 → PPL
- 有海量历史模型数据 → MetaBench。
写在最后
评测集压缩这件事,表面上是”省算力”,本质上是在回答一个更根本的问题:一个评测集里,哪些样本真正携带了”区分模型”的信息?
五种算法给了五种答案——得分向量、隐藏状态、困惑度、作答矩阵、排名一致性。它们之间没有绝对优劣,只有前提是否匹配。
把”可用先验”与”评测最终目标”正确配对,才是 mini-data 构建范式的核心。
最后留个问题:各位的团队进行评测时,最缺的是”更便宜”还是”更准”?你会优先试哪种压缩算法? 欢迎在评论区交流。





