当前位置: 首页 > news >正文

BoNBoN——结合行为模仿和偏好对齐进行Best-of-N对齐的方法

BoNBoN——结合行为模仿和偏好对齐进行Best-of-N对齐的方法
FesianXu 20250314 at Wechat Search Team

前言

这次笔者想要介绍的论文,其结合了行为模仿和偏好对齐,在模型的Best-of-N结果基础上进行对齐,具有一定的启发性。论文中有不少公式推导,笔者将会考虑行文整体流畅情况下,酌情引用。如有谬误请见谅并联系指出,本文遵守CC 4.0 BY-SA版权协议,转载请联系作者并注明出处,谢谢

  • 关键词:行为模仿、偏好对齐、Best-of-N

∇ \nabla 联系方式:

e-mail: FesianXu@gmail.com

github: https://github.com/FesianXu

知乎专栏: 计算机视觉/计算机图形理论与应用

微信公众号:机器学习杂货铺3号店


典型的大模型管道可以分为如Fig 1所示的几部分,其中的行为模拟(Behavior Mimic)通常是通过指令微调(Supervised Fintune, SFT)的方式,使得模型可以从预训练后的续写模型,变为一个可以遵循用户指令进行回答的模型,通过偏好对齐(Preference Alignment)能够使得回答更具有人类偏好。存在不少工作认为行为模拟只是对模型回答的格式进行规范,是一种偏向于『记忆(Memorize)』的过程 [2,3],而偏好对齐才是能进一步提高模型泛化能力的关键 [3]。至于说到推理时扩展(Inference-time Scaling),则是考虑在推理阶段采用复杂的答案采样/答案改写方式,提升模型的最终性能,可参考笔者在博文 [4] 中的介绍。

在这里插入图片描述

Fig 1. 典型的大模型训练和推理管道。

Best-of-N (下文简称BoN)采样是推理时扩展的一种经典做法,指的是给定一个提示词 x x x, 大模型 π ( y ∣ x ) \pi(y|x) π(yx)对其进行采样 N N N次,得到 N N N个完整回答 y 1 , ⋯   , y N y_1, \cdots, y_N y1,,yN,通过奖励模型分别打分得到 N N N个奖励打分 r ( x , y i ) , i = 1 , ⋯   , N r(x, y_i), i=1,\cdots,N r(x,yi),i=1,,N,取其打分最高的作为BoN结果。整个过程可以表示为公式 (1) 所示
y = y i     s.t.  r ( x , y i ) = max ⁡ j = 1 n r ( x , y j ) (1) y = y_i \ \ \ \ \text{s.t.} \ r(x,y_i) = \max_{j=1}^n r(x,y_j) \tag{1} y=yi    s.t. r(x,yi)=j=1maxnr(x,yj)(1)

作者在文中证明了BoN结果是考虑了KL散度约束情况下的渐进最优策略,在论文 [5] 中同样进行了这一点的证明,整个过程比较复杂,笔者也没完全看懂,尽量挑一些关键结论和过程进行解释。

