QA

  1. Deep think with confidence:本文章着力于在推理阶段,节省并行思考的计算量,同时保持甚至提升输出结果的准确度。这种置信度衡量的方式,能否也用于训练阶段?
  • 置信度可以作为一种信号,来动态地调整训练过程。
    • 课程学习 (Curriculum Learning):
      训练初期,先给模型看那些它高置信度就能解决的“简单”问题。
      随着模型能力增强,逐步引入那些让它感到低置信度的“困难”问题。
      这样由易到难的学习路径,比随机混合所有数据进行训练,可能更符合学习规律,效果更好。
    • 数据加权 (Data Weighting): (类似于强化学习公式,对于超出最大、最小范围数值的裁剪)
      在训练时,对于那些模型低置信度但最终做对了的样本,可以给予更高的权重(loss weight),因为这些是模型“学到了新东西”的宝贵案例。
      对于那些模型高置信度且做对了的样本(“过于简单”),可以降低它们的权重。
      对于那些模型高置信度但做错了的样本(“迷之自信”),需要给予极高的权重,因为这暴露了模型的知识盲区或偏见,需要重点纠正。
  1. Teaching models to express their uncertainty in words是22年的工作,现在的大模型是如何衡量输出结果的置信度,以及如何把置信度估计加入到训练过程?
  • 衡量输出结果的置信度:截止25年12月,现在最新的模型都可以对输出结果进行置信度估计,估计准确度比较高,但仍存在幻觉。
    • 测试qwen3-max模型,可以根据不同的问题,给出答案,以及这个答案的置信度估计。
    • 测试gemni-2.5 pro模型,模型根据问题,会自动判断是模型脑袋给出输出,还是工具脑袋给出输出,比如对于134*2345,模型分析认为是数学题,声称调用了计算器工具,然后认为计算器不会出错,模型脑袋给出100%置信度估计。但实际上没有成功调用计算器,自己抢答了一个错误结果且没有意识到,出现了幻觉。(我的训练数据告诉我:对于精确的数学问题,一个先进的AI应该使用计算工具—>如果使用了计算工具,那么置信度就应该是100%—>解释置信度的理由应该是“我调用了确定性的工具”—>于是,我的“语言大脑”出色地完成了这个文本生成任务,它写出了一段完美的、逻辑自洽的解释:“我调用了计算器工具,因此我有100%的置信度。”这里发生了“事实”与“叙事”的分裂:)
    • 表达输出置信度方面,可以分为两大类:
      • 模型内生的隐式表达 :
        • 使用限定词和模糊语言:比如对于答案不确定时,它不会直接说“我不确定”,而是会使用一些“话术”,比如,“很可能”,“根据掌握的xxx信息”来降低其陈述的绝对性。
        • 主动承认知识边界:当被问及超出其知识范围或训练数据截止日期之后的事情时,这些模型被明确地训练要承认这一点。“拒绝回答”本身就是一种非常强烈的、关于其能力边界的置信度表达。
      • 外部框架引导的显式表达。
        • 通过Prompt Engineering进行引导,在输出答案的同时,附加对答案的置信度,现在的模型instruct 工程都做的比较好,可以通过prompt 成功引导
        • 利用Function Calling / Tools,模型从“尝试成为全知全能者”变成了“知道何时求助专家的聪明协调者”。通过判断是否需要调用工具,模型隐式地表达了对自己独立完成任务的置信度。当它选择不使用工具直接回答时,意味着它认为自己有把握;当它选择使用工具时,意味着它对自己没把握。
        • 系统级框架 (高级应用)multi-agent,Verification Frameworks: 在复杂的AI系统中,置信度可以通过多智能体协作、生成-验证等流程来系统性地得出,而不仅仅依赖于单个模型的输出。

Deep think with confidence

  • meta
  • 2025.8
  • project: https://jiaweizzhao.github.io/deepconf/

