微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 当模型比你更自信,却比你更容易错

当模型比你更自信,却比你更容易错

2026-11-11 09:48
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-11-11 09:48 • 科技行者

你有没有遇到过这种情况:开会的时候,有个同事说话特别笃定,"我百分之九十确定这样没问题",结果事情翻车了。另一个同事说话总是留三分余地,"大概七成把握吧",结果十次有九次都对。

如果你是那个要在会上做决策的领导,你该信谁?

这不是一个职场八卦,这恰好是现在所有想要"组队干活"的AI系统正在面对的真实难题。当你让好几个不同的AI模型一起回答同一个问题,然后根据它们各自声称的"信心值"来决定采纳谁的答案时,你就在不知不觉中扮演了那个开会的领导角色。而麻烦在于,这些AI模型的"自信"和人类同事的自信一样,经常是不靠谱的。

更麻烦的是,这篇来自爱立信的论文给出了一个相当扎心的实验结果:在BigCodeBench这个编程测试集上,把18个不同的AI模型拉出来比较,哪个模型平均来说更自信,哪个模型的正确率反而更低。相关系数是负0.692,这几乎是教科书级别的"强负相关"。如果你让系统在两个答案里选一个更自信的那个作为参考,结果比瞎猜还差。

这就是这篇论文要解决的问题:当你要协调一群"嘴上很能说"的AI模型时,怎么知道该信谁、信多少?

**核心问题:自信心这把尺子,在每个模型手里长度都不一样**

想象你在收水果摊老板和超市经理对"这批苹果能卖多久不坏"的估计。水果摊老板说"肯定没问题",超市经理说"大概能放一周"。这两句话字面上传递的信息完全不对等,水果摊老板的"肯定"可能对应着实际只有五成的准确率,超市经理的"大概"反而可能对应着九成的准确率。

AI模型之间的差异比这个更夸张。不同的模型在不同的任务上被训练的方式天差地别,它们嘴里说出的"90%确信"这个数字,背后对应的真实正确率可能完全不同。这个现象在学术圈有个专门的名字。

> 置信度校准:指的是模型嘴上说的"我有多确定"和它实际做对的概率之间是否匹配。如果一个模型说"我有九成把握",而它说这话的时候真实正确率只有六成,那它就是"校准不佳",说白了就是嘴比脑子硬。

这个问题本身不是新鲜事,学术界早就知道语言模型经常说话不靠谱。但当你把一堆模型凑到一起,让它们投票决定一个最终答案,原本只是单个模型的"小毛病",就变成了整个协作系统的"大隐患"。因为你用来加权投票的那个信心分数,本身就是一把歪掉的尺子。

事情还没完。即便你费了半天劲,把每个模型的"说话习惯"摸透了,给它们都校准好了,任务换了怎么办?今天这群模型在做编程题,你摸清楚了谁靠谱谁不靠谱,明天换成了做数学题,原来学到的那套校正规则可能完全不管用了。这就好比你好不容易摸清楚了一个同事开会时说话的虚实分寸,结果他换了个部门、换了套业务,说话的分寸感又变了,你之前积累的判断经验直接作废。

这篇论文提出的方法,就是要同时解决这两个问题:既要摸清楚每个模型"说话的虚实",又要能在任务换了之后快速重新适应。

**方法核心:按信心等级分段记账,而不是笼统算总账**

论文提出的方法叫MARGIN,这是个缩写,全称是"通过增量归一化实现的多智能体运行时评分"。名字拗口,但核心思路其实很朴素。

> 多智能体系统:由多个独立的AI模型(在这里叫"智能体"或"responder")组成的系统,这些模型各自回答同一个问题,然后有一个"协调者"综合它们的答案做出最终决定。

想象你是个保险公司的精算师,你手里有一批司机的历史理赔数据。你不会把所有司机混在一起算一个平均赔付率,因为这样太粗糙。你会按风险等级把司机分组:新手司机一组,老司机一组,出过事故的单独一组,每一组单独算赔付率,这样算出来的数字才真实可靠。

MARGIN做的事情本质上一样。它不是简单地给每个模型打一个笼统的"可信度总分",而是把每个模型说出的信心值切成三段:低信心区间(0到33%)、中信心区间(33%到67%)、高信心区间(67%到100%)。

> 置信区间(论文里叫"confidence band"):把0到100%的信心打分区间切成几段,每一段单独统计。比如一个模型在它说"我有八成把握"的时候,实际做对的概率是多少,这就单独记一笔账,跟它说"我有五成把握"时候的账分开算。