首先我们看到偏好对齐,偏好对齐的目标是对于一个SFT后的模型,称之为 π 0 \pi_{0} π0,我们希望学习出一个新模型 π r \pi_r πr π r \pi_r πr应该在某个指标层面上要优于 π 0 \pi_0 π0。为了使得训练过程可控,我们也不希望 π r \pi_r πr太过远离 π 0 \pi_0 π0,可以考虑用KL散度去度量这两者的距离,其中 D KL ( π r ∥ π 0 ∣ x ) \mathbb{D}_{\text{KL}}(\pi_r\|\pi_0\mid x) DKL(πrπ0x)为给定了提示词 x x x情况下的KL散度,而 D KL ( π r ∥ π 0 ) \mathbb{D}_{\text{KL}}(\pi_r\|\pi_0) DKL(πrπ0)则是对提示词集合 D D D进行求期望得到的KL散度。KL散度取值范围为 [ 0 , + ∞ ) [0, +\infty) [0,+),越小表示两个分布之间差别越小。
D KL ( π r ∥ π 0 ∣ x ) : = E y ∼ π r ( y ∣ x ) [ log ⁡ ( π r ( y ∣ x ) π 0 ( y ∣ x ) ) ] , D KL ( π r ∥ π 0 ) : = E x ∼ D [ D KL ( π r ∥ π 0 ∣ x ) ] (2) \begin{aligned} \mathbb{D}_{\text{KL}}(\pi_r\|\pi_0\mid x) &:= \mathbb{E}_{y\sim\pi_r(y\mid x)}\left[\log\left(\frac{\pi_r(y\mid x)}{\pi_0(y\mid x)}\right)\right], \\ \mathbb{D}_{\text{KL}}(\pi_r\|\pi_0) &:= \mathbb{E}_{x\sim D}\left[\mathbb{D}_{\text{KL}}(\pi_r\|\pi_0\mid x)\right] \end{aligned} \tag{2} DKL(πrπ0x)DKL(πrπ0):=Eyπr(yx)[log(π0(yx)πr(yx))],:=ExD[DKL(πrπ0x)](2)
一种可以考虑衡量 π r \pi_r πr优于 π 0 \pi_0 π0的指标是胜率(win-rate),定义如下公式(3)所示,也就是通过奖励函数去判断 π r \pi_r πr优于 π 0 \pi_0 π0的概率。
P π r > π 0 ∣ x : = P Y ∼ π r ( y ∣ x ) Y 0 ∼ π 0 ( y ∣ x ) ( r ( x , Y ) ≥ r ( x , Y 0 ) ) P π r > π 0 : = E x ∼ D [ P Y ∼ π r ( y ∣ x ) Y 0 ∼ π 0 ( y ∣ x ) ( r ( x , Y ) ≥ r ( x , Y 0 ) ) ] (3) \begin{aligned} P_{\pi_r > \pi_0 \mid x} &:= \mathbb{P}_{\substack{Y \sim \pi_r(y \mid x) \\ Y_0 \sim \pi_0(y \mid x)}} \Big( r(x, Y) \geq r(x, Y_0) \Big) \\ P_{\pi_r > \pi_0} &:= \mathbb{E}_{x \sim D} \left[ \mathbb{P}_{\substack{Y \sim \pi_r(y \mid x) \\ Y_0 \sim \pi_0(y \mid x)}} \Big( r(x, Y) \geq r(x, Y_0) \Big) \right] \end{aligned} \tag{3} Pπr>π0xPπr>π0:=PYπr(yx)Y0π0(yx)(r(x,Y)r(x,Y0)):=ExD[PYπr(yx)Y0π0(yx)(r(x,Y)r(x,Y0))](3)
不妨可以将偏好对齐看成是一个探索&利用(Explore and Exploit)的过程,如Fig 2所示,消耗KL散度距离衡量和初始模型的偏离程度,可以认为是探索程度,用奖励模型新探索的模型进行评估,则可看成是利用过程。因此KL距离是一种可消耗的资源,这个观点在一些工作中也有所体现,可参考 [6]。为何不希望新策略太过于偏离初始策略呢?笔者的理解是:

  1. 如果不在训练过程中对此进行约束,新策略可能会容易出现大幅度偏离初始策略,导致整个训练过程不稳定且难以控制。
  2. 奖励模型通常是在初始策略模型的基础上,采样后进行人工标注样本训练得到的,也就是说如果新策略模型太过于远离初始策略模型,那么很可能会出现奖励模型无法很好地衡量新策略模型效果的情况,从而导致过拟合。

在这里插入图片描述

Fig 2. 在偏好对齐过程中,通过消耗KL距离探索新策略模型,而奖励模型作为『法官』进行效果判断。

