尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

当AI考试蒙对了答案,我们却以为它真的懂了

当AI考试蒙对了答案,我们却以为它真的懂了 你有没有想过一个问题一个大语言模型在选择题考试里拿了90分这到底说明了什么大部分人的直觉反应是这说明它掌握了这些知识。但2024年一系列研究开始戳破这个幻觉最扎心的发现是这样的如果你把选择题的选项顺序打乱同一个模型、同一道题答案可能会变。这不是小概率事件。研究显示把ABCD的顺序换一换模型给出的答案经常会跟着换。也就是说模型考90分,可能不是因为它懂这道题而是因为它对这道题恰好长这个样子产生了某种条件反射。这就好比你去检查一个学生是不是真的会做数学题,你把选项A和选项C换个位置,如果这孩子的答案也跟着变了,你会怎么想?你大概会怀疑,他压根不是在算题,而是在凭某种直觉蒙——也许他记住了正确答案通常在第二个位置这种规律也许他被某个选项的措辞风格吸引了注意力。这不是知识这是投机。这篇来自贝尔法斯特女王大学的论文,标题叫《Accuracy and Order Sensitivity Diverge Under Label-Free Strategies》,做的就是这件事既然选项顺序会污染我们对模型知识的判断,那有没有办法让模型在不看选项顺序的情况下作答,从根源上避免这个问题?答案可能会让你意外:两种看似很合理的防作弊方案效果都不理想。这篇论文最有价值的地方不是告诉你哪个方法管用而是通过一层层拆解告诉你为什么这些看似正确的直觉在实践中会失灵。选择题评测到底哪里出了问题先说清楚背景。多选题benchmark*benchmark用来衡量AI模型能力水平的标准化测试集常见的比如MMLU、ARC-Challenge*之所以被广泛使用原因很简单便宜、好打分、能自动化。你不需要雇人去评判模型的回答是否正确机器直接对比A、B、C、D就行了。MMLU这个基准包含14042道题横跨57个学科ARC-Challenge是更难的一批专门收录那些连检索算法都答不出来的科学题。但便宜带来的代价是评测本身可能不靠谱。已经有多篇论文指出模型对选项顺序异常敏感。有研究发现仅仅重新排列选项模型的表现就会发生显著变化。还有研究提出一个更尖锐的说法模型可能不是在找出正确答案而是在排除最不像错的选项——这是两种完全不同的认知过程但产出的准确率数字可能长得一样。这就带来一个棘手的矫正问题。如果模型的选择题成绩里混杂着真知识和位置偏好这两种成分那么单看准确率这一个数字你根本分不清哪部分是真本事。已有的纠偏方法比如循环排列把选项轮流放在每个位置问四遍取多数和全排列把所有排列方式都问一遍确实能在一定程度上消除位置偏差但代价是要多问k次甚至k!次,题量一大就跑不动了。还有一种叫PriDe的方法用一个小的校准集去估算模型的位置偏好然后从预测结果里减掉这个偏好——听起来很聪明但它需要拿到模型的logits也就是每个选项被选中的概率分布而很多商业API根本不对外开放这个数据。*logits模型在给出最终答案前对每个候选选项计算出的原始概率分数用来衡量模型对每个选项的信心*这就是这篇论文想解决的真正问题能不能设计一种不需要反复问、也不需要拿到logits的方法从提示词设计prompt design本身出发让模型压根就看不到选项顺序从而彻底避免这个偏差?方案一先让模型自由发挥再帮它对号入座第一个思路叫两阶段提示Two-Stage Prompting。它的逻辑是这样的如果模型的答案偏差来自看到了ABCD的排列方式那我干脆先不给它看选项只给它看问题本身让它自由地用自己的话回答。等它说完了我再拿着它的回答去四个选项里找最匹配的那个。具体流程分两步。第一步Stage 1模型只收到问题文本没有任何选项直接生成一段自由文本的答案。第二步Stage 2把这段自由文本连同四个选项一起交给模型或者交给另一个匹配算法让它判断哪个选项和这段自由文本的意思最接近。这个思路听起来相当合理,对吧?如果模型压根没看到选项的排列顺序,它总不可能被排列顺序影响。这就好比你想测试一个人是不是真的认识某位明星,你不给他看照片墙(照片墙上明星的位置可能会诱导他随便指一个),而是先让他凭记忆描述这位明星的长相,再拿这段描述去对照片墙上找。如果他描述得清楚准确,匹配环节应该是水到渠成的事。问题恰恰出在这个如果上。论文测试了六个模型包括GPT-4.1 mini、Gemini 2.5 Flash、两个版本的Llama 3.1 8B、两个版本的Qwen 2.5 7B在两个benchmark上的表现结果是两阶段提示在12组模型-数据集组合里有11组的准确率反而下降了。这不是个小打折扣,有些情况下的跌幅相当惨烈。Gemini在MMLU上从84.9分掉到68.3分跌了16.6个百分点在ARC-Challenge上从96.9掉到86.6跌了10.3个百分点。真正戳破这个方案幻觉的,是GPT-4.1 mini这个案例。它在这个流程中一次解析失败都没有出现也就是说Stage 2的匹配步骤100%成功找到了一个选项可它的准确率依然从81.8掉到了80.1。这说明问题不是匹配没做好这么简单而是更深层的东西出了问题。问题出在哪?论文给出了一个相当有说服力的解释:很多选择题,如果不给你看选项,你压根没法回答。想想这种题型:以下哪一项最能描述XX现象?这种问题本身是依赖选项存在的,它的完整语义需要靠选项来补全。如果你藏起选项只让模型凭空回答,模型给出的自由文本很可能是模糊的、不完整的,甚至压根答不到点上——不是因为它不懂这道题,而是因为这道题的提问方式本身就依赖对照选项来确定答案范围这个机制。论文里做了一个特别巧妙的拆解实验来验证这个猜想。他们设计了一个2×2的诊断网格把Stage 1是否给模型看选项和Stage 2是用LLM来匹配还是用语义相似度算法匹配这两个维度交叉组合得到四种配置。这个网格用来测的关键是把藏选项和匹配方式差这两个可能造成损失的因素分开算。结果非常清楚当Stage 1藏起选项、Stage 2改用语义相似度算法匹配的时候性能会暴跌。但只要把Stage 1的选项亮出来即使Stage 2依然用简单的语义匹配算法大部分的损失都能被找回来。GPT-4.1 mini在MMLU上从45.8分直接跳到81.7分恢复了35.9个百分点。这说明什么?说明真正的瓶颈,不是Stage 2的匹配算法不够聪明,而是Stage 1藏起选项这件事本身,就让很多题目变得没法回答了。只有一种配置能稳定地打平baseline选项在Stage 1里给模型看到Stage 2用LLM来做匹配。但注意这个配置已经不再是位置无关的了因为选项顺序又被引入了Stage 2。也就是说唯一效果好的方案恰恰放弃了不看顺序这个初始目标。方案二把每个选项拆开单独审如果Stage 1藏起选项会导致问题不完整那有没有一种办法既让模型看到每个选项的内容又不让选项之间产生位置关系第二个方案叫独立假设评分Independent Hypothesis Scoring。做法是对每道题模型被问k次k是选项数量通常是4。每一次模型只看到问题和一个选项被要求给这个选项打一个0到100的分数表示这个选项有多大可能是对的。四次打分做完之后选分数最高的那个选项作为答案。因为每次调用只涉及一个选项选项之间根本没有位置这个概念存在——它们从来没有同时出现在同一个提示词里。这个方案从设计原理上,天然杜绝了位置偏差,不是靠事后纠正,而是从根本上让位置这个变量压根不存在。这就好比给四个候选人分别做单独面试,而不是让他们四个人站成一排、面试官挨个问一遍。每个候选人被单独评估,谁站在第几个位置这件事根本无从谈起,因为他们从来没有以一个整体的形式出现过。理论上这应该是最干净的解法。但结果又打了脸独立假设评分在有效的11组模型-数据集配对里8组的准确率是下降的。只有一个模型是例外,本地部署的Llama 3.1 8B论文里称Llama-local它的准确率不但没降反而涨了不少尤其在ARC-Challenge上涨了14.4个百分点。但论文接下来做的一件事特别值得说它没有满足于啊这个方法在这个模型上管用就草草收场而是去交叉验证了一下这个涨幅到底是不是独立假设评分本身的功劳。结果发现不是。同样是Llama-local在ARC-Challenge上循环排列这个完全不同的方法能让它涨到72.9分VisibleLLM配置能涨到70.4分独立假设评分涨到72.4分——三种毫不相关的方法涨幅几乎一样。这说明这个模型本身有一种容易被恢复的潜力不管你用什么方法去恢复它效果都差不多。这不是某个特定方法特别聪明而是这个模型的baseline设置得特别糟糕随便一种干预都能把它捞回来一点。而在MMLU上独立假设评分给Llama-local带来的涨幅就小得多了只有1个百分点左右在统计噪声范围内。这进一步说明独立假设评分的效果是数据集本身决定的不是这个方法本身有什么特殊的魔力。为什么独立假设评分整体表现不佳论文给出的解释很有意思把选项拆开单独打分会丢失选项之间的比较关系。已有研究发现模型判断一个选项是否正确很大程度上要靠和其他选项对比来完成推理单独审视一个选项缺乏这种参照系统。这就像让你判断一件衣服贵不贵如果只给你看这一件衣服的价签你可能没什么概念但如果把它和旁边三件衣服放在一起比较你立刻就能判断出这件是贵是便宜。选项之间的相对关系本身就是一种信息独立打分把这种信息彻底切断了。还有一个统计细节值得一提独立打分经常出现平局也就是多个选项得到了同样的最高分。这种平局率在不同模型上从6.2%到43.2%不等本地Llama在MMLU上平局率高达43.2%接近一半的题目模型都拿不出明确的偏好只能靠随机数来决定选哪个。这本身就说明这种打分机制的判别力是有限的。消除了位置偏差不代表答案更准论文里还有一个特别值得展开说的发现那就是位置敏感度和答案准确率这两件事根本就不是一回事。为了衡量位置敏感度论文用了两个指标。一个叫翻转率flip rate*翻转率把同一道题的选项循环换位置问四遍看模型给出的语义答案是否发生了变化的比例*另一个叫召回标准差RStd*RStd按照正确答案落在A、B、C、D哪个位置把题目分成四组分别算模型在这四组题上的正确率再看这四个正确率之间波动有多大*这两个指标从不同角度衡量模型有多依赖位置数值越低说明模型越不受位置影响。GPT-4.1 mini在MMLU上有一个特别讽刺的例子用两阶段提示之后它的翻转率从21.6%降到11.8%几乎砍半位置敏感度确实降低了。但同时它的准确率也从81.8跌到了80.1。也就是说,模型变得更稳了,但这份稳并不是靠更懂知识换来的,而是靠答不出题、随便给一个答案换来的。位置敏感度低,不代表答案对。这个发现颠覆了一个很自然的直觉。你可能会觉得一个不受选项排列影响的模型一定比一个容易被排列干扰的模型更靠谱。但这篇论文用数据说明这个推论是有漏洞的一个模型完全可以用变得更迷茫、更随意的方式来降低它对位置的敏感度这种降低是虚假的进步。语义匹配这个技术路径把这个悖论推到了极致论文测试的十二组模型和数据集组合里语义匹配的翻转率全部是0%也就是彻底消除了位置影响。但代价是什么准确率暴跌到三四十分的水平比baseline掉了三四十个百分点。*语义匹配用一个专门训练来判断文本相似度的小模型论文用的是all-MiniLM-L6-v2去判断模型的自由文本回答和哪个选项在语义上最接近不需要再调用一次大模型*这就好比你为了防止一个学生看考场里其他人的答案而作弊,把他单独关在一个隔音的小房间里考试,确实,他再也不可能被别人的答案影响了,考试的纯净度达到了历史最高。但如果这个学生本来就不太会做题,单独关起来只会让他更加茫然,答得更差。消除干扰因素,不等于提升能力,这两件事的因果关系,经常被想反了。论文还发现一个更微妙的细节两个指标翻转率和RStd大部分时候是同向变化的比如Gemini、Llama-API这些模型上翻转率涨RStd也涨。但本地部署的Qwen 2.5 7B是个明显的反例用两阶段提示之后它的翻转率涨了在MMLU上涨了5.2个百分点在ARC上涨了12.2个百分点但RStd反而降了MMLU从8.06降到4.27ARC从4.68降到3.05。这说明什么说明这个模型的整体位置公平性RStd衡量的是四个位置的整体正确率是否均衡变好了但单题层面的稳定性翻转率衡量的是同一道题换个排列答案会不会变反而变差了。这两个指标看的是不同层面的东西一个是宏观均衡一个是微观一致性它们完全可以互相打架。这也提醒我们衡量公平这件事选用什么指标真的会得出不同的结论。真正管用的老办法循环排列在所有测试的方法里表现最稳的反而是最笨的循环排列法把同一道题的选项轮换四种排列方式各问一遍取多数票作为最终答案。这个方法在MMLU上六个模型里有五个准确率提升在ARC-Challenge上同样是五个模型提升。综合来看是所有被测试方法里表现最可靠的。它为什么管用论文的解释很朴素多数投票本身自带一种去噪能力即使模型受位置影响给出了不同答案只要大多数排列下答案是稳定的投票机制就能把这种偶发性的干扰抹平。它没有试图从原理上让模型看不见位置而是承认模型会被位置影响然后用统计手段把这个影响的平均效应削弱掉。但循环排列也不是免费的午餐。它需要对每道题问k次k是选项数题库一大、模型调用成本一高这个方法就会变得很贵。相比之下两阶段提示只需要两次调用独立假设评分虽然也要k次调用但效果还比循环排列差。论文里有一句话说得很直接独立假设评分要的调用次数和循环排列一样多但在11组对比里输给循环排列的有10组。这基本上宣判了独立假设评分在成本效益上是不划算的。PriDe这个聪明方法也没那么靠谱前面提到PriDe需要拿到模型的logits用一个校准集去估计位置偏好再从预测里减掉这个偏好。这个方法听起来技术含量很高但论文测试后发现它甚至可能让准确率变得更差。本地部署的Llama 3.1 8B在MMLU上用PriDe之后准确率从50.2掉到44.2在ARC-Challenge上从58.0掉到48.8。这两个跌幅都不小说明即便有了logits这个内部信息的加持纠偏这件事依然可能弄巧成拙。这给了我们一个提醒拥有更多的技术权限比如访问logits不代表你就能设计出更好的纠偏方案。方法本身的假设是否成立比你能拿到多少数据更重要。那这些结论到底说明了什么把所有结果拼在一起看这篇论文其实揭示了一个很反直觉的结论想要消除选项顺序对模型答案的影响和想要提升模型答案的准确率这两件事在很多情况下是互相拉扯的甚至是矛盾的。这不是说消除位置偏差没有意义,恰恰相反,它的意义在于让我们知道一个模型的真实水平到底是多少,不掺水。但这篇论文提醒我们,消除偏差这件事,如果做得不小心,很容易变成消除信息,而不是消除噪音。藏起选项、把选项拆开单独看,这些操作看似是在剔除干扰,实际上剔除掉的,可能是模型完成这道题所必需的上下文。这就像给一场辩论赛去除发言顺序优势这个变量。你可以让每个人单独在一个房间里陈述观点录下来事后统一评判这样确实没有人会因为先说或后说占便宜。但问题是辩论本身的精髓恰恰在于交锋和回应把辩手隔开单独录制你消除的不只是顺序优势你把辩论变成了各自陈词这已经不是原来那件事了。论文的作者在讨论部分提到一个对比研究如果把MMLU-Pro和GPQA-Diamond里那些必须靠选项才能确定答案范围的题目筛选出来题量会砍掉一半以上。这也就是说大量的选择题本质上是半成品问题题干本身是不完整的完整性要靠选项来补足。这从根本上解释了为什么藏起选项让模型先自由回答这个思路天然带着硬伤。写在后面读到这篇论文最触动我的一点是它没有满足于提出一个方法证明它管用这种研究套路而是反过来花大量篇幅去证明这些看起来很合理的方法为什么不管用。这种诚实的负面结果报告在学术圈里其实不算主流大部分论文都倾向于展示自己方法的优越性而这篇论文几乎全篇都在讲我们试了但没成功而且我们告诉你为什么没成功。最让我意外的细节是GPT-4.1 mini那个案例解析成功率100%但准确率还是跌了。这打破了我一个默认假设我一直以为只要匹配环节不出错两阶段方法的损失就该被完全消灭。这篇论文用实打实的数据告诉我藏起选项这件事本身就是一种信息损失跟你后面匹配得多准没关系。还有一个细节值得单独说一下,独立假设评分在Llama-local上涨了14.4个百分点,乍看是个漂亮的结果,但作者接着做了个交叉验证,发现循环排列和另一个配置也能给这个模型带来差不多的涨幅。这个打自己脸式的严谨,我觉得比那14.4个百分点本身更有价值。它提醒我们,看到一个好看的数字,先别急着归因,多问一句如果换个完全不相关的方法,会不会也涨这么多。一个问题留给你想:如果消除偏差和提升准确率经常是矛盾的,那我们到底是要一个更公平但更笨的模型,还是一个更聪明但带偏见的模型?这个选择,恐怕不只是技术问题。QAQ1两阶段提示法为什么大多数情况下会降低模型的准确率A因为很多选择题的题干本身依赖选项来补全语义藏起选项后模型难以给出完整答案问题不在匹配环节而在于第一阶段看不到选项本身就丢失了关键信息实验显示只要恢复选项可见性大部分损失都能找回来。Q2独立假设评分是不是完全没用A不是完全没用它从设计上彻底消除了位置偏差在本地部署的Llama 3.1 8B上确实带来了明显提升但整体来看八成的模型-数据集组合准确率是下降的原因是单独打分丢失了选项之间的比较信息而且平局率偏高说明判别力有限。Q3循环排列法为什么比其他去偏差方法更靠谱A因为它不依赖模型看不见选项这个假设而是承认位置会造成干扰然后用多次问询加多数投票的方式把偶发性偏差平均掉在论文测试的六个模型两个数据集组合里表现最稳定代价是需要多次调用模型成本更高。
返回列表