为什么要分段?因为同一个模型,在不同信心水平下的靠谱程度可能完全不一样。有的模型在说"我很确定"的时候反而容易翻车,属于那种过度自信型;但在说"我不太确定"的时候反而相当靠谱,属于谦虚过头型。如果你把这两种情况混在一起算一个平均数,这个平均数谁都不代表,反而把真实的信号给抹平了。

这就好比你评估一个投资顾问的建议。如果他说"这只股票肯定涨"的时候十次里对六次,说"这只股票可能涨"的时候十次里对八次,你把这两类建议混在一起算一个总命中率是没有意义的,你需要分别看他在不同"口气"下的真实水平,才能知道该怎么解读他接下来说的话。

具体怎么记账?MARGIN给每个模型的每个信心区间维护两个滑动平均值:一个是这个区间里历史上的真实正确率,一个是这个区间里模型自己报的平均信心值。两者一除,就得到一个校正系数。

> EWMA(指数加权移动平均):一种只需要记住最近一个数值就能更新的平均值计算方法,离现在越远的数据权重越小。它的好处是不用存储全部历史数据,而且能让系统对"最近发生了什么变化"更敏感。

举个论文里的例子,某个模型在高信心区间的历史正确率是60%,但它自己平均报的信心是90%,两者一除,校正系数大约是0.67。以后这个模型再说"我有90%把握",系统就会把这个数字打个折,修正成大约60%。这个折扣系数就是从真实历史表现里学出来的,不是人工设定的。

这里还有个细节处理得很巧妙。如果某个模型在某个信心区间的历史数据特别少,比如它很少说"我只有三成把握"这种话,那这个区间算出来的校正系数就会很不稳定,可能因为运气好坏而乱跳。MARGIN这时候会把这个"数据稀少"的区间,往这个模型的"总体平均水平"上拉一拉,数据越少,拉得越狠,数据越多,就越相信这个区间自己的统计。

> 收缩(shrinkage):当某个细分类别的样本量太少、统计结果不可靠时,把这个类别的估计值往一个更大范围(比如同一模型的全部数据)的估计值上靠拢,样本越少,靠拢程度越高。这是统计学里一种经典的应对"小样本波动"的手法,这里用来避免某个冷门信心区间因为数据太少而给出离谱的校正系数。

这就像一个新开的奶茶店,如果某个口味这个月只卖出去两杯,一杯好评一杯差评,你不能说这个口味的好评率是50%,因为样本太小了,根本代表不了真实水平。这时候更合理的做法是,先参考这家店其他口味的整体好评率,等这个新口味卖出去几百杯之后,再慢慢相信它自己的统计数字。

把这套校正系数算出来之后,用它去修正模型下一次给出的原始信心值,修正之后的数字就是"校准后的信心",这个修正后的数字会被拿来给各个模型的候选答案加权投票,谁的校准后信心总分高,谁的答案就被采纳。

**为什么不能让"失败"和"成功"的学习速度不一样**

论文里还专门做了一个理论分析,证明了一件看起来"直觉上应该有用"但实际上是个坑的事情。

直觉上你可能会想,既然要惩罚"过度自信",那是不是应该让系统在模型答错的时候,更猛烈地调低对它的信任,而答对的时候只是温和地上调?这个想法听起来很合理,就像你管孩子,犯错了要狠狠说一顿,做对了轻轻表扬一下就行。

但论文用数学证明了,如果你让"答对时的学习速度"和"答错时的学习速度"不一样,哪怕任务难度本身完全没有变化,长期下来你算出来的"真实正确率"也会系统性地偏离真相,而且偏离的程度和这两个速度的差异成正比。换句话说,这种"看起来更严厉"的做法,反而会让你的统计结果变得不准。

论文的参数实验也印证了这一点:故意把答错时的学习速度调快,答对时调慢(或者反过来),在实际测试集上ECE误差能从13涨到接近40甚至46,几乎是灾难性的恶化。

这其实是个挺反直觉的结论。它告诉我们,想要获得一个真实无偏的统计数字,有时候"一碗水端平"远比"看起来合理的区别对待"更重要。这让我想起体重秤这个例子:如果你的秤在称轻的东西时准,称重的东西时却习惯性地多算几克,哪怕这个"多算"的方向是你故意设计的、觉得"合理"的(比如想让自己看起来瘦一点),长期下来你对自己真实体重的认知也会被这个不对称的偏差带偏。公平对待每一次测量,才能得到可信的长期趋势。

