lightbulb 背景与动机

近年来,像GPT-4这样的大模型在数学、编程等推理任务上表现惊人。这背后的一大功臣是一种叫做强化学习(RL)的训练技术。它就像一个严厉的教练,通过奖励和惩罚,不断地"打磨"一个已经训练好的基础模型(Base Model),让它在特定任务上表现得更好。

然而,一个核心问题一直困扰着研究者们:强化学习究竟是教会了模型新知识,还是仅仅让模型更擅长利用它已有的知识?

这就引出了"分布锐化(distribution sharpening)"这个概念。想象一下,基础模型对一个问题的答案有一个概率分布,可能正确的答案A有10%的概率,不错的答案B有8%,而错误的答案C、D、E等瓜分了剩下的概率。强化学习可能并没有创造新的知识,而只是把这个分布"锐化"了:把原来10%的概率集中到了答案A上,变成了80%,而其他答案的概率则被大大压缩。

这篇论文的作者们正是基于这个猜想,提出了一个大胆的想法:如果我们能绕过强化学习这个复杂、昂贵且耗费数据的训练过程,直接在模型进行"思考"和"回答"(即推理时)的过程中,通过一种更聪明的采样方法,直接从那个被"锐化"的理想分布中抽取答案,是不是也能达到同样甚至更好的效果?

psychology 核心概念:Power Sampling

论文的核心创新是提出了一种新的采样目标:对于推理任务,我们应该从一个被称为"幂分布(Power Distribution)"的分布中进行采样。这个分布是基础模型原始概率分布的α次方(α>1),它天然地放大了高概率(好)答案的优势,抑制了低概率(差)答案的干扰。

Ppower(x) ∝ [Pbase(x)]α

设计了一种可行的采样算法:直接从幂分布中采样在计算上是行不通的。为此,作者设计了一种基于马尔可夫链蒙特卡洛(MCMC)的迭代式采样算法。这种方法可以在不进行额外训练的情况下,近似地从目标幂分布中生成答案。

通过大量实验证明,他们提出的这种"免训练"采样方法,在多个高难度推理任务上,其单次回答的准确率能够媲美甚至超越经过复杂强化学习微调的模型。

code 技术细节与实现

一个标准的语言模型生成文本的概率是这样计算的:

P(x1:T) = P(x1) × P(x2|x1) × ... × P(xT|x1:T-1)

关键区别:Power Sampling vs. 低温采样

在t时刻,如何决定下一步走哪条路xt

(1)低温采样 (The Impatient Writer / "贪心"的登山者)

下一步走xt这条路的倾向性 ∝ ( Σxt+1:T P(xt:T|x1:t-1) )α

这就像登山者,他把从xt出发的所有未来路径的"容易程度"简单相加,得到一个总分,然后再把这个总分进行夸张(α次方)。这种方法的问题在于,一条"绝妙"的路径可能会被十条"平庸"的路径的综合得分所淹没。

(2)幂分布采样 (The Strategic Writer / "战略规划"的登山者)

下一步走xt这条路的倾向性 ∝ Σxt+1:T [P(xt:T|x1:t-1)]α

幂次α放到了求和符号的里面!这意味着,战略登山者会先对每一条未来路径的"容易程度"进行夸张化的评分,然后再把这些被夸张过的分数加起来。

这样一来,只要有一条通往山顶的"绝妙路线",即使它的原始"容易程度"只比其他路线高一点点,经过α次方的夸张后,它的评分会变得极其高,从而主导整个决策,让登山者坚定地迈出通往这条绝妙路线的第一步。

实现方法:Metropolis-Hastings (路线的"迭代优化")

理论上幂分布采样很美好,但实际上不可能真的去遍历所有未来的路径。于是MCMC方法登场了。算法的核心是"接受率"公式:

接受新路线的概率 = min(1, (Ppower(新路线) / Ppower(旧路线)) × (q(旧路线|新路线) / q(新路线|旧路线)))

这里的Ppower就是想要的幂分布评分。这个公式告诉我们:

  • 如果新路线的评分更高,那么接受它的概率就很大。
  • 如果新路线的评分更低,仍然有一定概率接受它,这个概率正好等于评分的比值。

这就是迭代优化的过程。通过不断地"提出新路线 → 按概率接受或拒绝",手里的路线会越来越接近最优解。

account_tree 算法流程

假设收到一个问题(Prompt),比如"请用Python写一个斐波那契数列的函数"。目标是生成一段高质量、正确的代码。

输入和准备工作

  • 输入:一个基础语言模型(比如Qwen2.5-Math-7B),一个问题(Prompt),以及一些超参数
  • α(幂指数,比如4.0):决定了对"好答案"的推崇程度有多夸张
  • L(最大生成长度,比如512):答案的最大token数
  • B(块大小,比如32):将把整个生成过程分成L/B个阶段,每个阶段处理B个token
  • K(MCMC步数,比如10):在每个阶段,要对生成的文本进行多少轮的"迭代优化"

流程开始:分块生成与优化

整个流程不是一口气生成L个token,而是像写一本书一样,一章一章(一个块一个块)地写,并且每写完一章都要回头反复修改和润色。

1
生成并优化第一个块
2
生成并优化第二个块
3
继续生成后续块

