打开网易新闻 查看精彩图片

你有没有遇到过这种情况:一群人一起解一道数学题,其中有人两分钟就算出了答案并且反复验证都是同一个结果,但因为规定"所有人必须同时交卷",这个人只能干坐着等其他还在纠结的同伴。与此同时,另一群人从头到尾都在几个可能的答案之间摇摆不定,谁也说服不了自己,但因为预算充足,他们还是被允许把纸写满为止。

这不是一个假设的场景,这几乎就是当前大语言模型做"并行推理"时的真实状态。

大模型现在解决复杂数学题、科学题的一个常见策略,是让模型同时生成很多条不同的思路(术语叫并行推理,简单说就是同一道题,模型独立想很多遍,最后把答案汇总投票),然后从这些思路里投票选出最靠谱的答案。这个策略确实管用,能显著提高正确率,但代价也很直白:算力和时间成本随着思路数量和思考深度线性增长,且传统做法往往是"一刀切",不管某条思路是不是已经收敛到答案了,都得陪着最慢的那条一起跑到终点。

这篇来自上海交通大学和宾夕法尼亚大学团队的论文,就是奔着这个"陪跑"问题去的。他们提出了一个叫ParaTempo的框架,核心思路是给每一条推理路径装上一个"看它是不是已经想明白了"的探测器,然后据此动态决定谁该继续想、谁该提前退场、谁该把省下来的算力让给别人用。

这事听起来简单,但做起来有讲究,因为怎么判断"一条思路是不是已经想明白了",本身就是一个技术活。

已有信号为什么都不够用

在设计新方法之前,团队先做了一件很扎实的事:他们检查了现有的几种判断"思路是否收敛"的信号,看它们到底靠不靠谱。

第一类信号是token级别的不确定性,包括平均token熵和困惑度(perplexity)。

token*:可以粗略理解为模型每次生成的一个字或词的单元,token级别信号就是看模型在生成每个字词时有多"纠结"。

问题在于,这类信号反映的是语言层面的犹豫,不是答案层面的犹豫。模型可能在措辞上很确定(比如知道下一个字该写什么),但对最终答案到底是A还是B完全没底;反过来,模型也可能在遣词造句上有点纠结,但其实已经锁定了正确答案。团队的实验数据显示,这类信号和"未来答案是否稳定"的相关性极弱,Spearman相关系数只有0.12到0.13,AUC(一种衡量分类效果的指标,越接近1越好)也只有0.57到0.58,基本等于没什么预测力。

第二类信号是瞬时答案置信度,也就是在某一个时间点,硬生生截断模型的思考过程,让它强行给出一个当前的"暂定答案",看这个答案的概率分布有多集中。

这个信号至少是对准了"答案"这个目标,比token级别信号靠谱不少(Spearman相关系数0.41,AUC 0.71)。但它有个致命伤:太容易被一时的风吹草动带偏。推理过程中模型可能会临时冒出一个错误的念头,导致这一瞬间探测到的答案分布剧烈波动,标准化波动率高达0.26。

这就好比你去问一个正在做题的学生"你现在觉得答案是啥",如果你问的时机恰好是他正在纠结的一瞬间,他可能随口说了个错的,但过两秒他自己就想明白了。只看这一瞬间的回答,容易被误导。

如果只依赖瞬时探测做决策,会发生什么?答案是:容易在还没真正收敛的时候就误判,把本来会走向正确答案的思路提前掐掉,或者把已经在震荡边缘的错误思路误判为"稳定"而提前放行。

这三类信号的短板加起来,指向了一个明确的设计目标:一个好的控制信号,必须同时做到三件事,要对准答案空间而不是表面的语言生成统计,要能把多次观察聚合起来而不是只看一瞬间,还要能独立更新不需要跟其他思路对齐节奏。

这就是ParaTempo里最核心的创新,叫时间置信度(temporal confidence)的由来。

时间置信度:把"多次观察"叠加成一个可靠信号

时间置信度的想法其实并不复杂:与其只看某一瞬间的答案分布,不如把最近几次的探测结果叠加起来看整体趋势。

具体做法是这样的。模型在生成过程中,每隔固定数量的token(论文里设为500个token探测一次),就在当前的推理内容后面强行加一句类似"最终答案是:"的引导语,逼模型说出一个当下的暂定答案,并记录这个答案候选的概率分布。

