- 文档
- 教程
- 大模型
【免费下载链接】Foundations-of-LLMs
A book for Learning the Foundations of LLMs
导读:本篇文章围绕普林斯顿大学等机构提出的TreeBoN(TREEBON: Enhancing Inference-Time Alignment with Speculative Tree-Search and Best-of-N Sampling)展开,系统讲解其如何在推理阶段将投机树搜索与Best-of-N(BoN)采样结合,用从 DPO 隐式奖励改造而来的 token 级加权奖励引导生成,从而在控制计算成本的前提下提升对齐性能与推理效率。读完本文,你将掌握 TreeBoN 的五步树搜索流程、加权部分奖励的数学形式、关键超参数(层数、子节点数、根样本数)的作用,以及它相对传统 BoN 与 Speculative BoN 的优势边界。本文是仓库中「Arxiv 一周进展报告(大模型方向)」系列的一篇深度解读,相关论文解读原文见 20241018-20241024 周报中的 TreeBoN 文档,同期聚焦 BoN 加速的另一篇解读可参考 CMU 与普林斯顿大学携手改进 BoN 算法。
一、研究背景:推理时对齐与 BoN 采样的困境
1.1 为什么要"推理时对齐"
让大语言模型的输出符合人类意图与伦理标准,是部署前绕不开的环节。传统路线是训练时对齐,例如基于人类反馈的强化学习(RLHF)与直接偏好优化(DPO),它们通过在人类偏好数据集上微调模型实现对齐,但成本高昂:需要大量时间、数据与计算资源,且面对多目标偏好时训练流程复杂。
推理时对齐(Test-Time Alignment)则提供了另一条路径:不改动模型权重,只在解码阶段调整生成策略,以较低代价让输出贴近人类偏好。TreeBoN 正属于这一类方法。仓库《大模型基础》教材的第 3 章 Prompt 工程 与第 1 章 语言模型基础 对采样方法与解码策略有系统的铺垫,可作为理解本文的背景读物;大模型经典论文列表 中收录的 Tree of Thoughts、Self-Consistency 等论文则代表了树式搜索与多数投票解码的既有探索。
1.2 BoN 采样:简单有效,但成本线性爆炸
Best-of-N(BoN)采样是推理时对齐中最简单直观的策略:用基础策略生成 N 个完整回答,再用奖励模型对每个回答打分,选出奖励最高的一个作为最终输出。它的优点是实现简单、无需训练,效果通常随 N 增大而提升。
但 BoN 存在明显缺陷:
- 计算成本高:必须完整生成 N 个回答,计算成本随 N 线性增长;
- 延迟与显存压力大:虽然 N 个回答的生成与评估可以并行,延迟在很大程度上不受 N 影响,但当 N 超过单块 GPU 显存可容纳的最大批量大小时,就需要多块 GPU 支撑;
- 对齐效果受 N 制约:要达到接近后训练方法的对齐效果,可能需要 N 达到 1000 甚至 60000 量级,这在算力上往往不可行。
1.3 加速方法的局限:Speculative BoN 的"部分评分不准"难题
针对 BoN 的高成本,已有工作尝试投机式加速(Speculative BoN,SBoN):对部分回答(如前 K 个 Token)进行评分,用部分奖励预测整体回答质量,从而提前淘汰低质量候选。
但 SBoN 依赖一个并不总是成立的假设——部分奖励分数与完整回答奖励正相关。由于奖励模型通常是在完整回答上训练的,对不完整前缀的评分并不准确,预测结果与实际评分存在较大偏差,不仅难以有效提升性能,反而可能损害最终推理效果。
这正是 TreeBoN 要解决的问题。
二、TreeBoN 核心方法:分层树搜索 + 加权部分奖励
2.1 总体思想
TreeBoN 采用层次化策略,将长序列生成过程拆分为多个子序列,通过树结构逐层生成候选回答片段,避免了一次性生成大量完整回答带来的高额计算成本。
算法的整体脉络可以概括为:从一组初始根回答片段出发,在每一层选择高奖励的回答片段,并将其扩展为多个子回答片段。这种对树空间的推测性搜索,同时提升了效率与最终回答质量。
论文信息速览(来自 原始周报文档):
| 项目 | 内容 |
|---|---|
| 论文 | TREEBON: Enhancing Inference-Time Alignment with Speculative Tree-Search and Best-of-N Sampling |
| 作者 | Jiahao Qiu, Yifu Lu, Yifan Zeng, Jiacheng Guo, Jiayi Geng, Huazheng Wang, Kaixuan Huang, Yue Wu, Mengdi Wang |
| 单位 | Princeton University, University of Michigan, Oregon State University |
2.2 五步生成流程
TreeBoN 的生成过程包含以下五个步骤:
① 初始候选生成(Initial Candidate Generation)使用基础策略 $\pi_{base}$ 生成 $N$ 个长度为 $l_1$ 的候选回答片段 $C_1$。总最大回答长度 $l_{max}$ 被分割为多个长度为 $l_i$ 的段(segment),每一层对应一个片段长度。
② 部分奖励评分(Partial Reward Scoring)在每一层 $i$,使用奖励模型或部分奖励函数 $r(y|x)$ 计算候选回答片段 $y \in C_i$ 的奖励分数。评分在生成长度为 $l_i$ 的回答片段后进行,即在每个"决策点"评估当前已生成前缀的质量。
③ 剪枝与选择(Pruning and Selection)根据奖励分数,从当前层中选择前 $N / N_{children}$ 个候选回答片段,形成活动集(active set)$P_i$。这些高奖励的父回答片段将用于在下一层继续生成。
④ 回答片段扩展(Expansion)对于每个父回答片段 $y \in P_i$,TreeBoN 从基础策略 $\pi_{base}$ 中采样 $N_{children}$ 个回答片段,每个片段的最大新 token 长度为 $l_{i+1}$,从而生成下一层的候选集 $C_{i+1}$。
⑤ 最终选择(Final Selection)在生成完所有层的候选片段后,使用奖励模型计算最后一层候选集 $C_{N_{layer}}$ 的最终奖励,选择奖励最高的回答 $y^*$ 作为最终输出。
整个过程中存在两个关键不变量,保证计算预算可控:
- 候选集大小始终为 $N$(每层从 $N/N_{children}$ 个父节点各扩展 $N_{children}$ 个孩子,总数恒为 $N$);
- 活动集 $P_i$ 大小始终为 $N / N_{children}$。
也就是说,TreeBoN在不增加计算预算的前提下,生成了与 BoN 相同数量的总 token,但把这些 token 组织成了"宽根、逐层收敛"的树结构,而不是 N 条互不相干的完整序列。
2.3 加权隐式奖励函数:树搜索的"评分引擎"
TreeBoN 在树搜索中使用加权隐式奖励函数来评估部分回答片段。对于序列 $y$ 的前 $K$ 个 token,部分奖励计算为:
$$ r_{partial}(y_{:K}|x) = \sum_{k=0}^{K-1} w_k \log\frac{\pi^{*}(y_k|x,y_{:k})}{\pi(y_k|x,y_{:k})} $$
其中:
- $y_{:k}$ 表示前缀;
- $\pi^{*}(y_k|x,y_{:k})$ 与 $\pi(y_k|x,y_{:k})$ 分别表示对齐策略(DPO 训练得到的策略)与参考策略在给定前缀条件下对 token $y_k$ 的条件概率;
- $w_k = \frac{1}{|y_k|}$ 是加权因子,对每个 token 级别的对数似然比贡献按 token 长度做归一化。
这个加权奖励来自DPO 隐式奖励(DPO implicit reward)的改造:DPO 的闭式解隐式地定义了一个奖励函数 $r(x,y) = \beta \log\frac{\pi^{*}(y|x)}{\pi_{ref}(y|x)}$,TreeBoN 将其从整句奖励改造为逐 token 的部分奖励,并用长度加权系数平衡每个 token 的贡献。
这种设计带来的直接收益:
- 帮助在早期层剪枝低质量回答片段,把计算资源留给有潜力的候选;
- 在整个树扩展过程中鼓励继续生成更高质量的候选片段;
- 相比直接用完整回答训练的奖励模型对前缀打分,DPO 策略模型的隐式奖励在 token 级语义上更精确,缓解了 SBoN 中"部分评分不准"的根本问题。
2.4 关键超参数一览
| 超参数 | 含义 | 作用与典型取值(论文实验) | ||
|---|---|---|---|---|
| $N$ | 根样本(候选)数量 | 控制总计算预算,实验取值 8~128 | ||
| $N_{children}$ | 每个父节点扩展的子节点数 | 控制树的宽度与层间的剪枝强度 | ||
| $N_{layer}$ | 树层数(段数) | 控制"探索-利用"的粒度,层数越多性能越好 | ||
| $l_{max}$ | 最大回答长度 | 被切分为各层片段长度 $l_1, l_2, \dots, l_{N_{layer}}$ | ||
| $l_i$ | 第 $i$ 层片段的 token 长度 | 决定各层评分决策点的位置 | ||
| $w_k$ | token 级加权因子 | $w_k = 1/ | y_k | $,长度归一化 |
三、实验结果:对齐质量与计算效率的双重验证
论文通过一系列实验评估了 TreeBoN 在不同数据集上的表现,覆盖与 Baseline 的对比、树结构影响、效率评估、隐式奖励探索四个方面。
3.1 不同数据集上的改进
评估设置:使用GPT-4 win-rate评估方法,在 AlpacaFarm、UltraFeedback、HH-RLHF、TutorEval 四个数据集上,针对 100 个随机选择的提示,对比 TreeBoN 与 Baseline 方法(Best-of-N 采样,N = 128)的性能;对于数学推理数据集 GSM8K,报告零样本 pass@1 解决率。
主要结果:
- 对话/指令遵循类数据集:在最大长度为 192 与 384 tokens 时,TreeBoN 始终优于 Baseline。
- 192 tokens:AlpacaFarm 上达到64%的 win-rate,其余数据集上至少达到60%;
- 384 tokens:AlpacaFarm 上保持62%的 win-rate,其余数据集上至少54%;使用 SFR 模型时,所有数据集达到60%~65%的 win-rate。
- 数学推理数据集 GSM8K:在最大回答长度为 576 tokens 时,TreeBoN 的 pass@1 解决率比 BoN 高出9%。这说明 TreeBoN 的分层结构尤其适合需要长链式思维(CoT)推理的任务——逐层生成与剪枝让长序列探索更高效。
3.2 不同树结构的影响
实验设置:保持计算成本不变($N = 128$ 且 $l_{max}$ 相同),分别改变树层数(Number of Layers)与每个节点的子节点数量(Number of Children),在 AlpacaFarm 数据集上计算 TreeBoN 相对于 BoN 的 win-rate。
结果要点:
- 增加树层数能持续提高性能:在 192 与 384 tokens 两种最大长度下,win-rate 都随层数增加而提升——更细粒度的分段意味着更多"评估-剪枝"决策点,探索更精细;
- 最佳子节点数量随最大生成长度变化:不同 $l_{max}$ 下,最优 $N_{children}$ 不同,说明树的宽度需要与序列长度匹配;
- 稳健性:无论树结构如何变化,TreeBoN 相对 Baseline 的 win-rate 均保持在约 60%左右,验证了方法的有效性,同时暗示未来可针对不同任务探索更多超参数以进一步提升性能。
3.3 效率评估
实验设置:计算成本仅由根样本数量 $N$ 与最大生成长度 $l_{max}$ 控制;Baseline(BoN)同时生成 128 个回答,并从中用奖励模型选择最佳结果。
结果要点:
- 随着计算预算增加($N$ 增大),TreeBoN 相对于 BoN 的 win-rate 也增加,表明 TreeBoN比 Baseline 更具可扩展性,能更有效地利用额外的计算预算;
- 在 AlpacaFarm 上,当 $N$ 从 8 增加到 128,TreeBoN 的 win-rate 逐渐提高;
- 即使在 $N = 8$(仅为 BoN 计算成本的 $8/128 = 6.3%$)时,TreeBoN 仍能以55%的 win-rate 优于 BoN——只用不到 7% 的算力就实现了超越,这是"提升秘籍"最直观的体现。
3.4 不同隐式奖励的探索
实验设置:测试不同隐式奖励形式,包括:
| 候选奖励 | 说明 | ||
|---|---|---|---|
| DPO 隐式奖励 | 标准的 DPO 闭式解奖励 | ||
| 加权隐式奖励 | TreeBoN 提出的 $w_k = 1/ | y_k | $ 加权形式 |
| 加权隐式奖励(指数衰减) | 对更早 token 的权重做指数衰减 | ||
| 长度归一化 DPO 隐式奖励 | 对整句奖励按长度归一化 | ||
| DPO 策略对数概率和 | 直接用 DPO 策略的对数概率求和 | ||
| SimPO 奖励 | 简单偏好优化(SimPO)的奖励形式 |
实验在 AlpacaFarm 数据集上使用默认配置的 TreeBoN 进行。结果表明:加权隐式奖励在树搜索设置中表现最佳,取得最高的 GPT-4 win-rate,证明了该奖励设计在 TreeBoN 框架中的有效性——长度归一化的加权因子让部分奖励在不同长度的前缀间可比较,这对"逐层剪枝"至关重要。
3.5 与其他方法对比讨论
与 SBoN 的对比:SBoN 依赖"部分奖励分数与完整回答奖励正相关"的假设,但由于奖励模型通常在完整回答上训练,对部分回答的评分不准确,导致性能欠佳。TreeBoN 通过使用更精确的DPO 策略模型隐式奖励信号解决了这一问题,显著提高了部分奖励近似的可靠性。此外,TreeBoN 的分层树结构能更全面地探索回答空间——在扩展有希望候选片段的同时有效地剪枝低质量片段。从结构上看,TreeBoN 是 SBoN 的广义形式:当 $N_{children} = 1$ 且 $N_{layer} = 2$ 时,TreeBoN 可简化为 SBoN 的两层结构。
与传统 BoN 的对比:传统 BoN 生成候选回答时没有分层结构,只是简单地探索回答空间;TreeBoN 采用更结构化的探索策略,通过逐层生成和优化回答,用更少的总样本更有效地搜索回答空间,在速度与性能上都有改进,更好地平衡了**探索(exploration)与利用(exploitation)**之间的权衡。
与 KV 缓存加速的结合:TreeBoN 可以天然利用**键值缓存(KV cache)**机制进一步加速——在树结构中,父 token 的键(Key)和值(Value)可被其所有子节点重用,避免了重复计算公共前缀的注意力状态,这正是树结构相对 N 条独立序列的又一效率优势。
四、技术总结与后续视角
TreeBoN 的核心贡献可以归结为三点:
- 结构创新:把 BoN 的"一次性生成 N 条完整序列"改造成"逐层生成、逐层剪枝的树",在相同 token 预算下获得更高质量的输出;
- 奖励创新:把 DPO 隐式奖励改造成长度加权、可逐 token 累加的部分奖励,解决了此前投机式方法"部分评分不准"的痛点;
- 效率创新:借助树结构中公共前缀的 KV 缓存复用,在探索更充分的同时进一步压缩计算开销。
从研究脉络看,TreeBoN 处于"推理时对齐 × 投机解码"交叉地带:它继承了 BoN 的简单性,吸收了投机式方法"早期剪枝"的思想,又用 DPO 隐式奖励补上了部分评分精度这一关键短板。与之同源的后续工作(如仓库中收录的 Speculative Rejection 解读)继续沿着"用部分奖励提前拒绝低质量响应"的方向推进,共同构成了推理时对齐加速的一条清晰技术路线。
参考资料
- TreeBoN 周报解读原文(本仓库「Arxiv 一周进展报告(大模型方向)/20241018-20241024」目录)
- CMU 与普林斯顿大学携手改进 BoN 算法(Speculative Rejection)解读
- 大模型经典论文列表:其中"思维链"小节收录 Tree of Thoughts、Self-Consistency 等树式/多数投票解码代表作
- 《大模型基础》完整版 PDF:第 1 章"语言模型基础"覆盖语言模型的采样方法,第 3 章"Prompt 工程"覆盖思维链等解码相关技术
- Foundations_of_LLMs(English_version)/readme.md/readme.md):项目英文版说明
- 文档
- 教程
- 大模型
【免费下载链接】Foundations-of-LLMs
A book for Learning the Foundations of LLMs
相关推荐
3行代码提升大模型效果:trl最佳采样技术(Best-of-N)实战指南
3行代码提升大模型效果:trl最佳采样技术 Best of N 实战指南 你还在为大模型输出不稳定发愁?同样的prompt有时精彩有时离谱?本文将用不到200行
人工智能大模型强化学习RLHF预训练微调LoRAMachineLearningLM:让大语言模型像随机森林一样处理表格数据,性能提升15%
MachineLearningLM:让大语言模型像随机森林一样处理表格数据,性能提升15% 导语 2025年7月,一个名为MachineLearningLM的7
localpilot模型管理详解:如何快速切换CodeLlama、Mistral和官方Copilot
localpilot模型管理详解:如何快速切换CodeLlama、Mistral和官方Copilot localpilot是一款强大的模型管理工具,支持快速切换
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考