偏好对齐的方法整体有两种,第一个通过人工反馈的强化学习方法(RLHF),如公式(4)所述;
L RLHF ( π θ ; π 0 ) = − E x ∼ D y ∼ π θ ( y ∣ x ) [ r ^ ( x , y ) ] + β D KL ( π θ ∥ π 0 ) (4) \mathcal{L}_{\text{RLHF}}(\pi_\theta; \pi_0) = -\mathbb{E}_{\substack{x \sim D \\ y \sim \pi_\theta(y \mid x)}} \big[ \hat{r}(x,y) \big] + \beta \mathbb{D}_{\text{KL}}(\pi_\theta \parallel \pi_0) \tag{4} LRLHF(πθ;π0)=ExDyπθ(yx)[r^(x,y)]+βDKL(πθπ0)(4)
第二种则是通过对比式方法(Contrastive methods),典型的如DPO方法,如公式(5)所示。
L DPO ( π θ ; π 0 ) = − E ( x , y w , y l ) ∼ D [ log ⁡ σ ( β log ⁡ π θ ( y w ∣ x ) π 0 ( y w ∣ x ) − β log ⁡ π θ ( y l ∣ x ) π 0 ( y l ∣ x ) ) ] (5) \mathcal{L}_{\text{DPO}}(\pi_\theta; \pi_0) = -\mathbb{E}_{(x,y_w,y_l) \sim D} \left[ \log \sigma \left( \beta \log \frac{\pi_\theta(y_w|x)}{\pi_0(y_w|x)} - \beta \log \frac{\pi_\theta(y_l|x)}{\pi_0(y_l|x)} \right) \right] \tag{5} LDPO(πθ;π0)=E(x,yw,yl)D[logσ(βlogπ0(ywx)πθ(ywx)βlogπ0(ylx)πθ(ylx))](5)
RLHF方式显式地引入KL散度约束项,而DPO方法则通过新策略模型分布和初始策略模型分布进行比较的方式,都一定程度上约束了新策略模型不至于偏离初始策略模型。如果奖励模型是Bradley-Terry模型,那么有:
P ( y 1 > y 0 ∣ x ) = σ ( r ( x , y 1 ) − r ( x , y 0 ) ) (6) P(y_1 > y_0 \mid x) = \sigma\big( r(x,y_1) - r(x,y_0) \big) \tag{6} P(y1>y0x)=σ(r(x,y1)r(x,y0))(6)
作者文中说因此RLHF和DPO的解析解则可以表示为(对此,笔者不知道具体推导过程,望请教):
π r RLHF ( y ∣ x ) ∝ exp ⁡ { 1 β r ( x , y ) } π 0 ( y ∣ x ) (7) \pi_{r}^{\text{RLHF}}(y \mid x) \propto \exp\left\{ \frac{1}{\beta} r(x,y) \right\} \pi_{0}(y \mid x) \tag{7} πrRLHF(yx)exp{β1r(x,y)}π0(yx)(7)
也就是说新策略模型是对初始策略模型的加权,而权值会收到奖励模型的影响。作者认为不仅对于RLHF和DPO,对于包括BoN方式在内的一切对齐策略来说,存在统一的表达,即是有:
π r ( y ∣ x ) ∝ f x ( r ( x , y ) ) π 0 ( y ∣ x ) (8) \pi_r(y \mid x) \propto f_x\big(r(x,y)\big) \pi_0(y \mid x) \tag{8} πr(yx)fx(r(x,y))π0(yx)(8)
其中的 f x f_x fx是一个非减函数,会收到不同提示词 x x x的影响。基于此,可以推导出BoN方式的胜率为(具体过程参考原论文):
P π r ( n ) > π 0 ∣ x = n n + 1 (9) P_{\pi^{(n)}_r > \pi_0 | x} = \dfrac{n}{n+1} \tag{9} Pπr(n)>π0x=n+1n(9)
那么最优策略的胜率如何呢?首先我们定义最优策略,就是在给定的KL散度情况下能取得尽可能高的胜率,如公式(10)所示:
max ⁡ π E x ∼ D [ P Y ∼ π ( y ∣ x ) Y 0 ∼ π 0 ( y ∣ x ) ( r ( x , Y ) ≥ r ( x , Y 0 ) ) ] s.t. D KL ( π ∥ π 0 ) ≤ d (10) \begin{aligned} \max_{\pi} \quad & \mathbb{E}_{x \sim D} \Big[ \mathbb{P}_{\substack{Y \sim \pi(y \mid x) \\ Y_0 \sim \pi_0(y \mid x)}} \big( r(x,Y) \geq r(x,Y_0) \big) \Big] \\ \text{s.t.} \quad & D_{\text{KL}}(\pi \parallel \pi_0) \leq d \end{aligned} \tag{10} πmaxs.t.ExD[PYπ(yx)Y0π0(yx)(r(x,Y)r(x,Y0))]DKL(ππ0)d(10)
此时可以推导出最优策略模型为:
π r optimal ( y ∣ x ) ∝ π 0 ( y ∣ x ) exp ⁡ ( c Q x ( r ( x , y ) ) ) (11) \pi^{\text{optimal}}_r(y \mid x) \propto \pi_0(y \mid x) \exp\left( c Q_x(r(x,y)) \right) \tag{11} πroptimal(yx)π0(yx)exp(cQx(r(x,y)))(11)
那么最优策略的胜率可以表示为
P π r , c optimal > π 0 ∣ x = ( c − 1 ) e c + 1 c ( e c − 1 ) (12) P_{\pi_{r,c}^{\text{optimal}} > \pi_0 \mid x} = \frac{(c-1)e^c + 1}{c(e^c - 1)} \tag{12} Pπr,coptimal>π0x=c(ec1)(c1)ec+1(12)
如果对BoN和最优策略分别绘制曲线图的话,如Fig 3所示,会发现BoN方式是在有KL散度约束下的渐进的最优策略