答案探测(intermediate answer probing)*:通过在推理过程中插入"强制作答"的提示语,获取模型当前阶段对候选答案的概率打分,这个过程会周期性地重复进行。

接下来,团队没有直接用某一次探测的结果做判断,而是取一个滑动窗口(比如最近7次探测)内的所有答案分布,做平均聚合。这样做的道理很直接:如果一条思路真的已经收敛到某个答案,那么它接连好几次探测都应该指向同一个答案;如果只是某一次偶然波动,多次平均之后这个波动就会被抹平。

聚合完之后,团队用这个聚合分布的负熵指数来衡量集中程度,这个值被称为时间置信度,取值在0到1之间。这个数值可以理解成"这条思路目前有效候选答案数量的倒数":如果时间置信度接近1,说明近期探测几乎都锁定在同一个答案上;如果这个值比较低,说明概率还分散在好几个候选答案里,思路还没想明白。

这里可以做一个类比,帮助理解为什么"聚合多次观察"比"只看一次"要靠谱得多。

想象你在判断一个朋友是不是真的决定辞职了。如果你只问他今天早上心情不好时说的一句话,"我不干了",那这句话的可信度其实很低,因为情绪化的瞬间表态经常反悔。但如果你观察他连续两周,每次谈到这件事都表达出同样的态度,甚至开始默默准备简历,那这个"辞职"的判断就有了完全不同的可信度。时间置信度做的事情本质上就是后者:不轻信单次表态,而是看一段时间内态度是否持续一致。如果ParaTempo只依赖单次瞬时探测(也就是前面提到的第二种旧信号),系统就会像一个容易被朋友一句气话骗到、信以为真地帮他打包行李的人,做出大量不必要的误判。

论文里用图表验证了这个设计确实达到了预期效果。时间置信度的标准化波动率显著低于token熵、困惑度和瞬时答案置信度,说明它更稳定;同时它跟"未来答案是否稳定"的正相关性也很强,置信度越高的分组,未来保持答案不变的概率就越高,这个关系近乎单调递增。也就是说,时间置信度既解决了"太吵"的问题,又保留了"预测未来"的能力,算是把前面两类旧信号的优点结合、缺点甩掉了。

四个动作:修剪、退休、分叉、投票

有了时间置信度这个可靠的判断依据,ParaTempo接下来要做的,是围绕这个信号设计一套完整的资源调度机制。整个框架给每一条推理分支分配了四种状态:活跃(继续正常生成)、退休(提前停止但保留投票权)、修剪(直接淘汰释放资源)、分叉(从别的分支复制出新的探索路径)。

这四个状态对应四个核心动作,团队分别叫热身校准、分支修剪、提前退休、自适应分叉,外加一个全局共识判断机制来决定什么时候整体喊停。

先说热身校准。因为不同问题、不同模型的置信度分布可能天差地别,一道简单题可能所有思路很快就都收敛到很高的置信度,一道难题可能置信度普遍偏低,如果用一个固定不变的全局阈值,会出现"一刀切"失效的问题。于是ParaTempo设计了一个热身阶段(默认前15次探测),在这个阶段里所有分支正常生成,不做任何干预,同时收集这段时间内的置信度数据,用这批数据的一个分位数(默认取50%分位)作为这道题、这个模型专属的修剪阈值。这就好比一个老师在批改一批新学生的作文之前,先通读几篇打个底,知道这批学生大概的水平线在哪,再决定用什么标准打分,而不是套用一个跟这批学生完全不搭的固定评分表。

阈值*:这里指判断"是否修剪一条推理分支"的临界值,低于这个值的分支会被认定为思路发散、难以收敛,从而被淘汰。

热身结束后,进入正式的动态控制阶段。分支修剪的逻辑很直接:如果一条分支的时间置信度低于刚才校准出来的阈值,说明它反复探测下来答案还是很分散,继续算下去大概率也收敛不到靠谱结果,那就直接砍掉,把这部分算力省下来。

提前退休的逻辑则相反:如果一条分支连续多次(默认9次)探测出的置信度都稳定超过一个很高的阈值(默认0.90),说明它已经死死咬定了某个答案,那就没必要再让它继续生成token浪费算力了,直接让它"退休",但保留它已经确定的答案和置信度权重,用于最后投票。

