Accuracy and Order Sensitivity Diverge Under Label-Free Strategies
Karl Hanna, Chen Feng
cs.CL, cs.AI
2026-08-12
在 6 模型×2 benchmark 上系统测两种去标签策略:两段式 12 对里 11 对掉分,瓶颈在第一段藏选项而非匹配;消除位置偏置不等于提分,循环排列反而各 5/6 模型上涨。
选择题 benchmark 的分数混着两样东西:模型会不会这道题,以及模型对选项排列顺序有多敏感。同一个模型,把四个选项转一圈重排,答案就变了,这样的分数拿来当知识量度的确可疑。于是有一类「去标签」思路:别让模型看到 A/B/C/D 标签再选,先把顺序影响摘掉,分数不就干净了?这篇系统地检验了这个直觉,结论是不成立:把位置影响摘干净,准确率并不因此涨。
这个结论对评测方法论有直接意义,因为去标签策略在社区里被当作低成本的消偏手段反复提起。
测两种去标签策略,六个模型(GPT-4.1 mini、Gemini 2.5 Flash、Llama 3.1 8B、Qwen 2.5 7B 各两种部署),MMLU(50 科目×20 题=1,000 题)与 ARC-Challenge(1,000 题),温度 0:
关键是补了一组 2×2 分解:第一段「藏/露选项」× 第二段「LLM 匹配/嵌入匹配」,把两段式失败的原因拆开。另外用两个指标量顺序敏感:flip rate(同一题四个循环排列下是否给出至少两个不同语义答案,逐题直接测量)和 RStd(四个答案位置各自召回率的标准差,聚合量度)。
两种去标签策略都不 reliably 提分。两段式在 12 个模型-benchmark 对里 11 个掉分;独立打分在 11 个有效对里 8 个掉分。
| 配置(示例) | MMLU | 说明 |
| GPT-4.1 mini 基线 | 81.8 | |
| 两段式(藏选项+LLM 匹配) | 80.1 | 零解析失败,还是掉了 |
| 藏选项+嵌入匹配 | 45.8 | 断崖 |
| 露选项+嵌入匹配 | 81.7 | 大部分损失回来了 |
| 露选项+LLM 匹配 | 与基线持平 | 唯一稳定追平基线的配置 |
| 循环排列(同一模型) | 83.0 | 噪声内,但方向向上 |
分解说明瓶颈在第一段藏选项,不在匹配这一步:选项看得见时,连嵌入匹配都能从 45.8 拉回 81.7。有趣的是 Gemini 两段式从 84.9 掉到 68.3、ARC 从 96.9 掉到 86.6,大部分归因于解析失败,说明脆弱性是部署相关的。
与直觉相反,循环排列(转四圈多数表决)在 MMLU 和 ARC 各 5/6 个模型上提分,Llama-local 在 ARC 上 58.0→72.9(+14.9 个百分点)。它没有消除位置影响,只是平均掉了,反而有效。顺序敏感与准确率是脱钩的:GPT-4.1 mini 的 flip rate 在 MMLU 上从 21.6 降到 11.8(约减半),准确率反而从 81.8 降到 80.1。两段式让 flip rate 在 12 对里 7 对上升、RStd 5 对上升,消偏并不可靠。
对造 benchmark 和跑评测的人,这篇划掉了两条看似省事的路。「先自由作答再匹配」会系统性低估模型,不要当消偏手段用;若要用两段式,选项必须在第一段可见。位置敏感度低的模型不更强,两个维度要分开报。循环排列虽然每个问题要花 k 次调用,但它同时压位置偏差并聚合多采样,是实测中最接近「便宜且有效」的选项,对小型开源模型收益尤其大(Llama-local 在两个 benchmark 分别 +6.8 和 +14.9 个百分点)。ChoiceBench 的代码和题集开源在 GitHub。
作者自列:只有 6 个模型、2 个 benchmark、四选项设定,选项数更多或分布不同未必成立;每个条件只跑一次,没有测提供方侧非确定性带来的运行间方差;flip rate 实验没有重复同序对照,部分翻转可能来自服务商侧噪声;两段式只测了一种提示实例化,第一段未开推理,也没有试更强的独立匹配模型;若干格子因解析失败实际评分题数明显少于 1,000(如 Gemini 语义匹配、Llama-local MMLU 只评了 688/1,000),flip rate 和 RStd 反映的是子集。选题采样也带来外部效度问题:每科目只抽 20 题,subject 内方差可能被放大。