在这里插入图片描述

Fig 3. 就胜率与KL散度的关系而言,BoN本质上与最优策略表现一致。就胜率与KL散度的关系而言,BoN本质上与最优策略表现一致。 左图:BoN与最优策略的胜率随KL散度变化曲线。右图:不同n值下最优策略与BoN策略的胜率差异。

那么问题来了,如何将模型的BoN的结果蒸馏到模型自身上呢?本文提出了BoNBoN方式,损失函数如公式(13)所示
L BoNBoN ( π θ ; π 0 ) = α L SFT-BoN ( π θ ; π 0 ) + ( 1 − α ) L IPO-BoN ( π θ ; π 0 ) (13) \mathcal{L}_{\text{BoNBoN}}(\pi_\theta; \pi_0) = \alpha \mathcal{L}_{\text{SFT-BoN}}(\pi_\theta; \pi_0) + (1 - \alpha) \mathcal{L}_{\text{IPO-BoN}}(\pi_\theta; \pi_0) \tag{13} LBoNBoN(πθ;π0)=αLSFT-BoN(πθ;π0)+(1α)LIPO-BoN(πθ;π0)(13)
损失的第一项 L S F T − B o N \mathcal{L}_{SFT-BoN} LSFTBoN为SFT损失,其 y ( n ) y_{(n)} y(n)为BoN结果,显然这种方法只是采用了BoN结果作为模仿目标,并没有充分利用数据,比如Worst-of-N(WoN)部分的数据。
L SFT-BoN ( π θ ; π 0 ) = − E x ∼ D y ( n ) ∼ π r ( n ) [ log ⁡ π θ ( y ( n ) ∣ x ) ] (14) \mathcal{L}_{\text{SFT-BoN}}(\pi_\theta; \pi_0) = -\mathbb{E}_{\substack{x \sim D \\ y_{(n)} \sim \pi_r^{(n)}}} \left[ \log \pi_\theta(y_{(n)} \mid x) \right] \tag{14} LSFT-BoN(πθ;π0)=ExDy(n)πr(n)[logπθ(y(n)x)](14)
而损失的第二项是一个对比式的损失IPO(是DPO的升级,添加了正则项减少过拟合),关于这里的正则项 β n ∗ \beta^{*}_n βn文中附录有推导,博文就不赘述了。IPO-BoN损失不仅采用了BoN结果作为正向样本(也就是 π r ( n ) \pi_{r}^{(n)} πr(n)),还采用了WoN结果作为负向样本(也就是 π r ( l ) \pi_r^{(l)} πr(l)),数据的利用率更高。
L IPO-BoN ( π θ ; π 0 ) = E x ∼ D y ( n ) ∼ π r ( n ) y ( 1 ) ∼ π r ( 1 ) [ ( log ⁡ π θ ( y ( n ) ∣ x ) π θ ( y ( 1 ) ∣ x ) − log ⁡ π 0 ( y ( n ) ∣ x ) π 0 ( y ( 1 ) ∣ x ) − 1 2 β n ∗ ) 2 ] 其中  β n ∗ = 1 2 ( n − 1 ) ( ∑ k = 1 n − 1 1 k ) (15) \begin{aligned} \mathscr{L}_{\text{IPO-BoN}}(\pi_\theta; \pi_0) &= \mathbb{E}_{\substack{x \sim D \\ y_{(n)} \sim \pi_r^{(n)} \\ y_{(1)} \sim \pi_r^{(1)}}} \left[ \left( \log \frac{\pi_\theta(y_{(n)} \mid x)}{\pi_\theta(y_{(1)} \mid x)} - \log \frac{\pi_0(y_{(n)} \mid x)}{\pi_0(y_{(1)} \mid x)} - \frac{1}{2\beta_n^*} \right)^2 \right] \\ 其中 \ \beta_n^* &= \frac{1}{2(n-1) \left( \sum\limits_{k=1}^{n-1} \frac{1}{k} \right)} \end{aligned} \tag{15} LIPO-BoN(πθ;π0)其中 βn=ExDy(n)πr(n)y(1)πr(1)[(logπθ(y(1)x)πθ(y(n)x)logπ0(y(1)x)π0(y(n)x)2βn1)2]=2(n1)(k=1n1k1)1(15)
在实验部分,作者比较了Summarization和helpful and Harmless这两块任务,如Fig 4.所示,其中的黑线(BoN theoretical)是根据公式(9)绘制出来的,而BoN Sampling则是真实采样得到的结果,可以发现是能够符合曲线的。我们看这个图,应该从两个维度看:

  1. 胜率越高,说明相比初始策略模型效果更好
  2. 越接近Reference Model(无论是KL散度还是平均响应长度),说明消耗的KL距离越少,则是更占优势(笔者认为是胜率计算更加准确)