这里有个细节值得展开讲讲,为什么退休比修剪的门槛要高得多(0.90 vs 分位数校准出来通常偏低的阈值)。因为修剪的代价是彻底放弃这条思路的所有信息,如果判断错了,等于白白扔掉一个本可能收敛到正确答案的分支;而退休只是让它停止继续消耗算力,但它已经产出的答案和置信度依然会计入最终投票。两个动作的风险不对称,所以修剪要更保守(阈值设得相对宽松一点,只淘汰真正明显发散的),退休要更谨慎地确认(阈值设得很高,确保真的已经稳定了才放行)。

分叉是修剪之后的资源再利用机制。当一条分支被修剪掉,空出来的算力槽位不会被浪费,而是从当前置信度最高的那些"优质候选"分支里,挑一个最靠谱的作为"捐赠者",复制它当前的推理前缀,用一个新的随机种子继续往下走,相当于在一个已经比较有希望的思路基础上,再多探索一条分支路径。

这个做法可以想成投资组合的再平衡。假设你手头有16笔钱投在16个不同的项目上,其中一个项目明显要黄了,你把这笔钱抽出来。与其把这笔钱直接锁进保险柜不用(等同于单纯缩减投资规模),不如把它追加投到目前表现最好的那个项目上,让好项目获得更多资源去验证和巩固它的领先优势。如果不做分叉这一步,直接放弃被修剪的算力,团队在消融实验里发现准确率会掉3.3个百分点,说明这部分"废物利用"确实创造了实打实的价值,不是可有可无的锦上添花。

最后是全局共识判断,用来决定什么时候整个推理过程可以提前结束。ParaTempo会把所有"活跃"和"退休"状态的分支,按各自的置信度加权,统计每个候选答案获得的总票数,一旦某个答案的加权票数占比超过设定的阈值(默认0.50),就判定共识已经达成,直接终止生成并输出这个答案;如果一直没有达成共识,就等到所有分支自然跑完或者预算耗尽为止。

这一整套机制的巧妙之处在于,它是纯异步的。也就是说,某条分支什么时候该被修剪、什么时候该退休,完全根据它自己的探测历史来判断,不需要等其他分支跑到同样的深度再统一比较。这跟很多同类方法(比如Parallel-Probe)依赖的"同步探测、跨分支比较共识"形成了鲜明对比。

同步 vs 异步控制*:同步控制要求所有分支在同一个时间点暂停下来互相比较(类似开会对齐进度),异步控制允许每条分支根据自己的节奏独立做决策,不需要等别人。

想象一场马拉松比赛,如果规则要求每跑5公里所有选手都要停下来核对彼此的名次再继续跑,那些跑得快的选手就要白白浪费大量时间等待落后的人。异步控制相当于取消了这种强制集合点,每个人根据自己的体感随时决定要不要冲刺、要不要放弃,比赛的总耗时会大幅缩短。这正是ParaTempo相比同步方案能进一步压低延迟的原因。

实验结果:省下两三成算力,正确率几乎不掉

团队在四个高难度推理测试集上做了验证,包括AIME 2026、HMMT两场比赛、以及GPQA Diamond(一个研究生级别的科学问答测试集),分别在Qwen3.5-35B-A3B和GPT-OSS-20B两个模型上跑,每道题生成16条并行分支。

跟标准的自我一致性方法(所有分支都跑满预算再投票)比,ParaTempo在Qwen3.5-35B-A3B上平均正确率达到71.1%,只比标准方法的72.2%低了1.1个百分点,但延迟降低了21.8%,总生成token数减少了30.3%。

跟同类的动态控制方法比,差距更明显。表格里的数据显示:

方法在AIME26上的正确率和延迟对照(Qwen3.5-35B-A3B)

方法名 正确率 延迟(秒) 总token数

Zero-shot(单条推理) 72.3% 92.2 12.6k

SC@16(标准自一致性) 87.5% 250.6 229.7k

ESC@16 83.3% 279.7 105.4k

SAC@16 73.3% 216.9 144.8k

Parallel-Probe@16 76.7% 223.1 164.0k

ParaTempo@16 83.3% 198.4 161.9k