一、核心问题与背景

  1. 现有方法的困境:

    • 为了让LLM在数学、编程等复杂推理任务上表现更好,一个常用且有效的方法叫做“自洽性 (Self-Consistency)”或“平行思考 (Parallel Thinking)”。
    • 这个方法很简单:让模型针对同一个问题,独立地生成很多个(比如512个)不同的解题思路(称为“推理迹线”,reasoning traces)。最后,通过“少数服从多数 (Majority Voting)”的原则,选择出现次数最多的答案作为最终答案。
    • 问题1:成本高昂。生成512个解题过程,计算量就是原来的512倍,这在实际应用中是无法接受的。
    • 问题2:收益递减。当生成的解题思路数量增加到一定程度后,准确率的提升会变得非常缓慢,甚至可能因为低质量的思路过多而下降。
  2. 现有方法的缺陷:

    • 传统的“少数服从多数”投票法有一个致命缺陷:它平等地对待每一个解题思路。无论一个思路是清晰、流畅、充满自信,还是磕磕巴巴、自我怀疑,它都只算一票。这显然不合理。

二、DeepConf的核心思想

这篇文章提出的 DeepConf (Deep Think with Confidence) 方法,其核心思想非常直观且巧妙:利用模型自身的“自信程度”来判断解题思路的质量,从而对它们进行筛选或加权。

  • 什么是“自信程度”?
    • LLM在生成每一个词(token)时,都不是随口一说的,它内部会有一个关于下一个词应该是什么的概率分布。
    • 如果模型对下一个词非常确定,那么这个概率分布会非常“尖锐”(比如99%的概率是A,其他词概率极低),这代表高置信度
    • 如果模型很纠结,不确定下一个词是什么,那么概率分布会很“平坦”(比如A、B、C的概率差不多),这代表低置信度
  • DeepConf如何利用“自信程度”?
    • 通过计算每个解题思路中所有(或部分)token的置信度,可以给整个思路打一个“质量分”。
    • 一个高质量的解题思路,通常全程都比较“自信”;而一个低质量的思路,很可能在某个关键步骤上表现出“犹豫”和“不确定”(例如,模型会生成“等等,我再想想”、“让我重新检查一下”等词语,此时置信度会显著下降)。
    • DeepConf就是通过这个“质量分”来过滤掉低质量的思路,或者在投票时给高质量的思路更大的权重

三、DeepConf的具体实现

在这里插入图片描述

DeepConf提出了几种衡量“置信度”的指标,并设计了两种工作模式:离线思考 (Offline Thinking)在线思考 (Online Thinking)

1. 置信度衡量指标

论文不只使用简单的平均置信度,而是提出了几种更精细的指标,因为一个思路的质量往往取决于其最薄弱的环节:

  • 组置信度 (Group Confidence): 不看单个token,而是看一个滑动窗口内(比如最近的1024个token)的平均置信度。这可以平滑噪声,得到更稳定的局部置信度信号。
  • 最低组置信度 (Lowest Group Confidence): 整个解题思路中,置信度最低的那个“组”的置信度。这就像木桶效应,一个思路的质量取决于其最不确定的那一步。
  • 底部10%组置信度 (Bottom 10% Group Confidence): 将所有组置信度排序,取最低的10%求平均。这是对“最低组置信度”的一个更鲁棒的估计。
  • 尾部置信度 (Tail Confidence): 只看解题思路最后一部分(比如最后2048个token)的置信度。因为很多错误发生在最后得出结论的步骤。

实验证明,最低组置信度、底部10%组置信度尾部置信度这些局部指标,比全局平均置信度更能有效地区分正确和错误的解题思路。

  • 根据推理路径的每个token 概率值,计算对应的置信度结果(概率越高,对应的置信度越高),按照需求统计

2. 离线思考模式 (Offline Thinking)

在这种模式下,模型已经生成了全部N个解题思路。DeepConf要做的是如何更好地利用它们。

  • 置信度过滤 (Confidence Filtering): 根据上面计算出的置信度分数,只保留质量最高的 前η% 的思路(比如前10%或前90%)。
  • 置信度加权投票 (Confidence-Weighted Majority Voting): 在投票时,每个答案不再是简单的+1票,而是加上它对应思路的置信度分数。这样,由高置信度思路得出的答案会有更大的影响力。