从这个分析角度看,我们发现BoNBoN方法在消耗更少KL距离(或者和初始策略模型更加接近长度的平均响应长度)的情况下,能取得更高的胜率。此外,我们看到DPO BoN 效果持续远远优于DPO original HH,后者是采用HH数据(也就是所谓的off-policy的数据),而前者则来自于模型自身的BoN结果组建偏序数据,也就是所谓的on-policy数据。从这个结果,我们得到一个结论是,应当尽可能采用on-policy数据进行模型偏好对齐,即便这些结果可能相对来说比较弱(对比其他更好的模型采样或者标注)。

在这里插入图片描述

Fig 4. BoNBoN在实现高胜率的同时,对生成过程中非目标方面的影响极小(也就是偏离初始策略模型的程度)。每个数据点代表采用特定对齐方法的模型,我们使用一个Ranker测量其相对于基础模型的胜率。为评估非目标行为的改变,我们同时测量了估计的KL散度(左图)和平均响应长度(右图)。上方:BoNBoN与基线模型在摘要任务中的对比结果。下方:BoNBoN与基线模型在单轮对话任务中的对比结果。

读后感

笔者看完这篇文章后,第一感觉就是公式好多… 其实整个蒸馏BoN结果的思路很直接,就是在SFT的基础上添加了一个DPO类的损失(或者反过来说,在DPO偏好对齐的基础上加了一个SFT行为模仿),其实整篇文章很多篇幅在证明BoN是KL约束下的渐进最优策略,然后想办法去接近BoN。因此我总结从这篇文章得到的收获的话:

  1. BoN是LLM的KL约束限制下的渐进最优策略
  2. 新策略模型可以表示为初始策略模型的分布加权
  3. on-policy vs off-policy 数据作为偏好对齐,应当尽可能采用前者
  4. SFT+DPO类损失能够更加充分利用数据