可以看到,ParaTempo在延迟上是这几个动态控制方法里最低的(198.4秒),正确率却比Parallel-Probe高出6.6个百分点,比SAC和ESC也都更优。在HMMT25这道更难的题上,ParaTempo拿到了73.3%的正确率,是所有动态控制方法里最高的,同时延迟也控制在205.7秒,明显低于SC@16的257.8秒。

跟DeepConf比较尤其能说明问题。DeepConf虽然利用置信度过滤低质量轨迹,但它的控制流程引入了顺序依赖,导致关键路径成本反而上升,论文数据显示DeepConf-high在AIME26上延迟高达451.4秒,几乎是ParaTempo的两倍多,正确率却只有68.3%,明显低于ParaTempo的83.3%。这个对比揭示了一个容易被忽视的坑:不是所有"用置信度做筛选"的方法都能做到真正的异步高效,如果控制逻辑本身带有顺序等待的结构,那再好的信号也救不回效率损失。

消融实验也印证了三个核心动作各自的价值。团队分别去掉修剪、退休、分叉三个模块单独测试,发现去掉退休机制的影响最大,正确率从73.3%骤降到66.7%,掉了6.6个百分点,同时总token和延迟都上升了。这说明提前退休不只是省钱的手段,它保留下来的"已收敛答案"其实是最终投票时最可靠的证据来源,一旦去掉,系统就失去了这部分高质量信号。去掉修剪机制,正确率变化不大(71.7% vs 73.3%),但延迟明显上升,说明修剪主要是纯粹的效率优化,砍掉的确实是没什么用的分支。去掉分叉机制,计算成本降到最低,但正确率也跌了3.3个百分点,说明省下来的算力如果不投入探索,系统会损失一部分本可以挖掘出的多样性。

这三个消融结果放在一起看,其实讲了一个更普遍的道理:效率优化不是简单粗暴地砍成本,真正好的优化是把省下来的资源重新投入到更有希望的地方,而不是单纯地"少做事"。

写在后面

读这篇论文时,最触动我的其实不是ParaTempo这个框架本身设计得多精巧,而是它前置的那个诊断实验。团队没有一上来就设计新方法,而是先花大力气证明"现有信号为什么不行",用具体的波动率数字和相关系数把三类旧信号的短板钉死。这种做法在AI论文里其实不算特别常见,很多工作直接跳到"我们提出了新方法",跳过了"为什么旧方法不够用"这一步扎实的论证。

另一个让我意外的细节是退休和修剪两个阈值的不对称设计。表面上看这只是两个数字的取值差异,但背后其实是一整套关于"错误代价不对称"的思考:错误地退休一条本该继续探索的分支,代价比错误地修剪一条本可能收敛的分支要小得多,因为退休至少保留了当前的判断,而修剪是彻底清零。这种基于风险不对称做阈值设计的思路,在很多资源分配问题里都值得借鉴,不只是AI推理这一个场景。

论文里没有细说的一点是,如果推理任务本身的答案空间是开放式的(比如写一篇文章而不是解一道有明确答案的数学题),这套依赖"答案分布收敛"的框架还能不能工作。目前的实验全部集中在有明确标准答案的数学和科学题上,这个方法能不能推广到更模糊的生成任务,是一个值得继续追问的问题。

Q&A

Q1:ParaTempo是什么?

A:ParaTempo是上海交通大学团队提出的一种无需训练的并行推理控制框架,它通过一个叫时间置信度的信号,动态判断每条推理分支是否已经收敛到答案,从而实现分支修剪、提前退休、算力分叉和全局提前终止,在保持推理准确率的同时大幅降低计算成本。

Q2:时间置信度和瞬时答案置信度有什么区别?

A:瞬时答案置信度只看某一次探测的结果,容易被推理过程中的一时波动误导,标准化波动率高达0.26;时间置信度是把最近多次探测的答案分布聚合平均后再计算的,波动更小、更稳定,跟未来答案是否保持一致的相关性也更强。

Q3:ParaTempo能节省多少计算成本?

A:跟标准的自我一致性方法比,ParaTempo在保持正确率基本不变的前提下,能将平均延迟降低21.8%到32.2%,总生成token数减少18.1%到30.3%,跟同类动态控制方法比也有明显的效率和准确率优势。