离线模式的核心目标:提升准确率。 实验表明,即使只保留前10%最高质量的思路进行投票,准确率也远超传统的512路多数投票。例如,在AIME 2025测试中,GPT-OSS-120B模型使用DeepConf后准确率达到99.9%,几乎完美,而传统方法只有97.0%。

3. 在线思考模式 (Online Thinking)

这是DeepConf更具创新性和实用价值的部分。它在模型生成解题思路的过程中实时监控置信度。

  • 工作流程:
    1. 热身 (Offline Warmup): 先生成少量(比如16个)完整的解题思路。
    2. 设定阈值 (Set Threshold): 根据这16个思路的置信度,计算出一个“及格线”(置信度阈值s)。例如,取这16个思路中,置信度排名前90%的思路里分数最低的那个作为阈值。
    3. 动态提前终止 (Dynamic Early Stopping): 之后,在生成新的解题思路时,实时计算“组置信度”。一旦当前的组置信度低于这个“及格线”s,就立即停止生成这个思路,因为它很可能是一个低质量的思路,没必要再浪费计算资源了。
    4. 自适应采样 (Adaptive Sampling): 在生成一定数量的思路后,如果大多数思路得出的答案已经高度一致,就提前停止整个过程,不再生成更多的思路。

在线模式的核心目标:在保持(甚至提升)准确率的同时,大幅节省计算成本(减少生成的token数量)。 实验结果惊人,在AIME 2025上,与生成完整的512个思路相比,DeepConf最多可以**减少84.7%**的token生成量,同时准确率不降反升。

四、实验结果与结论

  • 效果显著: 无论是在离线还是在线模式下,DeepConf都表现出色。它不仅能将准确率推向新的高度(在某些任务上达到近100%),还能极大地降低计算开销。
  • 普适性强: 该方法在多种模型(从8B到120B参数)、多种高难度推理任务(数学竞赛题AIME, HMMT等)上都取得了稳定的效果。
  • 实现简单: DeepConf不需要重新训练模型,也不需要复杂的超参数调整,可以无缝集成到现有的服务框架中(论文附录甚至给出了在vLLM框架中修改几行代码就能实现的教程)。

五、总结

《Deep Think with Confidence》提出了一种简单、优雅且高效的方法,来优化大模型的推理过程。它抓住了“模型置信度”这一内在信号,巧妙地解决了“平行思考”策略中成本与性能的矛盾。

可以把它理解为给LLM的“思考”过程装上了一个质量监控器:

  • 离线模式下,它像一个评审员,对已经完成的所有“答卷”进行打分和筛选,选出最好的答案。
  • 在线模式下,它像一个监工,实时监控每一份“答卷”的写作过程,一旦发现写得“磕磕巴巴”、“信心不足”,就立刻让它停笔,避免浪费时间。

这项工作为如何更经济、更有效地利用LLM的推理能力提供了一个极具实践价值的范例,展示了“测试时压缩(test-time compression)”作为一种实用且可扩展的解决方案的巨大潜力。

From Selection to Generation: A Survey of LLM-based Active Learning

主动学习 (Active Learning, AL)

  • 在监督学习任务上,通常需要大量的高质量标注才能让模型达到比较好的性能。Active Learning是希望通过最小数量的标注,解决模型的性能瓶颈:比如长尾数据拟合不好的问题,部分数据预测精度较差的问题。
  • 对于模型而言有两类数据价值比较高:
    • 不确定性(Uncertainty)——模型最没把握的
    • 多样性(Diversity)——覆盖数据空间的不同区域