**信心反转现象:越自信的模型,反而越容易出错**

前面提到的BigCodeBench负相关实验,值得再展开讲讲,因为这是整篇论文里最具冲击力的发现。

论文测试了18个不同的AI模型,涵盖了Qwen、DeepSeek、GPT-OSS、MiniMax、GLM、LLaMA、Phi、Mistral等多个家族,让它们一起在BigCodeBench这个相对困难的编程测试集上答题。结果显示,这些模型的平均自我报告信心值,和它们各自的真实通过率之间,相关系数是负0.692。

这意味着什么?意味着在这批模型里,越是嘴上说"我很有把握"的模型,整体上反而越容易写出有问题的代码。

论文进一步做了一个"两两对比"实验:找出所有"一个答对一个答错"的答案配对,然后看如果单纯按信心值高低来选,选中正确答案的概率是多少。按理说随便选应该是50%的胜率,但实际测出来是42.37%,低于随机瞎选的水平。

这就好比你让两个人回答一道题,一个答对一个答错,然后你决定相信那个说话更有底气的人,结果你猜中正确答案的概率比抛硬币还低。这不是个例的运气问题,这是在接近2500条有效记录上统计出来的系统性现象。

值得说明的是,这个负相关现象在只保留九个云端服务模型的子集里有所减弱,两两对比的胜率变成了45.73%,和随机水平的差异就不那么明显了。论文很坦诚地指出,这两个统计量衡量的是不同的事情,一个是模型层面的整体趋势,一个是同题配对的具体比较,不能简单画等号,论文也没有去深究这背后到底是模型能力差异、任务特性差异,还是部署配置差异造成的。但不管原因是什么,这个现象本身已经足够说明,不经校准直接相信AI说的"我很确定",是一件挺危险的事。

**校准之后,到底能带来多大的实际改善**

说了这么多原理,最终还是要看实际效果。论文设计了两套实验来检验MARGIN到底有没有用。

第一套实验叫"迁移适应"测试,模拟的是真实世界里任务突然变化的场景。系统先在一种任务(比如基础编程题HumanEval)上积累了一段时间的校准经验,然后任务突然切换到另一种更难的题目(比如BigCodeBench),校准系统要在新任务上继续发挥作用,而且不能清零重来,必须带着旧任务的记忆上阵。

这个设定下,MARGIN和另外五种在线校准方法(滑动窗口直方图、衰减直方图、两种滑动窗口精度方法、在线Platt缩放)做了正面对比,所有方法拿到的反馈信息完全一样,谁都不能作弊。结果显示,在两个编程任务的迁移场景里,MARGIN的校准误差比全部五个对手都低。从HumanEval迁移到BigCodeBench,MARGIN的误差是12.99,排名第二的在线Platt方法是15.32,差了2.33个百分点。在另一个从MBPP迁移的场景里,差距是1.53个百分点。在问答任务从MMLU迁移到MMLU-Pro的场景里,MARGIN赢了四个对手,和在线Platt方法的对比结果不够明确,算打平。

第二套实验叫"答案选择"测试,考察的是校准之后,整个系统做出的最终决策到底有没有变好。论文选取了三个编程测试集(HumanEval、MBPP、BigCodeBench),让18个模型一起回答,比较用未校准的原始信心加权投票,和用MARGIN校准后的信心加权投票,最终谁选出的答案正确率更高。

下面这张表是三个基准上最核心的几个数据:

| 测试集 | 指标 | 未校准 | MARGIN校准后 | 提升 |

|---|---|---|---|---|

| HumanEval | 校准误差ECE | 12.80 | **2.02** | 降低10.78 |

| HumanEval | 两两对比胜率 | 46.53% | **81.66%** | 提升35.13个百分点 |

| MBPP | 答案选择准确率 | 87.94% | **92.26%** | 提升4.32个百分点 |

| MBPP | 两两对比胜率 | 49.94% | **81.25%** | 提升31.31个百分点 |

| BigCodeBench | 答案选择准确率 | 13.89% | **27.87%** | 提升13.98个百分点 |

| BigCodeBench | 两两对比胜率 | 42.37% | **63.36%** | 提升20.99个百分点 |

这里有个细节值得提一下。在未校准的情况下,不同模型给出的原始信心值经常撞车,比如好几个模型都说"我有90%把握",这种并列情况在HumanEval上出现的概率高达62.2%,在BigCodeBench上更是高达78.5%。并列的时候系统只能按模型名字的字母顺序硬选一个,这其实是一种隐藏的随机性。论文专门做了一个"把并列情况按概率公平分配"的敏感性分析,结果显示MARGIN带来的提升在这种更公平的计分方式下依然成立,在三个测试集上分别提升了8.79、10.60、12.75个百分点。

