不确定性信号有帮助吗?基于回滚机制的不确定性感知解码系统性研究
摘要
本文系统评估了基于回滚机制的不确定性感知解码,以改进大语言模型中的代码生成,并展示了使用不确定性信号相对于标准方法的性能提升。
arXiv:2608.14653v1 公告类型:新
摘要: 预测不确定性是广泛采用的用于量化模型置信度的指标,其下游应用包括模型解释、数据选择和预测回滚。尽管其已证明有用,但不确定性量化在增强大语言模型(LLM)代码生成方面的潜力仍未得到充分探索,这引发了一个关键问题:不确定性在多大程度上可以作为改进基于LLM的代码生成的有效信号?
为回答此问题,我们研究了不确定性感知回滚解码,这是一种推理时策略,利用不确定性信号识别不可靠的生成区域,并回滚到早期有效的前缀,无需重新训练模型。我们在统一解码设置下,对七个代码LLM、五个代码生成基准和八个词元级不确定性信号评估了该框架。
我们的结果表明,完整的回滚框架在评估的基准和模型设置上优于等预算重启,在功能代码生成基准上pass@1最高提升0.26,AvgTestPassRate最高提升0.35,在Dsec-Python上Patch-Aligned Safe Rate绝对改进高达6.4\%。在评估的信号中,信息论度量如词元熵和负对数似然显示出最有利的整体趋势,经常在标准基准上取得最佳或接近最佳的结果。组件控制的消融实验进一步表明,反馈引导的回滚提供了主要改进,而不确定性定位在检查、预算、回滚和分支衰减固定时提供了额外增益。
查看缓存全文
缓存时间: 2026/08/18 10:21
# 不确定性信号有用吗?面向回滚机制的不确定性感知解码系统性研究
来源:https://arxiv.org/html/2608.14653
###### 摘要
预测不确定性是量化模型置信度的广泛采用指标,其下游应用涵盖模型解释、数据选择和预测回滚。尽管其效用已得到证实,但不确定性量化在增强大语言模型(LLMs)代码生成方面的潜力仍很大程度上未被探索,这引发了一个关键问题:不确定性在多大程度上可以作为改善基于LLM代码生成的有效信号?
为回答此问题,我们研究了不确定性感知回滚解码——一种推理时策略,它利用不确定性信号来识别不可靠的生成区域,并回滚到早期的有效前缀,而无需重新训练模型。我们在统一的解码设置下,对七个代码LLM、五个代码生成基准测试和八个令牌级不确定性信号评估了该框架。
我们的结果表明,在所评估的基准测试和模型设置中,完整的回滚框架优于预算相等的重启方案,在功能代码生成基准测试中,pass@1提升最高达0.26,AvgTestPassRate提升最高达0.35,在Dsec-Python上的Patch-Aligned Safe Rate绝对改进最高达6.4%。在评估的信号中,基于信息论的度量,如令牌熵和负对数似然,显示出最有利的整体趋势,经常在标准基准测试上达到最佳或接近最佳的结果。一项受控组件消融分析进一步表明,反馈引导的回滚提供了主要改进,而在固定检查、预算、回滚和分支衰减时,不确定性定位提供了额外的增益。
## I 引言
大语言模型(LLMs)在广泛的代码生成基准测试上取得了强劲表现,从函数级合成任务到更现实的涉及基于执行的评估和复杂指令的编程场景[7, 6, 24, 41]。尽管取得了这些进展,代码生成本质上仍然脆弱。与自然语言生成不同,代码受严格的语法、语义和执行约束,因此一个早期的错误就可能使整个程序无效。在标准的从左到右解码下,这些错误会被不可逆地纳入生成前缀,并可能随后传播到后续语句中,导致错误累积并放大其下游影响。
先前的工作通过自我调试、迭代优化、执行指导和中间验证来改进生成的代码[8, 25, 26, 36, 20]。基于回滚的解码进一步允许在产生完整程序之前纠正失败[17],而不确定性估计可以识别不可靠的生成[19, 10, 27]。然而,后生成修复仅在错误传播后才起作用,而不确定性主要被研究为最终答案可靠性的度量,而非解码时的控制信号。
因此,我们研究不确定性是否可以指导回滚定位和重新生成。我们的统一框架增量生成并检查代码,在检测到失败后回滚,并使用不确定性来识别不可靠区域。在固定的回滚机制下,我们比较了基于信息论和基于采样的信号在多个基准测试和模型规模上的表现。
我们的研究围绕三个研究问题展开:
- •RQ1:完整的回滚框架是否在不同数据集和模型上优于预算相等的重启方案?我们通过在多个基准测试和模型系列上将完整框架与预算相等的重启进行比较来回答这个问题。此比较评估的是完整框架,而非隔离不确定性。
- •RQ2:回滚、不确定性和分支衰减各自的贡献是什么?此处,回滚指在检测到失败后恢复到早期的生成前缀,不确定性指用于定位不可靠生成步骤的基于模型的信号,分支衰减指一种减少对无望分支重复探索的机制。我们通过消融实验、回滚定位诊断以及将不确定性引导定位的效应与额外生成预算隔离开来的同预算比较来回答这个问题。
- •RQ3:不确定性在不同类型的回滚触错误误中表现如何?我们通过分析不同类别的回滚触错误误中不确定性分数的分布来回答这个问题。
我们的结果表明,在所评估的设置中,完整的回滚框架优于预算相等的重启方案。匹配的组件消融将主要改进归因于反馈引导的回滚,将额外增益归因于不确定性定位。在所评估的设置中,基于信息论的信号通常比基于采样的替代方案提供更稳定的收益。
总而言之,本文做出了以下贡献:
- •我们提出了不确定性感知回滚解码,作为一种缓解基于LLM代码生成中错误累积的解码时策略。
- •我们在统一的回滚框架内,对基于信息论和基于采样的不确定性信号进行了受控的实证比较。
- •我们对完整的回滚框架进行了多基准、多模型的评估,同时进行了受控组件的不确定性消融分析,以及对回滚定位、令牌成本和同预算替代方案的诊断。
## II 问题陈述
我们将代码生成形式化为一个以问题规范为条件的自回归解码过程。给定输入提示x(例如,函数签名加自然语言描述),预训练语言模型生成长度为T的输出令牌序列y_{1:T}=(y_1,...,y_T),其中y_t表示位置t处的令牌。我们用y_{<t}=y_{1:t-1}表示步骤t之前生成的前缀。完整序列的条件分布分解为
p(y_{1:T} | x) = ∏_{t=1}^T p(y_t | x, y_{<t})。
标准的从左到右解码无法修改错误的前缀,因此早期的代码错误可能传播到后续语句并导致执行失败[36, 17, 28, 7]。对于代码而言,这一点尤其成问题,因为一个决策可能使剩余的程序在语法上无效、语义上不一致或不可执行。
基于回滚的解码允许在检测到失败后进行修改。基于执行的反馈已被用于评估生成的代码并指导推理时的修改或选择[26, 36, 17, 23, 21, 39, 3]。在我们的框架中,执行反馈决定*是否*需要重新考虑当前前缀,而不确定性则细化*应该*在何处回滚[19, 10]。设r < t表示回滚位置。当对应于前缀y_{1:t}的当前部分程序未通过执行检查或测试用例时,生成的序列被截断回早期的前缀y_{<r}=y_{1:r-1},解码从位置r恢复。这将生成过程从严格向前的过程变成了带有选择性修改的搜索。关键的子问题是选择r:没有一个原则性的标准,回滚仍然是启发式操作。我们研究从预测分布派生的不确定性信号作为此选择的基础[19, 10, 27]。在解码过程中,每个生成的令牌y_t都与一个不确定性分数u_t相关联,该分数从预测分布p(· | x, y_{<t})计算得出,例如使用令牌熵或负对数似然。具有高不确定性的令牌表示预测分布分散的位置,表明置信度较低且错误生成的可能性较高。
中心问题不仅在于回滚是否有帮助,还在于不确定性是否能指示回滚应该发生的位置。因此,我们在固定回滚机制的同时改变不确定性信号,从而能够对照标准解码和不确定性无关的回滚进行受控评估。
## III 不确定性信号
由于回滚是在线运行的,其不确定性估计器必须是可高效计算和局部化的。我们区分:*单次前向传播令牌级信号*(可在每个解码步骤的单次前向传播中计算)和*多次前向传播信号*(需要重复前向传播以更稳健地估计预测不确定性)。这遵循了从单一预测分布得出的度量与通过随机推理或委员会式分歧估计的度量之间的标准区分[30, 12, 31]。
### III-A 单次前向传播令牌级信号
单次前向传播令牌级信号直接从p(· | x, y_{<t})计算得出,无需额外的随机采样。我们评估了六种此类信号:
- •平均负对数似然(Avg NLL):生成令牌的平均意外度[32]。
- •最大令牌熵(Max Token Entropy):当前语句或片段内的最大令牌级熵[32, 30]。
- •最大概率(Max Probability):令牌置信度转换为不确定性:1 - max_v p(v | x, y_{<t}),并使用语句内的最大转换分数[22, 30]。
- •最小置信度(Least Confidence):相同的令牌级转换,1 - max_v p(v | x, y_{<t}),在语句上取平均值。因此,两种置信度度量具有相同的方向,但在语句级聚合上有所不同[22, 30]。
- •置信度差(Margin of Confidence):1 - (p_{(1)} - p_{(2)}),其中p_{(1)}和p_{(2)}是最大的两个令牌概率;语句分数使用均值[30]。
- •基尼不纯度(Gini Impurity):1 - ∑_v p(v | x, y_{<t})^2,捕捉分布的离散度[4]。
Avg NLL、最小置信度、置信度差和基尼不纯度使用语句均值;最大令牌熵和转换后的最大概率使用语句最大值。较大的值始终表示较高的不确定性。
### III-B 多次前向传播信号
多次前向传播信号需要重复的随机前向传播。我们考虑两种此类信号:
- •预测熵(Predictive Entropy):跨随机样本的平均预测分布的熵[12, 13]。
- •变异比(Variation Ratio):1 - f/N,其中f是N个样本中众数令牌的频率[31, 13]。
这些信号需要重复的随机推理,因此成本高于单次前向传播信号[12]。
### III-C 在回滚解码中的使用
不确定性是对执行反馈的补充,而非替代。执行检查指示生成的前缀*是否*存在问题,而不确定性有助于定位*应该*回滚到何处。对于单次前向传播信号,令牌分数在当前语句跨度上进行聚合:Avg NLL使用平均令牌意外度,最大令牌熵使用最大令牌熵,置信度风格的信号经过调整,使得较大的值表示在语句级排序前较低的置信度。
对于多次前向传播信号,令牌分数从多个随机前向传播计算得出,并在每个语句内取平均值,然后在触发回滚之前[12, 13]。表I总结了本文评估的不确定性信号及其按计算类型的分组。
表I:本文考虑的不确定性信号。计算类型 | 信号
--- | ---
单次前向传播令牌级 | Avg NLL, Max Token Entropy, Max Probability, Least Confidence, Margin of Confidence, Gini Impurity
多次前向传播采样式 | Predictive Entropy, Variation Ratio
所有信号都集成到相同的回滚框架中,因此解码、检查和回滚条件在所有估计器之间保持一致。我们的目标不是提出新的估计器,而是比较哪些信号最能支持基于回滚的修正。我们强调单次前向传播信号用于在线使用,而多次前向传播估计器作为更高成本的参考[12, 30]。
见图例图1:研究设计概述。任务设置结合了编程提示、可见的公共测试、七个代码LLM和八个不确定性信号。在解码过程中,成功的块扩展已接受的前缀,而失败的检查触发反馈或不确定性引导的回滚、分支衰减、前缀恢复和重新生成。评估涉及整体有效性、组件贡献以及跨回滚触错误误类型的不确定性。
## IV 不确定性感知解码框架
图1展示了我们框架的整体工作流程。
基于回滚的代码解码[17],我们实例化了一个统一的主干,它交替进行增量生成、轻量级检查和基于回滚的修改,同时仅改变不确定性信号。给定任务提示和公共测试,解码器生成局部块,而不是一次生成整个程序。执行反馈决定是否需要修改,而不确定性细化回滚位置。我们的目标不是提出新的回滚机制,而是在相同的生成、检查和重新生成协议下进行受控比较。
##### 增量语句生成。
如图...相似文章
不确定性不足时:代码生成中自我纠正的实证研究
本文实证研究了使用不确定性估计方法进行代码生成中的自我纠正,发现基于不确定性的方法未能提高Pass@1准确率,而基于验证的方法则取得了显著增益。
大型语言模型黑盒不确定性估计方法的系统性评估
本文对4种模型和4种数据集设置下的24种黑盒不确定性估计方法进行了系统性回顾和基准测试,发现没有任何单一方法占主导地位,但结合多种不确定性信号的混合方法表现出色。
EfficientRollout:用于RL推演的系统感知自推测解码
EfficientRollout是一个系统感知的自推测解码框架,通过使草稿模型适应不断变化的策略并优化推测解码机制,加速LLM的强化学习推演,将延迟降低高达19.6%。
多模态大语言模型中的不确定性感知决策
本综述整理了多模态大语言模型中不确定性感知决策的研究,涵盖了不确定性的来源、校准方法,以及提高系统可靠性和安全性的行动。
DUD: Decoupled Update Dynamics for Reliable Uncertainty Quantification in Large Language Models
The paper introduces DUD (Decoupled Update Dynamics), a framework that separates Feed-Forward Network and Attention contributions via causal interventions to improve uncertainty quantification and calibration in large language models, outperforming state-of-the-art baselines.