传统AL的无标注数据挑选策略

  • 传统AL的挑选:它是一个量化、计算驱动的过程。模型扮演的是一个“计算器”的角色,通过数学公式计算出每个样本的“不确定性分数”或“多样性分数”,然后按分数高低进行排序和挑选。

  • 基于不确定性的挑选策略 (Uncertainty-based):这是最主流的一类方法,核心思想是“挑模型最没把握的”。因为模型最没把握的样本,往往位于决策边界附近,学习它们能最快地帮助模型明确边界。

    • 最小置信度 (Least Confidence):实现: 对于一个样本,模型会预测它属于各个类别的概率。比如对于一个三分类问题,预测结果可能是 [0.4, 0.3, 0.3]。我们取其中最高的那个概率值(这里是0.4),这个值就是模型的“置信度”。置信度越低,说明模型越不确定。挑选: 挑选出所有未标注样本中,置信度最低的那个(或一批)。
    • 边际采样 (Margin Sampling):实现: 还是上面的例子 [0.4, 0.3, 0.3]。我们看概率最高和次高的两个值,计算它们的差值(0.4 - 0.3 = 0.1)。这个差值就是“边际(margin)”。边际越小,说明模型在两个最可能的选项之间越纠结。挑选: 挑选出边际最小的那个样本。
    • 最大熵 (Max-Entropy): 实现: 熵(Entropy)是信息论中衡量不确定性的指标。一个概率分布越“平坦”,熵就越大,代表不确定性越高。对于 [0.4, 0.3, 0.3],其熵就比 [0.9, 0.05, 0.05] 要高得多。挑选: 计算每个样本预测概率分布的熵,挑选出熵最大的那个。
    • 委员会查询 (Query-By-Committee, QBC):实现: 训练多个(一个“委员会”)结构或初始化不同的模型。让这个委员会的所有模型对同一个样本进行预测。如果它们的预测结果分歧很大,说明这个样本很有争议,很有价值。挑选: 挑选出委员会成员分歧最大的样本。
  • 基于多样性的挑选策略 (Diversity-based):这类方法旨在确保挑选出的样本能够覆盖数据空间的不同区域,避免挑出来的样本都挤在一个小角落里,从而提高模型的泛化能力。

    • 核心集方法 (Core-Set):实现: 目标是挑选出一小批样本,使得这一小批样本能够“代表”整个未标注数据池。这可以被看作一个设施选址问题:选择k个点,使得所有其他点到这k个点的距离之和最小。挑选: 通常将样本表示为特征向量,然后使用聚类或几何算法(如贪婪的“最远优先”遍历)来挑选出能够最好地覆盖整个特征空间的样本。

LLM的无标注数据挑选策略

  • LLM的挑选方式主要依赖于其强大的上下文理解和推理能力,通常通过精心设计的**提示(Prompting)**来实现。
  • 挑选&生成&标注能力兼备:不仅可以挑选出符合要求的无标注数据,还可以根据元数据样例生成标注数据,以及给无标注数据打标。(为了避免LLM的bias或者幻觉,也可以LLM初标,人工校验,加快速度)

AL 作用于LLM几类后训练(ICL, SFT, 偏好对齐,知识蒸馏)

Active In-Context Learning

  • ICL format:[指令] + [范例1:输入->输出] + [范例2:输入->输出] + … + [新问题:输入->?]。
  • 核心问题: 提示长度是有限的(比如只能放8个范例),应该挑选哪8个范例放入提示中,才能让LLM在回答新问题时表现得最好?
  • 挑选方法:
    • 相似度采样:最大化范例与新问题的相关性,
      • 如何实现:将新问题和候选池里所有的样本用编码器转换成向量,得到cosine距离最近的top-k个样本作为范例。
      • 直观理解:给LLM看和当前问题最像的例子,能最直接地激活它处理这类问题的能力。这是目前被证明在ICL中最简单且有效的方法之一。
    • 核心集选择 (Core-Set Selection) / 语义覆盖 (Semantic Coverage):最大化示例的多样性与覆盖度 (Maximizing Diversity & Coverage)
      • 如何实现:使用聚类算法先将所有样本聚成k类,然后从每个类的中心挑选一个样本。避免选出的范例都太相似。
      • 直观理解:比如都是关于“头痛”的,通过展示不同类型的“药物不良反应”(如头痛、皮疹、恶心),让LLM了解这个任务的全貌,从而提高泛化能力。CoverICL (Mavromatis et al., 2024) 就是这个思路的代表。
    • 不确定性/模糊性采样:选择模型最“需要”学习的示例
      • 如何实现:对于一个新问题,先尝试用不同的范例组合来让LLM回答。观察LLM的输出。如果用不同的范例组合,LLM给出的答案摇摆不定、分歧很大,这说明当前问题对于LLM来说是“模糊的”。此时,主动学习的目标就变成了去候选池里寻找那些能最大程度减少这种模糊性的范例。
      • 直观理解: “诊断”出LLM在面对当前问题时的“知识盲区”,然后有针对性地提供能“答疑解惑”的范例。