阶段 1: 生成并优化第一个块 (tokens 0 到 B-1)

  1. 初始草稿:首先,让模型从Prompt开始,正常地(自回归地)生成第一个块的B个token。这可以看作是整个答案的"第一段草稿"。称这个序列为x(0)
  2. 进入优化循环 (MCMC):接下来,对这个B token长的草稿进行K轮的迭代优化。每一轮优化包含以下步骤:
    • 选择修改点——在当前的B个token中,随机选择一个位置i(从0到B-1)。
    • 提出修改方案——保留i位置之前的所有token不变,从i位置开始让模型重新生成直到块的末尾(B-1),得到"修改后的草稿"x'。
    • 评估修改方案——计算接受这个修改方案的概率a。具体来说:计算两个草稿的"最终评分"Ppower(x)和Ppower(x'),然后根据Metropolis-Hastings公式计算接受率a。
    • 做出决策——生成一个0到1之间的随机数。如果这个随机数小于或等于a,就接受这个修改,令x = x';否则放弃修改,x保持不变。
  3. 完成第一阶段:在K轮优化结束后,得到的x就是第一个块的"最终定稿"。将其固定下来,不再改动。

阶段 2: 生成并优化第二个块 (tokens B 到 2B-1)

  1. 生成新草稿:以上一阶段的"最终定稿"(B个token)作为新的上下文(prefix),让模型继续正常生成B个新的token。现在有了一个2B token长的序列,这是当前阶段的"初始草稿"x(0)
  2. 进入优化循环 (MCMC):再次对这个完整的2B token长的草稿进行K轮的迭代优化。每一轮优化包含以下步骤:
    • 选择修改点——在当前的2B个token中,随机选择一个位置i(从0到2B-1)。
    • 提出修改方案——保留i之前的部分,从i开始重新生成直到2B的位置,得到x'。
    • 评估与决策——计算两个2B token长序列的最终评分,并根据Metropolis-Hastings规则决定是否接受x'来更新x。
  3. 完成第二阶段:K轮结束后,得到的x就是前两个块的"最终定稿"。将其固定下来。

后续阶段...

这个过程不断重复。在第k个阶段,会基于前(k-1)×B个已定稿的token,生成第k个块,然后对整个k×B长的序列进行K轮的优化,最后将结果定稿。

流程结束:输出最终结果

当最后一个块(第L/B个块)也经过生成和优化后,得到的完整的L token序列,就是整个算法的最终输出。

渐进式构建:答案是一块一块生成的,而不是一次性完成。
全局回顾性优化:在优化第k个块时,算法会回顾并可能修改从第0个token到第k×B个token中的任何一个位置。
计算换质量:这个过程显然比普通的单次生成要慢得多,因为它包含了大量的内部重生成和评估。

science 实验验证

主实验设计解读:核心论点的验证

核心主张:无需额外训练,仅通过在推理时使用Power Sampling方法,基础语言模型就能在复杂的推理任务上达到甚至超越经过强化学习(RL)微调的模型。

实验设计:设计了一场"三国演义":

  • 基础模型 (Base):代表了现有技术的起点,使用常规的采样方法。
  • 强化学习模型 (GRPO):代表了当前提升推理能力的主流SOTA(State-of-the-Art)范式,是一个强大的、需要被挑战的对手。GRPO是当时用于提升LLM推理能力的先进RL算法。
  • 本文方法 (Power Sampling):作为挑战者,需要在性能上证明自己。
数据集 Base GRPO (RL) Power Sampling
MATH500 45.2% 58.7% 58.9%
HumanEval 38.4% 48.6% 52.3%
GPQA 33.7% 39.5% 41.2%
AlpacaEval 2.0 17.8% 28.3% 31.5%

消融实验分析:内部组件的贡献

通过一系列类似消融实验的参数敏感性分析,以验证其方法中关键设计的有效性。

对α的分析:当α=1时,Power Sampling退化为普通采样,性能最低;随着α从1增加到4,模型在MATH500上的准确率显著提升,这证明了"锐化分布"这一核心思想的必要性;当α过大(趋于无穷)时,性能反而可能下降,说明过于贪婪地追求最高概率并非最优策略。结论:存在一个"甜点"区间(如α=2到4),证明了幂分布作为一个采样目标是有效且鲁棒的。

对K的分析:当K=0(没有迭代优化)时,性能最低;随着K从2增加到10,准确率稳步提升,这直接证明了MCMC迭代优化过程的不可或缺性。结论:性能的提升与投入的推理时计算成正比,直到某个饱和点。这不仅证明了MCMC的有效性,还揭示了该方法的一个优点:性能是可调节的。

多样性分析 (pass@k):实验目的是直观地验证一个广为人知的RL的痛点"多样性崩塌",并证明Power Sampling能够避免此问题。实验设计为:对同一个问题,让模型生成k个不同的答案,只要其中有一个是正确的,就算通过,pass@k就是k次尝试的通过率。实验结论:GRPO的pass@k曲线在k=1之后迅速变得平坦,说明它只会反复生成少数几个高质量的答案;而Power Sampling的曲线则持续稳定上升,说明它能源源不断地生成多样化且高质量的候选答案;这个实验从一个全新的维度(多样性)证明了Power Sampling相比RL的优越性。