Reference

[1]. Gui, Lin, Cristina Gârbacea, and Victor Veitch. “Bonbon alignment for large language models and the sweetness of best-of-n sampling.” arXiv preprint arXiv:2406.00832 (2024). aka BoNBoN

[2]. Zhou, Chunting, Pengfei Liu, Puxin Xu, Srinivasan Iyer, Jiao Sun, Yuning Mao, Xuezhe Ma et al. “Lima: Less is more for alignment.” Advances in Neural Information Processing Systems 36 (2023): 55006-55021. aka LIMA

[3]. Chu, Tianzhe, Yuexiang Zhai, Jihan Yang, Shengbang Tong, Saining Xie, Dale Schuurmans, Quoc V. Le, Sergey Levine, and Yi Ma. “Sft memorizes, rl generalizes: A comparative study of foundation model post-training.” arXiv preprint arXiv:2501.17161 (2025).

[4]. 《大模型推理时的尺度扩展定律》, https://fesianxu.github.io/2025/03/02/test-time-scaling-laws-20250302/

[5]. Yang, Joy Qiping, Salman Salamatian, Ziteng Sun, Ananda Theertha Suresh, and Ahmad Beirami. “Asymptotics of language model alignment.” In 2024 IEEE International Symposium on Information Theory (ISIT), pp. 2027-2032. IEEE, 2024.

[6]. 《奖励模型中的尺度扩展定律和奖励劫持》, https://fesianxu.github.io/2025/02/09/scaling-law-in-reward-model-20250209/

相关文章:

  • 【Linux】深入理解Linux进程状态与优先级管理
  • 重删算法中的Bloom滤波器详解与C++实现
  • 1.5.6 掌握Scala内建控制结构 - match结构
  • NVIDIA开源FP8训练新范式COAT:减少40%显存占用,训练速度提高1.4倍
  • Linux目录操作学习总结
  • AI辅助的黑客攻击
  • docker最新源,及遇到问题+处理
  • 利用Python爬虫获取Shopee(虾皮)商品详情:实战指南
  • 【Linux】VMware 17 安装 VMware Tools
  • HAl库开发中断方式接收Can报文的详细流程
  • 深入自制Shell:解锁Linux进程控制的实践密码
  • Python散点密度图(Scatter Density Plot):数据可视化的强大工具
  • 深入理解ThreadLocal:线程安全的“独享空间”
  • 智慧共享杆:城市智能化管理的 “多面手”
  • Linux 用户与组管理实战:经验分享与最佳实践
  • Oracle OCP认证是否值得考?
  • Unity 中实例化预制体的完整过程
  • 第7章 类与面向对象
  • linux性能监控的分布式集群 prometheus + grafana 监控体系搭建
  • 华为终端销售模式转型变革项目总体汇报方案(183页PPT)(文末有下载方式)
  • 盛和资源海外找稀土矿提速:拟超7亿元收购匹克,加快推动坦桑尼亚项目
  • 外交部:各方应为俄乌双方恢复直接对话创造条件
  • 女外交官郑璇已任中国驻莫桑比克大使
  • 中国科协发声:屡禁不止的奇葩论文再次敲响学风建设警钟
  • 国际足联女子世界杯再次扩军,2031年起增至48支球队
  • 美众议院通过法案将“墨西哥湾”更名为“美国湾”