Active SFT

  • 目的是最小化昂贵的人工标注成本
  • 方法:用大模型/能力更强的模型去标注最不确定的数据—用于人类标注,最确定的数据用于巩固加强(高置信度伪标签),训练模型。
  • Q:高置信度伪标签在训练时的用法?
  • A:
    • 将伪标签视为真实标签,和真实标签用法一样;
    • 承认伪标签的不可靠性,通过策略来控制其影响、最大化其价值。
      • 损失加权: 降低伪标签数据的损失权重。 T o t a l _ L o s s = L o s s _ h u m a n + α ∗ L o s s _ p s e u d o Total\_Loss = Loss\_human + α * Loss\_pseudo Total_Loss=Loss_human+αLoss_pseudo,其中α (0 < α < 1),直观理解:老师(人工标签)说的话要全信,同学(伪标签)说的参考一下。
      • 一致性正则化: 利用数据增强来强迫模型学习不变性。
      • 课程学习: 逐步、有选择地引入伪标签。
      • 标签修正: 动态更新和提纯伪标签。

Active preference alignment

  • 确保LLM的回答“有用、诚实、无害”,需要大量的偏好数据,即对于一个问题,给出两个或多个回答,然后由人类标注哪个更好。但是这一类偏好数据问题的收集成本高昂。
  • 主动学习如何解决?让模型主动提问,只询问那些最有争议或最不确定的回答对“偏好对”,以最高效地对齐模型。比如,对于问题A,模型生成了两个回答 y1 和 y2,模型自己觉得 y1 比 y2 好的概率是51%,非常接近50%。这就意味着模型极度不确定。那么对于这一类数据辅助人工偏好,能给模型带来最大的信息增益,
  • 总结:从被动接受标注好的偏好数据,到主动根据不确定性选择数据,优化了标注效率。

Active knowledge Distillation

  • 主动选择对学生模型最有帮助的知识进行蒸馏。
  • 具体做法 (论文引用的工作):
    • Zhang et al. (2024c): 提出ELAD,它在蒸馏过程中会关注学生模型的“不确定性”。对于学生模型不确定的样本,会请求教师模型给出更详细的“解释(explanation)”,然后用这些解释来指导学生学习,而不仅仅是最终答案。
    • Liu et al. (2024): 提出EvoKD,这是一个迭代策略。它首先识别出学生模型的“弱点”(在哪些数据上表现不好),然后让教师模型(LLM)动态地生成针对这些弱点的新数据和标签,从而持续地“补强”学生模型。
    • Palo et al. (2024): 提出PGKD,这是一个主动反馈循环,利用“难例挖掘(hard-negative mining)”等性能信号来指导教师模型生成新的数据,从而提升蒸馏效率。

Teaching models to express their uncertainty in words

  • 2022.6
  • open ai & oxford