**反馈不完整时,系统会受多大的伤**

这套方法有个前提条件绕不过去,那就是它需要知道每个候选答案到底对不对,才能拿这个"对错反馈"去更新校正系数。在真实部署场景里,这个前提并不总是成立。如果系统只验证了最终被选中的那一个答案,而其他没被选中的候选答案永远不知道对错,会发生什么?

论文专门做了这个诊断实验,结果相当直接:在这种"只验证被选中答案"的场景下,MARGIN的校准误差从原来的13左右,猛增到46左右,涨幅超过30个百分点。原因也容易理解,那些很少被选中的模型,它们的校准数据长期得不到更新,相当于一个很少出场的替补球员,教练永远没机会观察他最近的真实状态,只能凭很久以前的印象来判断要不要让他上场。

好消息是,即便在这种数据严重不完整的恶劣条件下,MARGIN依然比另外五个对比方法表现更好,只是领先优势不如数据完整时那么夸张。论文在这里很诚实地指出,这个发现只是"诊断出了一个局限",并没有在论文里给出解决方案,比如定期抽查验证未被选中的答案之类的改进思路,被明确列为了未来可以探索但这篇论文没做的方向。

**写在后面**

读完这篇论文,最触动我的其实不是MARGIN这套方法本身的精巧程度,而是那个负0.692的相关系数。

一个AI模型说话时表现出的自信,和它实际做对事情的能力,可能根本不是一回事,甚至可能是反着来的。这其实挑战了一个我们在日常使用AI工具时很容易产生的默认假设,就是"它说得这么斩钉截铁,应该是真的比较靠谱吧"。这篇论文用扎实的数据告诉我们,这个假设在多模型混用的场景下,可能恰恰是错的。

另一个让我觉得值得玩味的细节是那个关于"对称学习速率"的理论证明。我们在设计很多系统的时候,总是本能地想要"奖惩分明",犯错多扣分,做对少加分,觉得这样才公平、才能有效纠偏。但这篇论文从数学上证明了,这种看似合理的不对称设计,反而会系统性地扭曲你对真实情况的判断。这个结论放在很多别的场景里好像也成立,比如一个总是对失败反应过激、对成功轻描淡写的绩效考核体系,长期下来大概率也会培养出一群要么过度谨慎要么报喜不报忧的员工,而不是真正反映出团队的真实水平。

论文里还有一个没有被过度渲染但我觉得挺有意思的现象:同样的校准方法,在"有历史经验可以带着走"和"从零开始学"这两种情况下,排名顺序完全不一样。在迁移场景里全面占优的MARGIN,在冷启动场景里在BigCodeBench上反而输给了好几个对手。这说明"适应变化的能力"和"从无到有学习的能力",可能根本是两种不同的本事,不能用同一套方法论一概而论。这让我想起学一门新语言和在已经会的语言基础上学一门方言,所需要的技能点可能真的不太一样。

这篇论文没有解决的问题也挺诚实地摆在那儿:任务是渐变漂移还是突变跳跃,模型的部署配置差异,更复杂的探索式反馈机制,这些都留在了未来要做的清单里。但至少它把一个长期被模糊处理的问题,用扎实的实验数据摆在了桌面上:当你让一堆AI模型一起工作时,千万别光听它们嘴上说得多确定。

Q&A

Q1:MARGIN是什么?

A:MARGIN是爱立信团队提出的一种运行时置信度校准方法,用于多个AI模型协作回答问题时,纠正它们自我报告的信心值与真实正确率不匹配的问题,不需要重新训练模型,也不需要专门的校准数据集。

Q2:为什么AI模型的自信程度不能直接用来判断答案对错?

A:论文在BigCodeBench测试中发现,18个模型的平均自信程度和真实正确率呈负相关(相关系数负0.692),在正确答案和错误答案的两两对比中,单纯选信心更高的一方,正确率反而低于随机瞎选的水平。

Q3:MARGIN在任务切换后效果如何?

A:在从HumanEval、MBPP迁移到BigCodeBench、以及从MMLU迁移到MMLU-Pro等场景中,MARGIN相比五种在线校准方法大多表现更优,校准误差明显更低,但它需要持续获得候选答案的对错反馈才能保持这种优势。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-