abstract

  • 模型输出的结果正确性与否,希望模型在输出答案的时候同时输出置信度。之前的置信度表达,使用过token logits 表示,但是这个结果只能表示token level的置信度,不一定代表整体答案事实的置信度。
  • 本文希望能够让模型直接在正确答案后边输出比如"Confidence: 90%" (和主观理解一样)的置信度表达。这就需要对模型进行校准。
  • 事实:反直觉现实,模型的能力和人类不一致,比如让模型总结一个专业领域的文章很简单(对人类很难),让模型计算1+1 很难(对人类很简单)

method

  1. 提出新的测试基准:CalibratedMath,包含21种不同类型小学数学题的测试集,如加减乘除、四舍五入、求余数等。这些问题可以程序化生成,难度可控。
  • 为什么用数学题?
  • 难度可控且与人类不同: GPT-3的数学能力与人类有很大差异。它可能轻松解决复杂的文字问题,却在简单的多位数乘法上出错。这确保了模型不能简单地模仿人类在这些问题上的不确定性,而必须学会表达自己的内在不确定性。
    便于测试分布外泛化: 作者精心设计了训练集和测试集,使其存在分布偏移(distribution shift)。例如,用只有唯一答案的加减法问题(Add-subtract集)来训练模型,然后在有多个正确答案或涉及乘除法的问题(Multi-answer集和Multiply-divide集)上进行测试。这能检验模型学到的“校准能力”是否具有泛化性。
  1. 为了进行公平比较,作者定义并测试了三种衡量模型不确定性的方式:
  • 语言化概率 (Verbalized Probability) - 本文核心做法: 微调模型,让它在生成答案后,紧接着生成一个置信度描述,如“Confidence: 90%”或“Confidence: High”。
    优点: 人类可读,直观,不依赖模型内部logits。
  • 答案Logit (Answer Logit) - 传统基线,做法: 直接使用模型生成答案序列的归一化对数概率。
    缺点: 如前所述,衡量的是token概率,而非事实概率。
  • 间接Logit (Indirect Logit) - 作者提出的新基线,做法: 这是一种更聪明的logits用法。让模型先生成答案,然后在答案后面追加“True/False:”,再看模型预测“True”这个token的概率有多大。这个概率可以作为模型对答案正确性的信心。
    优点: 解决了“答案Logit”无法处理多答案问题和同义词问题的困境。
  1. 如何训练 & 训练数据构造
  • 监督微调(监督微调)。 他们先让GPT-3对CalibratedMath中的每一种子任务(比如“两位数加法”、“三位数减法”)做大量的题,统计出GPT-3在每一种子任务上的经验正确率(empirical accuracy)。
  • 比如: 对于一个属于“两位数加法”任务的问题,如果GPT-3在这个任务上的平均正确率是85%,那么就把“85%”作为这个问题的置信度标签。训练: 用[问题] + [GPT-3的答案]作为输入,用计算出的[置信度标签]作为目标输出,来微调模型。
  1. 结论
  • LLM可以学会用语言表达校准的置信度:经过微调后,GPT-3生成的“语言化概率”表现出了相当好的校准性。即使在有分布偏移的测试集上,其校准能力也能很好地泛化,性能优于或持平于其他基线方法。
  • 这种能力不是简单地复述Logits: 实验发现,“语言化概率”与“答案Logit”在不同任务上的表现相关性并不高。这意味着模型不是简单地学会了把内部的logits值转述成自然语言,而是利用了更深层次的、预训练时就已存在的内在表征。
  • 模型学到的是对自己能力的认知,而非模仿:通过线性探针(Linear Probe)实验,作者发现从GPT-3的嵌入(embeddings)中,可以线性地分离出答案的正确与否。这表明GPT-3在预训练阶段就已经隐式地学习到了哪些问题对自己来说是难的,哪些是简单的。微调的过程,更像是**“激活”了这种潜藏的自我认知能力,并教会了模型如何用语言把它“说出来”**。
  • 少样本学习同样有效:即使不进行大规模微调,仅在提示中给出50个带有置信度的范例(few-shot),GPT-3也能快速学会表达校准的置信度,其效果接近于微调模型。这进一步印证了模型是在利用其预训练时就存在的 latent representations。
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