基于自我对弈框架的偏好优化算法SPPO

传统的从人类反馈中进行强化学习(RLHF)的方法仰赖如Bradley-Terry模型等参数模型,但这样的模型难以充分捕捉人类偏好中的非递移性和非理性。最新的研究进展显示,直接使用偏好机率可以更准确地反映人类偏好,从而实现更灵活、更精确的语言模型对齐。本文提出了一种基于自我对弈的语言模型对齐方法,将问题视为一个常数和的双人博弈,目的在于找出纳什均衡策略。称为自我对弈偏好优化(SPPO),透过迭代策略更新来逼近纳什均衡,并享有理论上的收敛保证。我们的方法可以有效地提高被选择响应的对数似然,并降低被拒绝响应的对数似然,这是DPO和IPO等对称成对损失函数无法轻易达成的。在实验中,仅使用UltraFeedback数据集中的60k个提示(不含响应),不进行任何提示扩增,利用只有0.4B参数的预训练偏好模型PairRM,SPPO可以通过微调Mistral-7B-Instruct-v0.2,在AlpacaEval 2.0上取得目前最先进的长度控制胜率28.53%,超越了GPT-4-Turbo。它在MT-Bench和Open LLM Leaderboard上也优于(迭代式)DPO和IPO。值得注意的是,SPPO的强大表现是在没有来自GPT-4或其他更强大语言模型的额外外部监督(例如响应、偏好等)的情况下实现的。

背景

大语言模型(LLM)在生成文本、回答问题和编写程序代码方面展现了卓越的能力。尽管有了这些进步,但这些模型在需要高度可靠性、安全性和伦理对齐的任务中仍面临挑战。为了应对这些挑战,从人类反馈中进行强化学习(RLHF),也被称为基于偏好的强化学习(PbRL),是一个很有前景的解决方案。

现有大多数RLHF方法都依赖于显式或隐式的奖励模型。以InstructGPT为例,首先建立一个参考策略,通常来自监督式预训练或基于指示的(监督式)微调。然后通过基于人类偏好反馈数据训练奖励模型来获得显式奖励函数,使用Bradley-Terry(BT)模型。随后,使用近端策略优化(PPO)等强化学习算法来微调参考LLM,最大化预期奖励函数。奖励模型为给定的响应y和提示x提供了一个「奖励分数」r(y; x),反映了人类如何评价这些响应。最近,DPO等方法被引入,放弃了训练单独的奖励模型,改为使用对数似然比来隐式表示奖励分数,然后整合到相同的Bradley-Terry模型中直接优化LLM。尽管如此,两步RLHF算法和一步直接偏好从根本上都遵循奖励最大化目标,并由BT模型等参数模型决定。

参数偏好模型如BT和Thurstone模型为人类偏好提供了合理的近似,但它们未能完全捕捉人类行为的复杂性。这些模型默认了不同选择之间偏好的单调和递移关系。然而,经验证据表明并非如此。Tversky观察到人类决策可以受到不同因素的影响,并表现出不一致性。这些观察表明,人类偏好并不总是遵循单一的价值型层次结构,甚至可能看起来不理性。对于LLM,另一个有说服力的证据是Munos等人通过实证表明,直接预测成对偏好可以实现比通过基于BT的奖励模型预测偏好更高的准确性。

为解决人类偏好中的不一致性,研究人员提出直接使用偏好机率,并设计算法,更灵活地表示排序或老虎机设置中的人类偏好。最近,一系列新兴工作也提出在通用偏好P(y ≻ y′ |x)的情况下研究RLHF,其中y和y′是两个不同的回应,x是提示。Munos等人将RLHF定式化为找到(Kullback–Leibler散度正则化的)双人常数和博弈的纳什均衡,其中每个玩家是输出响应的LLM,旨在最大化其被对手偏好的机率。其中偏好P(y ≻ y′ |x)假设由外部来源给出,如人类标注者或强大的语言模型。他们提出使用在策略镜像下降算法近似纳什均衡。最近,Swamy等人提出了相同(未正则化)双人常数和博弈的自我对弈偏好优化(SPO)。他们的算法旨在通过迭代微调基于上一次迭代的策略生成的数据的策略来识别小最大最优策略(即纳什均衡策略)。与该研究的工作不同,他们专注于简单机器人或游戏任务中的马可夫决策过程(MDP),并采用典型的策略优化算法,如PPO或SAC。目前尚不清楚他们的自我对弈框架如何应用于LLM对齐。

以上提到的大多数工作都考虑从某个参考策略开始的单次优化过程。同样的过程可以重复多轮,以自我对弈的方式进行。在每一轮中,由上一轮得到的策略生成新的数据;然后这些新数据用于训练可以超越旧策略的新策略。这种自我对弈微调可以应用于有或没有人类偏好数据的情况。具体研究表明迭代微调可以显著改善表现。

论文要点

  1. 提出一种基于自我对弈框架的偏好优化算法SPPO,可以收敛到双人常数和博弈的纳什均衡,并且可以扩展到大规模高效微调大型语言模型。

  2. 将SPPO与DPO、IPO等最新方法进行比较,显示SPPO损失函数可以有效提高被选择响应的似然,降低被拒绝响应的似然,这是DPO和IPO等对称成对损失无法轻易做到的。实验也证实SPPO在各种基准检验中优于迭代式DPO和IPO。

  3. 在实验中,SPPO在3次迭代后显著提升了基础模型Mistral-7B-Instruct-v0.2,在AlpacaEval 2.0测试集上对GPT-4-Turbo的长度控制胜率提升超过11%。此外,SPPO在MT-Bench、Open LLM Leaderboard等不同任务上展现出强大的通才能力。值得注意的是,SPPO的强大表现仅使用了UltraFeedback数据集中60k个提示(无响应),未使用来自GPT-4或其他更强语言模型的外部监督。

研究方法

本文提出的自我对弈偏好优化(SPPO)算法源于以下理论框架:建立一个迭代框架,可以在时间平均意义上渐进收敛到最优策略。初始有一个基础策略,通常来自某些监督式微调模型。在每一轮中,更新的策略是根据当前策略以乘性权重更新得到的。具体而言,如果一个响应相对于当前策略有更高的平均优势,则它应该有更高的概率权重。从理论上证明,使用适当选择的参数和足够多的训练步数,该方法的混合策略可以逼近纳什均衡。

作者接着提出SPPO算法。在每一轮t中,算法首先根据当前策略πt为每个提示x生成K个回应。然后,偏好预测模型P被用于计算这K个响应之间的胜率。接下来,根据某些标准确定哪些响应应该保留在构建的数据集Dt中,并构建提示-回应-机率三元组。一个直接的设计选择是将所有K个响应纳入Dt,每个响应yi相对于πt的胜率bP(yi≻ πt|x)通过将yi与所有K个响应进行比较来估计,总共需要O(K2)次查询。最后,算法将在数据集Dt上优化基于均方差的损失函数。

实验中,作者比较了SPPO与DPO、IPO、KTO等方法。结果表明,SPPO损失函数可以有效提高被选择响应的对数似然,并降低被拒绝响应的对数似然,而DPO和IPO等对称成对损失无法轻易做到这一点。实验还证实,SPPO在各种基准检验上优于迭代式DPO和IPO。

实验设置方面,作者采用与Snorkel相同的设置,使用Mistral-7B-Instruct-v0.2作为基础模型,Ultrafeedback作为提示来源。对比方法包括原始的Mistral-7B、Snorkel、DPO、IPO等。评估基准包括AlpacaEval 2.0、MT-Bench和Open LLM Leaderboard。作者还研究了估计胜率时使用不同批量大小的影响。

自我对弈偏好优化(SPPO)

在本节介绍源于以下理论框架的自我对弈偏好优化(SPPO)算法。

理论框架

已有知名的算法可以近似求解常数和双人博弈中的纳什均衡。在本文中遵循Freund和Schapire(1999)的做法,建立一个迭代框架,可以在时间平均意义上渐进收敛到最优策略。从概念上求解双人博弈的理论框架开始:

π t + 1 ( y ∣ x ) ∝ π t ( y ∣ x ) exp ⁡ ( η P ( y ≻ π t ∣ x ) ) ,  对于  t = 1 , 2 , … . (4.1) \pi_{t+1}(y|x) \propto \pi_t(y|x) \exp(\eta P(y \succ \pi_t|x)), \text{ 对于 } t = 1, 2, \ldots.\tag{4.1} πt+1(yx)πt(yx)exp(ηP(yπtx)), 对于 t=1,2,.(4.1)

(4.1)式是一个迭代框架,依赖于每轮 t t t 中的乘性权重更新,并具有清晰的结构。最初,有一个基础策略 π 1 \pi_1 π1,通常来自某个监督式微调模型。在每一轮中,更新的策略 π t + 1 \pi_{t+1} πt+1 是根据参考策略 π t \pi_t πt,遵循乘性权重更新得到的。更具体地说,如果一个响应 y y y 相对于当前策略 π t \pi_t πt 具有更高的平均优势,那么它应该具有更高的机率权重。

(4.1)式可以写成等价:

π t + 1 ( y ∣ x ) = π t ( y ∣ x ) exp ⁡ ( η P ( y ≻ π t ∣ x ) ) Z π t ( x ) , (4.2) \pi_{t+1}(y|x) = \frac{\pi_t(y|x) \exp \big(\eta P(y \succ \pi_t|x)\big)}{Z_{\pi_t}(x)}, \tag{4.2} πt+1(yx)=Zπt(x)πt(yx)exp(ηP(yπtx)),(4.2)

其中 Z π t ( x ) = ∑ y π t ( y ∣ x ) exp ⁡ ( η P ( y ≻ π t ∣ x Z_{\pi_t}(x) = \sum_y \pi_t(y|x) \exp \big(\eta P(y \succ \pi_t|x Zπt(x)=yπt(yx)exp(ηP(yπtxbig$) 是正规化因子(又称配分函数)。对于任意固定的 $x) 和 $y),理想的更新策略 $\pi_{t+1}) 应满足以下方程:

log ⁡ ( π t + 1 ( y ∣ x ) π t ( y ∣ x ) ) = η ⋅ P ( y ≻ π t ∣ x ) − log ⁡ Z π t ( x ) . (4.3) \log\left(\frac{\pi_{t+1}(y|x)}{\pi_t(y|x)}\right) = \eta \cdot P(y \succ \pi_t|x) - \log Z_{\pi_t}(x). \tag{4.3} log(πt(yx)πt+1(yx))=ηP(yπtx)logZπt(x).(4.3)

与DPO或IPO中透过在 y y y y ′ y' y 之间微分(4.3)式来抵消 log ⁡ Z π t ( x \log Z_{\pi_t}(x logZπt(x) 这个对数正规化因子的成对设计不同,选择直接在 L 2 L_2 L2 距离意义下近似(4.3)式:

π t + 1 = arg ⁡ min ⁡ π E x ∼ X , y ∼ π t ( ⋅ ∣ x ) [ ( log ⁡ ( π ( y ∣ x ) π t ( y ∣ x ) ) − ( η P ( y ≻ π t ∣ x ) − log ⁡ Z π t ( x ) ) ) 2 ] (4.4) \begin{aligned} \pi_{t+1} = \arg\min_\pi \mathbb{E}_{x \sim \mathcal{X}, y \sim \pi_t(\cdot|x)}\Bigg[&\left(\log\left(\frac{\pi(y|x)}{\pi_t(y|x)}\right)\right.\\ &\left.\left.- \left(\eta P(y \succ \pi_t|x) - \log Z_{\pi_t}(x)\right)\right)^2\right] \text{(4.4)} \end{aligned} πt+1=argπminExX,yπt(x)[(log(πt(yx)π(yx))(ηP(yπtx)logZπt(x)))2](4.4)

机率估计

优化目标(4.4)可以用有限样本近似。选择对每个提示 x x x抽取 K K K 个回应 y 1 , y 2 , … , y K ∼ π t ( ⋅ ∣ x y_1, y_2, \ldots, y_K \sim \pi_t(\cdot|x y1,y2,,yKπt(x),并将经验分布表示为 π ^ t K \hat{\pi}_t^K π^tK。有限样本优化问题可以近似为

π t + 1 = arg ⁡ min ⁡ π E x ∼ X , y ∼ π t ( ⋅ ∣ x ) [ ( log ⁡ ( π ( y ∣ x ) π t ( y ∣ x ) ) − ( η P ( y ≻ π ^ t K ∣ x ) − log ⁡ Z π ^ t K ( x ) ) ) 2 ] (4.5) \begin{aligned} \pi_{t+1} = \arg\min_\pi \mathbb{E}_{x \sim \mathcal{X}, y \sim \pi_t(\cdot|x)}\Bigg[&\left(\log\left(\frac{\pi(y|x)}{\pi_t(y|x)}\right)\right.\\ &\left.\left.- \left(\eta P(y \succ \hat{\pi}_t^K|x) - \log Z_{\hat{\pi}_t^K}(x)\right)\right)^2\right] \text{(4.5)} \end{aligned} πt+1=argπminExX,yπt(x)[(log(πt(yx)π(yx))(ηP(yπ^tKx)logZπ^tK(x)))2](4.5)

具体而言, P ( y ≻ π ^ t K ∣ x ) = 1 K ∑ k = 1 K P ( y ≻ y k ∣ x ) P(y \succ \hat{\pi}_t^K|x) = \frac{1}{K}\sum_{k=1}^K P(y \succ y_k|x) P(yπ^tKx)=K1k=1KP(yykx) Z π ^ t K ( x ) = E y ∼ π t ( ⋅ ∣ x ) [ exp ⁡ ( η P ( y ≻ π ^ t K ∣ x ) ) ] Z_{\hat{\pi}_t^K}(x) = \mathbb{E}_{y \sim \pi_t(\cdot|x)}[\exp (\eta P(y \succ \hat{\pi}_t^K|x))] Zπ^tK(x)=Eyπt(x)[exp(ηP(yπ^tKx))] Z π ^ t K ( x ) Z_{\hat{\pi}_t^K}(x) Zπ^tK(x) 被视为一个期望,可以进一步用 B B B 个新样本估计,总共需要 O ( K B O(KB O(KB) 次查询偏好预测模型 P P P。(4.5)是一个高效可行的优化问题。非正式地说,当 K → ∞ K \to \infty K 时,(4.5)将恢复(4.4)。对(4.4)的收敛性有以下保证:

定理4.1. 假设优化问题(4.4)是可实现的。将通过(4.4)获得的策略表示为 π t \pi_t πt,将混合策略表示为 π ˉ T = 1 T ∑ t = 1 T π t \bar{\pi}_T = \frac{1}{T}\sum_{t=1}^T \pi_t πˉT=T1t=1Tπt。通过设置 η = Θ ( 1 / T \eta = \Theta(1/\sqrt{T} η=Θ(1/T ),有
max ⁡ π [ P ( π ≻ π ˉ T ) ] − min ⁡ π [ P ( π ≺ π ˉ T ) ] = O ( 1 / T ) . \max_\pi\big[P(\pi \succ \bar{\pi}_T)\big] - \min_\pi\big[P(\pi \prec \bar{\pi}_T)\big] = O(1/\sqrt{T}). πmax[P(ππˉT)]πmin[P(ππˉT)]=O(1/T ).

定理4.1刻画了在时间期望 T T T 内平均策略朝向纳什均衡收敛的速率,体现在对偶差距(duality gap)上。该证明基于Freund和Schapire(1999)中的定理1,略作修改。为了完整性,将证明包含在附录A中。

另一方面,可以避免估计 log ⁡ Z π ^ t K ( x \log Z_{\hat{\pi}_t^K}(x logZπ^tK(x),只需在(4.5)中将其替换为 η / 2 \eta/2 η/2,从而得到一个更清晰的目标函数:

π t + 1 = arg ⁡ min ⁡ π E x ∼ X , y ∼ π t ( ⋅ ∣ x ) [ ( log ⁡ ( π ( y ∣ x ) π t ( y ∣ x ) ) − η ( P ( y ≻ π ^ t K ∣ x ) − 1 2 ) ) 2 ] (4.6) \pi_{t+1} = \arg\min_\pi \mathbb{E}_{x \sim \mathcal{X}, y \sim \pi_t(\cdot|x)}\left[\left(\log\left(\frac{\pi(y|x)}{\pi_t(y|x)}\right) - \eta\left(P(y \succ \hat{\pi}_t^K|x) - \frac{1}{2}\right)\right)^2\right] \text{(4.6)} πt+1=argπminExX,yπt(x)[(log(πt(yx)π(yx))η(P(yπ^tKx)21))2](4.6)

直观地说,如果出现平局(即 P ( y ≻ π ^ t K ∣ x ) = 1 / 2 P(y \succ \hat{\pi}_t^K|x) = 1/2 P(yπ^tKx)=1/2),希望模型在 y y y 处不更新权重。如果 y y y 平均而言优于 π ^ t K \hat{\pi}_t^K π^tK(即 P ( y ≻ π ^ t K ∣ x ) > 1 / 2 P(y \succ \hat{\pi}_t^K|x) > 1/2 P(yπ^tKx)>1/2),那么增加 y y y处的机率密度以利用 y y y 相对于 π ^ t K \hat{\pi}_t^K π^tK 的优势。在实验中,选择最小化目标函数(4.6)。

SPPO算法
基于上述理论框架,在算法1中提出了自我对弈偏好优化(Self-Play Preference Optimization)算法。在每一轮 t t t 中,算法1首先根据 π t ( ⋅ ∣ x \pi_t(\cdot|x πt(x) 为每个提示 x x x 生成 K K K 个回应 y 1 , y 2 , … , y K y_1, y_2, \ldots, y_K y1,y2,,yK(第3行)。然后,查询偏好预测模型 P P P 以计算 K K K 个响应之间的胜率(第4行)。在第5行,可以应用某些标准来确定哪些响应应该保留在构建的数据集 D t D_t Dt 中,并构造提示-回应-机率三元组 ( x , y , P ^ ( y ≻ π t ∣ x ) (x, y, \hat{P}(y \succ \pi_t|x) (x,y,P^(yπtx))。将在下节中讨论设计选择。一个直接的设计选择是将所有 $K) 个响应纳入 D t D_t Dt,并通过将 y i y_i yi 与所有 K K K 个响应进行比较来估计每个 P ^ ( y i ≻ π t ∣ x \hat{P}(y_i \succ \pi_t|x P^(yiπtx)。总共将进行 O ( K 2 O(K^2 O(K2) 次查询。然后,该算法将在数据集 D t D_t Dt 上优化(4.6)(第6行)。

在这里插入图片描述

与DPO、IPO和KTO的比较
在实践中,利用包含超过2个响应的小批量来估计给定响应的胜率,而DPO和IPO损失函数仅关注一对响应。当只有一对回应 y w y_w yw y l y_l yl 可用时,基于偏好三元组 ( x , y w , y l (x, y_w, y_l (x,yw,yl) 定义对称的成对损失:

ℓ SPPO ( x , y w , y l ; θ ; π ref ) : = ( log ⁡ ( π θ ( y w ∣ x ) π ref ( y w ∣ x ) ) − η ( P ( y w ≻ y l ∣ x ) − 1 2 ) ) 2 + ( log ⁡ ( π θ ( y l ∣ x ) π ref ( y l ∣ x ) ) − η ( P ( y w ≺ y l ∣ x ) − 1 2 ) ) 2 (4.8) \ell_{\text{SPPO}}(x, y_w, y_l; \theta; \pi_{\text{ref}}) := \left(\log\left(\frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)}\right) - \eta\left(P(y_w \succ y_l|x) - \frac{1}{2}\right)\right)^2 + \left(\log\left(\frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}\right) - \eta\left(P(y_w \prec y_l|x) - \frac{1}{2}\right)\right)^2 \text{(4.8)} SPPO(x,yw,yl;θ;πref):=(log(πref(ywx)πθ(ywx))η(P(ywylx)21))2+(log(πref(ylx)πθ(ylx))η(P(ywylx)21))2(4.8)

其中 P ( y w ≻ y l ∣ x P(y_w \succ y_l|x P(ywylx) 可以是 [ 0 , 1 ] [0,1] [0,1] 范围内的软机率,也可以是指示 y w ≻ y l y_w \succ y_l ywyl 的硬标签 1 1 1

现在将SPPO损失与其他基准进行比较。为了便于比较,令

a = β log ⁡ ( π θ ( y w ∣ x ) π ref ( y w ∣ x ) ) , b = β log ⁡ ( π θ ( y l ∣ x ) π ref ( y l ∣ x ) ) , c = β KL ( π θ ∥ π ref ) , a = \beta \log\left(\frac{\pi_\theta(y_w|x)}{\pi_{\text{ref}}(y_w|x)}\right), \quad b = \beta \log\left(\frac{\pi_\theta(y_l|x)}{\pi_{\text{ref}}(y_l|x)}\right), \quad c = \beta \text{KL}(\pi_\theta \parallel \pi_{\text{ref}}), a=βlog(πref(ywx)πθ(ywx)),b=βlog(πref(ylx)πθ(ylx)),c=βKL(πθπref),

那么我们有

ℓ DPO ( y w , y l , x ) = − log ⁡ σ ( a − b ) , (4.9) \ell_{\text{DPO}}(y_w, y_l, x) = -\log \sigma(a-b), \tag{4.9} DPO(yw,yl,x)=logσ(ab),(4.9)

ℓ IPO ( y w , y l , x ) = [ ( a − b ) − 1 ] 2 , (4.10) \ell_{\text{IPO}}(y_w, y_l, x) = [(a-b)-1]^2, \tag{4.10} IPO(yw,yl,x)=[(ab)1]2,(4.10)

ℓ KTO ( y w , y l , x ) = σ ( − a + c ) + σ ( b − c )  (simplified) , (4.11) \ell_{\text{KTO}}(y_w, y_l, x) = \sigma(-a+c) + \sigma(b-c) \text{ (simplified)}, \tag{4.11} KTO(yw,yl,x)=σ(a+c)+σ(bc) (simplified),(4.11)

其中 σ ( x ) = e x e x + 1 \sigma(x) = \frac{e^x}{e^x+1} σ(x)=ex+1ex,而SPPO损失可以写成

ℓ SPPO ( y w , y l , x ) = ( a − 1 / 2 ) 2 + ( b + 1 / 2 ) 2 . \ell_{\text{SPPO}}(y_w, y_l, x) = (a - 1/2)^2 + (b + 1/2)^2. SPPO(yw,yl,x)=(a1/2)2+(b+1/2)2.

可以看出,SPPO不仅推动 a a a b b b 之间的差距为1,还试图将 a a a 的值推近 1 / 2 1/2 1/2,将 b b b 的值推近 − 1 / 2 -1/2 1/2,使得 π θ ( y w ∣ x ) > π ref ( y w ∣ x \pi_\theta(y_w|x) > \pi_{\text{ref}}(y_w|x πθ(ywx)>πref(ywx) 且 π θ ( y l ∣ x ) < π ref ( y l ∣ x \pi_\theta(y_l|x) < \pi_{\text{ref}}(y_l|x πθ(ylx)<πref(ylx)。这一点特别重要:当有大量偏好对时,DPO和IPO可以确保策略收敛到目标策略,但当偏好对稀疏时(例如,每个提示只有一对),无法保证胜者 a a a 的估计奖励会增加,输者 b b b 的估计奖励会减少。相反,只有胜者和输者之间的奖励差距(即 a − b a-b ab)会增加。Pal等人(2024)观察到这种现象,即DPO只会使输者的似然变小,但胜者的似然几乎不变。

β log ⁡ ( π t + 1 ( y ∣ x ) π t ( y ∣ x ) ) \beta \log\left(\frac{\pi_{t+1}(y|x)}{\pi_t(y|x)}\right) βlog(πt(yx)πt+1(yx)) 直接拟合到 P ( y ≻ π t ∣ x ) − 1 / 2 P(y \succ \pi_t|x) - 1/2 P(yπtx)1/2 比IPO更直接,IPO试图将 KaTeX parse error: Expected group as argument to '\right' at end of input: …t(y_l|x)}\right) 拟合到 P ( y w ≻ π t ∣ x ) − P ( y l ≻ π t ∣ x P(y_w \succ \pi_t|x) - P(y_l \succ \pi_t|x P(ywπtx)P(ylπtx)。此外,SPPO与KTO有相似之处。KTO损失通过最小化 σ ( − a + c \sigma(-a+c σ(a+c) 推动 a a a 变大,通过最小化 σ ( b − c \sigma(b-c σ(bc) 推动 $b) 变小。相比之下,SPPO将 a a a 推到 1 / 2 1/2 1/2,将 b b b 推到 − 1 / 2 -1/2 1/2

另一方面,该研究指出,虽然DPO和KTO可以扩展到迭代变体,但它们本质上不是迭代算法,也没有可证明的保证能够达到纳什均衡。相比之下,SPPO和IPO在设计上能够迭代求解纳什均衡。SPPO优于IPO,因为其设计明确缓解了数据稀疏问题,如上所述。

实验设置

基础模型和数据集

该研究遵循Snorkel的实验设置,该模型利用迭代DPO在AlpacaEval基准检验上达到最先进的性能。使用Mistral-7B-Instruct-v0.2作为基础模型。Mistral-7B-Instruct-v0.2是Mistral-7B-v0.2模型的指令微调版本。还采用Ultrafeedback作为提示来源,其中包括来自不同资源的大约6万个提示。在生成过程中,遵循Mistral-7B的标准聊天模板。为了避免微调期间的过拟合,将数据集分成三部分,每次迭代只使用一部分。训练Snorkel-Mistral-PairRM-DPO模型(Snorkel)时也采用了这些设置。为了公平比较,遵循Snorkel中的拆分方式。

偏好模型

采用PairRM,这是一个高效的成对偏好模型,大小为0.4B。PairRM基于DeBERTA-V3,在高质量的人类偏好数据集上进行训练。在Auto-J成对数据集等基准检验的结果表明,它优于大多数基于语言模型的奖励模型,并与更大的奖励模型(如UltraRM-13B)性能相当。为了在准确性和效率之间取得平衡,实验遵循Snorkel,将PairRM作为排名模型。

PairRM将输出一个"相对奖励" s ( y , y ′ ; x s(y,y';x s(y,y;x),反映 y y y y ′ y' y 之间的强度差异,即

P ( y ≻ y ′ ∣ x ) = exp ⁡ ( s ( y , y ′ ; x ) ) 1 + exp ⁡ ( s ( y , y ′ ; x ) ) . P(y \succ y'|x) = \frac{\exp(s(y,y';x))}{1+\exp(s(y,y';x))}. P(yyx)=1+exp(s(y,y;x))exp(s(y,y;x)).

与基于Bradley-Terry的奖励模型不同,PairRM只分配相对奖励,不保证具有递移性(即 s ( y 1 , y 2 ; x ) + s ( y 2 , y 3 ; x ) ≠ s ( y 1 , y 3 ; x s(y_1,y_2;x) + s(y_2,y_3;x) \neq s(y_1,y_3;x s(y1,y2;x)+s(y2,y3;x)=s(y1,y3;x))。因此,它实际上对一般偏好进行建模。

回应生成和选择

在每次迭代的生成阶段,使用 top  p = 1.0 \text{top }p=1.0 top p=1.0 temperature  1.0 \text{temperature }1.0 temperature 1.0 从当前策略中抽样。使用不同的随机种子为每个提示获得 K = 5 K=5 K=5 个不同的回应。之前利用迭代DPO的工作为每个提示选择2个响应以形成一对。为了公平比较,不将所有 K = 5 K=5 K=5 个响应纳入偏好数据,而是从中选择两个回应。遵循Snorkel,选择具有最高和最低PairRM分数的响应作为赢家 y w y_w yw和输家 y l y_l yl,对于每个响应 y i y_i yi,PairRM分数定义为:

s PairRM ( y i ; x ) : = 1 K ∑ k = 1 K s ( y i , y k ; x ) . s_{\text{PairRM}}(y_i;x) := \frac{1}{K}\sum_{k=1}^K s(y_i, y_k; x). sPairRM(yi;x):=K1k=1Ks(yi,yk;x).

概率估计

然后,通过对所有抽样响应的平均胜率来估计相对于分布的胜率,如(4.5)中所述:

P ^ ( y i ≻ π t ∣ x i ) = 1 K ∑ k = 1 K P ( y i ≻ y k ∣ x ) , ∀ i ∈ [ K ] . \hat{P}(y_i \succ \pi_t|x_i) = \frac{1}{K}\sum_{k=1}^K P(y_i \succ y_k|x), \quad \forall i \in [K]. P^(yiπtxi)=K1k=1KP(yiykx),i[K].

超参数调整

实验在8个Nvidia A100 GPU上进行。对于SPPO,总共训练了三次迭代。在每次迭代中,选择在UltraFeedback的前2万个提示的第一个epoch上训练的模型进入下一次迭代。全局训练批量大小设置为64,η设置为1e3。学习率计划由以下超参数决定:learning rate=5.0e-7,总训练epoch数=18,warmup ratio=0.1,线性计划。每个模型的最佳超参数是通过在Ultrafeedback的hold-out子集上使用PairRM判断的平均胜率作为指针来选择的。有关使用PairRM作为判断的胜率比较的更多详情,请参阅图3。

基准方法

评估以下基础模型以及用于微调LLM的基准方法:

Mistral-7B-Instruct-v0.2:Mistral-7B-Instruct-v0.2是Mistral-7B-v0.2模型的指令微调版本。它是算法的起点。
Snorkel (Mistral-PairRM-DPO):直接评估在HuggingFace上传的检查点。该模型是通过三轮迭代DPO从Mistral-7B-Instruct-v0.2获得的。
(迭代)DPO:该研究也自己实现了迭代DPO算法。实验设置和模型选择方案与SPPO使用的一致,只是采用了(4.9)中定义的DPO损失函数。超参数经过优化,以最大化每次迭代时PairRM评估的平均胜率。Rosset等人的实际算法本质上与迭代DPO相同。
(迭代)IPO:该研究自己实现了迭代IPO算法。实验设置和模型选择方案与迭代DPO相同,只是损失函数是IPO损失(4.10)。为了公平比较,IPO的超参数也是通过在Ultrafeedback的hold-out子集上使用PairRM平均胜率评估来选择的。
自奖励LM:Yuan等人提出将LLM本身作为偏好判断来构建新的偏好对,并用DPO算法迭代微调LLM。使用Yuan等人报告的AlpacaEval 2.0胜率进行比较。自奖励LM是从Llama 2 70B训练得到的。

基准检验

使用AlpacaEval 2.0、MT-Bench和Open LLM Leaderboard作为评估基准。

AlpacaEval 2.0是一个基于LLM的自动评估基准。它采用AlpacaFarm作为由一般人类指令组成的提示集。模型响应和GPT-4-Turbo生成的参考响应被输入到基于GPT-4-Turbo的标注器中进行判断。我们遵循标准方法,报告相对于参考响应的胜率。
MT-Bench是一个包含80个高质量多轮开放式问题的集合。问题涵盖写作、角色扮演、数学、编程等主题。生成的答案由GPT-4判断,直接给出分数,无需成对比较。
Open LLM Leaderboard包含六个数据集,每个数据集都侧重于语言模型评估的一个面。具体来说,评估规则包括数学问题求解、语言理解、人类谬误模仿和推理。该研究遵循标准评估流程,使用上下文学习提示语言模型,并计算六个数据集的平均分数来衡量性能。

实验结果

在上述三个基准上评估模型。并基于预训练的偏好模型PairRM比较模型。
使用GPT-4作为判断
在评估AI聊天机器人时,人工评估仍然是质量和准确性的基准。但由于在可扩展性和可重复性方面的局限性,该研究使用GPT-4先进能力作为自动评估工具的替代方法。在AlpacaEval 2.0和MT-Bench上进行基于GPT-4的自动评估,以衡量模型的聊天机器人能力。结果可以在表1(AlpacaEval 2.0)和图2左(MT-Bench)中找到。在图2右中提供了对MT-Bench结果的雷达图分析。发现随着迭代对齐迭代的进行,SPPO模型的性能持续提高。

在这里插入图片描述

表1(AlpacaEval 2.0)显示了不同模型在805个提示上相对于GPT-4-Turbo基准的胜率。还包括一列表示长度控制胜率,以及每个模型的平均长度一列,以说明基于LLM的判断倾向于偏好更长的序列输出 —— 这个问题通俗地称为"奖励黑客"现象。

根据表格,SPPO Iter3的胜率最高,长度控制版本为28.52%,总体胜率为31.02%。与前几次迭代相比,性能提升分别为7.69%(Mistral-7B-Instruct→Iter1)、2.10%(Iter1→Iter2)和1.64%(Iter2→Iter3),表明迭代之间的稳步改进,如图1所示。此外,数据表明,与DPO和IPO的迭代变体相比,SPPO实现了更优越的性能。SPPO的长度控制胜率达到28.53%,优于Snorkel的DPO最佳胜率26.39%和IPO的胜率25.45%。值得注意的是,虽然DPO和IPO训练倾向于显著增加平均输出长度 —— 分别为2736和2654 —— SPPO表现出更温和的长度增加,从基础模型的1676增加到第三次迭代的2163。表明与DPO和IPO相比,SPPO在提高性能的同时更有效地控制了输出长度增加的趋势。

最后使用PairRM奖励模型呈现每个模型的16个最佳结果。发现在测试时使用偏好模型重新排序可以始终提高基础模型(Mistral-7B-Instruct-v0.2)、DPO(Snorkel)和SPPO(Iter3)的性能,分别提高5.34%、3.57%和3.6%。值得注意的是,这表明尽管SPPO仅使用PairRM-0.4B作为唯一的外部监督来显著增强模型对齐,但并未导致偏好模型的过度优化(Gao等人,2023)。未来的工作将探索进一步改进模型对齐的可能性,可能通过超出当前三次迭代的额外迭代(遵循Snorkel的方法)。

在这里插入图片描述

在表2中,将SPPO与AlpacaEval 2.0排行榜上的其他最先进AI聊天机器人进行了比较发现,SPPO模型优于许多在专有对齐数据上训练的竞争模型(例如,Claude 2、Gemini Pro和Llama 3 8B Instruct)。通过测试时重新排序,SPPO Iter3(16个最佳)甚至可以与GPT-4 0613和Llama 3 70B Instruct竞争。

在这里插入图片描述

在图2(左)中评估了SPPO在MT-Bench上的性能。可以看到,SPPO Iter3优于所有基准模型,达到7.59分的平均得分。虽然不确定为什么前两次迭代的MT-Bench性能下降,但SPPO在最后一次迭代的性能仍然优于基础模型。由于长度控制的AlpacaEval 2.0与人工评估的Pearson相关性为98%,评估提示数量是MT-Bench的10倍, 因此它可能提供了比MT-Bench更可靠的评估。为了更深入地理解MT-Bench性能,在图2(右)中绘制了按问题提示类别划分的改进情况。SPPO Iter3在角色扮演、推理、数学和编程任务中显示出显著的收益。

在这里插入图片描述

Open LLM Leaderboard
使用Huggingface Open LLM Leaderboard评估SPPO模型的能力。该排行榜包括6个不同的数据集,每个数据集都侧重于LLM评估的一个方面:Arc、HellaSwag)、Winogrande、MMLU、TruthfulQA和GSM8k。模型使用零样本或少样本示例进行提示。

在这里插入图片描述

表3中的结果表明,SPPO可以提高基础模型在Arc、TruthfulQA和GSM8k上的性能,并以66.75的平均分数达到最先进的性能。然而,这些改进在后续的对齐迭代中并未保持:DPO、IPO和SPPO的性能在第一次或第二次迭代后下降。这一局限性可能归因于"对齐税"现象,该现象表明,与人类偏好对齐(在我们的研究中由PairRM偏好模拟)可能不会提高,甚至会损害整体性能。通过对齐迭代提高语言模型能力仍然是未来研究的一个主题,合并高质量的SFT标注可能在这一努力中发挥重要作用。

使用PairRM作为判断

由于SPPO确定了双人常数和博弈中的冯·诺伊曼赢家,检查了SPPO模型与其他基准之间的成对偏好。图3描述了由PairRM测量的成对胜率观察到,在所有算法(即DPO、IPO和SPPO)中,新的模型迭代都优于先前的迭代。例如,SPPO迭代3优于SPPO迭代2。SPPO和IPO在所有迭代中始终优于DPO。尽管SPPO在前两次迭代中优于IPO,但IPO在最后一次迭代中的性能超过了SPPO。考虑到SPPO在由GPT-4评估或针对真实答案的标准基准检验中的优异表现(例如,AlpacaEval 2.0、MT-Bench和Open LLM Leaderboard),以及IPO倾向于产生更长的序列输出(见表1中的Avg. Len),这是由于IPO利用了PairRM中偏好更长序列的长度偏差。相反,SPPO模型受益于乘性权重更新框架中更强大的正则化。

消融研究

在这里插入图片描述

研究了在估计胜率 P ( y ≻ π t ∣ x P(y \succ \pi_t|x P(yπtx) 时小批量大小的影响。具体来说,对于每个提示,仍然生成5个响应,并根据PairRM分数选择胜者 y w y_w yw 和输者 y l y_l yl。在估计概率时,将批量大小变化为 K = 2 , 3 , 5 K=2,3,5 K=2,3,5。对于 K = 2 K=2 K=2,我们仅使用2个样本 y w y_w yw y l y_l yl 估计 P ( y ≻ π t ∣ x P(y \succ \pi_t|x P(yπtx):

P ^ ( y w ≻ π t ∣ x ) = P ( y w ≻ y w ∣ x ) + P ( y w ≻ y l ∣ x ) 2 = 1 / 2 + P ( y w ≻ y l ∣ x ) 2 , \hat{P}(y_w \succ \pi_t|x) = \frac{P(y_w \succ y_w|x) + P(y_w \succ y_l|x)}{2} = \frac{1/2 + P(y_w \succ y_l|x)}{2}, P^(ywπtx)=2P(ywywx)+P(ywylx)=21/2+P(ywylx),

P ^ ( y l ≻ π t ∣ x \hat{P}(y_l \succ \pi_t|x P^(ylπtx) 的估计方式类似。$K=5) 表示我们使用的原始设置。

该研究比较了AlpacaEval 2.0上的结果,如图4所示。发现SPPO的性能对估计 P ( y ≻ π t ∣ x P(y \succ \pi_t|x P(yπtx) 时的噪声具有鲁棒性。虽然 $K=5) 在第一次迭代中初始优于 $K=2),但在后续迭代中,它们的性能差异减小。此外,观察到 $K=2) 表现出较小的增加输出长度的倾向。

总结实验结果:

在AlpacaEval 2.0上,SPPO Iter3在长度控制胜率和总胜率上都达到最高,分别为28.52%和31.02%。而且从Iter1到Iter3性能稳步提升。SPPO的长度控制胜率达到28.53%,优于DPO的26.39%和IPO的25.45%。值得注意的是,SPPO在提高性能的同时,输出长度的增加也更加温和。

在MT-Bench上,SPPO Iter3优于所有基准模型,平均得分达到7.59分。尽管前两次迭代性能有所下降,但SPPO Iter3最终还是超越了基础模型。

在Open LLM Leaderboard上,SPPO可以提升基础模型在多个数据集上的表现,达到目前最先进的平均得分66.75。但DPO、IPO和SPPO在后续迭代中性能都有所下降,这可能是因为与人类偏好对齐并不总是能提高整体性能。

使用PairRM作为评判,SPPO和IPO在所有迭代中都一致地优于DPO。虽然在最后一次迭代中IPO的性能超过了SPPO,但考虑到SPPO在GPT-4评估下的优异表现,以及IPO倾向于生成更长的输出,我们认为这是由于IPO利用了PairRM中偏好更长序列的偏差。
消融实验显示,SPPO的性能对估计胜率时使用的批量大小的噪声具有鲁棒性。

结论

在这里插入图片描述

本研究提出了一种创新的自我对弈偏好优化(SPPO)方法来微调大型语言模型。该方法在双人博弈中进行自我对弈,以偏好学习目标指导模型迭代优化,逼近纳什均衡。实验表明,SPPO在多个基准检验上显著优于现有方法如DPO和IPO,更好地将语言模型与人类偏好对齐,避免了"长度偏差"等常见问题。这些结果凸显了SPPO在提高生成式AI系统对齐性方面的潜力,为其在大型语言模型及其他领域的广泛应用提供了有力证据。

附录A 定理4.1的证明

定理4.1的证明。假设优化问题是可实现的,我们有确切的

π t + 1 ( y ∣ x ) ∝ π t ( y ∣ x ) exp ⁡ ( η P ( y ≻ π t ∣ x ) ) ,  對於  t = 1 , 2 , … . (A.1) \pi_{t+1}(y|x) \propto \pi_t(y|x) \exp(\eta P(y \succ \pi_t|x)), \text{ 對於 } t = 1, 2, \ldots. \tag{A.1} πt+1(yx)πt(yx)exp(ηP(yπtx)), 對於 t=1,2,.(A.1)

为了证明指数权重更新可以导致最优策略,我们直接引用Freund和Schapire(1999)中定理1的重述版本:

引理A.1(Freund和Schapire(1999)中的定理1,重述)。对于任意预言 P P P 和任意混合策略序列 μ 1 , μ 2 , … , μ T \mu_1, \mu_2, \ldots, \mu_T μ1,μ2,,μT,由(A.1)产生的策略序列 π 1 , π 2 , … , π T \pi_1, \pi_2, \ldots, \pi_T π1,π2,,πT 满足:

∑ t = 1 T P ( π t ≺ μ t ) ≤ min ⁡ π ( η 1 − e − η ∑ t = 1 T P ( π ≺ μ t ) + KL ( π ∥ π 0 ) 1 − e − η ) . \sum_{t=1}^T P(\pi_t \prec \mu_t) \leq \min_\pi \left(\frac{\eta}{1-e^{-\eta}} \sum_{t=1}^T P(\pi \prec \mu_t) + \frac{\text{KL}(\pi \parallel \pi_0)}{1-e^{-\eta}}\right). t=1TP(πtμt)πmin(1eηηt=1TP(πμt)+1eηKL(ππ0)).

通过设置 μ t = π t \mu_t = \pi_t μt=πt,我们有

T 2 ≤ min ⁡ π ( η T 1 − e − η P ( π ≺ π ˉ T ) + KL ( π ∥ π 0 ) 1 − e − η ) , \frac{T}{2} \leq \min_\pi \left(\frac{\eta T}{1-e^{-\eta}} P(\pi \prec \bar{\pi}_T) + \frac{\text{KL}(\pi \parallel \pi_0)}{1-e^{-\eta}}\right), 2Tπmin(1eηηTP(ππˉT)+1eηKL(ππ0)),

其中LHS来自 P ( π t ≺ π t ) = 1 / 2 P(\pi_t \prec \pi_t) = 1/2 P(πtπt)=1/2,RHS来自 1 T ∑ t = 1 T P ( π ≺ π t ) = P ( π ≺ π ˉ t \frac{1}{T}\sum_{t=1}^T P(\pi \prec \pi_t) = P(\pi \prec \bar{\pi}_t T1t=1TP(ππt)=P(ππˉt)。现在重新整理项得到

1 − e − η 2 η ≤ min ⁡ π ( P ( π ≺ π ˉ T ) + KL ( π ∥ π 0 ) η T ) . \frac{1-e^{-\eta}}{2\eta} \leq \min_\pi\left(P(\pi \prec \bar{\pi}_T) + \frac{\text{KL}(\pi \parallel \pi_0)}{\eta T}\right). 2η1eηπmin(P(ππˉT)+ηTKL(ππ0)).

我们可以天真地界定KL散度 KL ( π ∥ π 0 ) ≤ ∥ log ⁡ π 0 ( ⋅ ) ∥ ∞ \text{KL}(\pi \parallel \pi_0) \leq \lVert \log \pi_0(\cdot) \rVert_\infty KL(ππ0)logπ0(),这可以被视为一个(大)常数。

通过选择 η = ∥ log ⁡ π 0 ( ⋅ ) ∥ ∞ T \eta = \frac{\lVert \log \pi_0(\cdot) \rVert_\infty}{\sqrt{T}} η=T logπ0(),我们有

1 2 − ∥ log ⁡ π 0 ( ⋅ ) ∥ ∞ 4 T + O ( T − 1 ) ≤ min ⁡ π [ P ( π ≺ π ˉ T ) ] + ∥ log ⁡ π 0 ( ⋅ ) ∥ ∞ T , \frac{1}{2} - \sqrt{\frac{\lVert \log \pi_0(\cdot) \rVert_\infty}{4\sqrt{T}}} + O(T^{-1}) \leq \min_\pi\left[P(\pi \prec \bar{\pi}_T)\right] + \sqrt{\frac{\lVert \log \pi_0(\cdot) \rVert_\infty}{\sqrt{T}}}, 214T logπ0() +O(T1)πmin[P(ππˉT)]+T logπ0() ,

其中LHS来自泰勒展开 1 − e − η 2 η = 1 2 − η 4 + o ( η \frac{1-e^{-\eta}}{2\eta} = \frac{1}{2} - \frac{\eta}{4} + o(\eta 2η1eη=214η+o(η)。请注意,LHS的1/2已经是对称双人常数和博弈的值。这表明,对于适当选择的 $\eta) 和 $T),混合策略 π ˉ T \bar{\pi}_T πˉT 接近于极小极大最优策略(纳什均衡)。因此,最优性差距受以下限制

max ⁡ π [ P ( π ≻ π ˉ T ) ] − min ⁡ π [ P ( π ≺ π ˉ T ) ] = max ⁡ π [ 1 − P ( π ≺ π ˉ T ) ] − min ⁡ π [ P ( π ≺ π ˉ T ) ] \max_\pi\big[P(\pi \succ \bar{\pi}_T)\big] - \min_\pi\big[P(\pi \prec \bar{\pi}_T)\big] = \max_\pi\big[1 - P(\pi \prec \bar{\pi}_T)\big] - \min_\pi\big[P(\pi \prec \bar{\pi}_T)\big] πmax[P(ππˉT)]πmin[P(ππˉT)]=πmax[1P(ππˉT)]πmin[P(ππˉT)]

= 2 ( 1 2 − min ⁡ π [ P ( π ≺ π ˉ T ) ] ) = O ( 1 T ) . = 2\left(\frac{1}{2} - \min_\pi\big[P(\pi \prec \bar{\pi}_T)\big]\right) = O\left(\frac{1}{\sqrt{T}}\right). =2(21πmin[P(ππˉT)])=O(T 1).

附录B 不同迭代中的回应示例

表4:SPPO在不同迭代中微调模型的生成示例

在这里插入图片描述
在这里插入图片描述

提示:

你将首先得到一个任务的定义,然后是该任务的一些输入。你得到了2个或更多个人之间的对话。对话将包括有关2个参与者之间关系的信息。最后,你将被要求提供这2个参与者关系的答案。在这个场景中,'0’将代表配偶关系,'1’将代表兄弟姐妹,'2’将代表孩子/父母关系。

Speaker 1: I’ll be right with you. Okay? Thanks, Wendy.

Speaker 2: Oh my God! How cute is the on-call doctor?

Speaker 3: Ooh, so cute, that I’m thinking about jamming this pen in my eye.

Speaker 4: Dr. Burke will see you know.

Speaker 2: Oh no-no-no, not Dr. Burke. Dr. Burke is out of town. The-the on-call doctor will see me now.

Speaker 4: Dr. Richard Burke is out of town. Dr. Timothy Burke, his son, will see you now.

Speaker 5: Ready? What is the relationship between Speaker 5 and Richard Burke?

输出:

Mistral-7B:

根据对话,Richard Burke被确定为另一个角色的儿子,因此Speaker 5和Richard Burke之间的关系是父母和孩子。

迭代1:

Speaker 5和Richard Burke的关系是父亲和孩子。根据对话,Dr. Timothy Burke是值班医生,被确定为Dr. Richard Burke的儿子。

迭代2:

Speaker 5和Richard Burke的关系是父亲和孩子。对话揭示,Dr. Timothy Burke是值班医生,他被确定为Dr. Richard Burke的儿子。

迭代3:

Speaker 5是询问关系的人,所以他们与Dr. Richard Burke没有直接关系。对话中提供的信息揭示,Dr. Timothy Burke是值班医生,是Dr. Richard Burke的儿子。

因此,答案是:Speaker 5和Dr. Richard Burke的关系是孩子(Dr. Timothy Burke)和父母。Speaker 5正在询问这种关系,但他们本身并不是其中的一部分。指定的关系代码(0表示夫妻,1表示兄弟姐妹,2表示孩子/父母)与这一描述一致:Speaker 5(0、1或2)和Dr. Richard Burke(2)是父母-孩子的关系。

输出:2(孩子/父母关系)

在这个场景中,Speaker 5的角色是确定她自己和Dr. Richard Burke之间的关系,但由于他们没有关系(她是一个外部询问者),正确答案只与对话中确定的关系有关:Dr. Richard Burke(父亲)和Dr. Timothy Burke(儿子)。

表5:SPPO在不同迭代中微调模型的另一个生成示例。

提示:

Q: Context: Roman Brady is a fictional character from the long running NBC soap opera, Days of Our Lives. The role was originated in 1981 by Wayne Northrop who played the role until 1984, was filled by Drake Hogestyn from 1986 – 1991, again by Northrop from 1991 – 1994, and is currently being portrayed by series veteran Josh Taylor, who stepped into the role in 1997.

Question: who is roman brady on days of our lives? Let’s give stream of consciousness below

Mistral-7B:

Roman Brady is a fictional character on the NBC soap opera “Days of Our Lives.” He was first portrayed by Wayne Northrop from 1981 to 1984. Later, Drake Hogestyn took over the role from 1986 to 1991. Northrop returned to the role from 1991 to 1994. Since 1997, the character is being portrayed by Josh Taylor. Roman Brady is a significant character in the show’s long-running storylines.

迭代1:

Roman Brady is a fictional character on the NBC soap opera “Days of Our Lives.” He was first portrayed by Wayne Northrop from 1981 to 1984. Drake Hogestyn took over the role from 1986 to 1991. Northrop returned to play Roman again from 1991 to 1994. Since 1997, the character has been portrayed by Josh Taylor.

So, in summary, Roman Brady is a long-standing character on “Days of Our Lives” who has been played by three different actors over the years: Wayne Northrop (1981-1984, 1991-1994), Drake Hogestyn (1986-1991), and currently by Josh Taylor (1997-present).

迭代2:

Roman Brady is a fictional character on the NBC soap opera “Days of Our Lives.” He was first portrayed by Wayne Northrop from 1981 to 1984. Drake Hogestyn took over the role from 1986 to 1991. Northrop returned to play Roman again from 1991 to 1994. Since 1997, the character has been portrayed by Josh Taylor.

Overall, Roman Brady is a long-standing and complex figure in the show’s history, with multiple actors bringing their unique interpretations to the role.

迭代3:

Roman Brady is a fictional character on the NBC soap opera “Days of Our Lives.” He was originally played by Wayne Northrop from 1981 to 1984. Drake Hogestyn took over the role from 1986 to 1991. Northrop returned to portray Roman once more from 1991 to 1994. Since 1997, the character has been portrayed by Josh Taylor.

Roman Brady is a complex and prominent figure in the long-running daytime drama. Initially played by Northrop in the early 1980s, his tenure included involvement in various storylines, such as romantic relationships and business dealings. Hogestyn’s portrayal during the late 1980s and early 1990s introduced new dimensions to the character. Northrop’s second stint, from 1991 to 1994, further developed Roman’s narrative. Since 1997, Josh Taylor has assumed the role, continuing to contribute to the evolving story of Roman Brady on “Days of Our Lives.” Throughout these different portrayals, Roman has remained a central character, known for his intricate relationships, business ventures, and personal struggles.

参考文献

https://arxiv.org/pdf/2405.00675

我的笔记

透过仔细研读这篇论文,我对语言模型对齐及RLHF有了以下几点见解:

自我对弈(Self-Play)是强化学习和搜索算法中的重要范式,通过智能体自己与自己对弈来进行策略迭代优化。近年来,自我对弈框架在围棋、国际象棋、星际争霸等领域取得了重大突破。

SPPO (Self-Play Preference Optimization)是一种基于自我对弈的偏好优化算法。与传统的通过奖励函数来引导策略学习不同,SPPO利用人类反馈数据来建模偏好,并以此来指导策略搜索的方向。
算法流程如下:

  1. 通过自我对弈产生一批轨迹数据
  2. 从轨迹中采样两个状态s1和s2,询问人类偏好
  3. 基于反馈数据训练一个偏好预测模型
  4. 结合偏好模型,修改策略梯度方向,使策略朝着人类偏好的方向优化
  5. 重复迭代上述步骤,直到策略收敛

相比标准的强化学习算法,SPPO的优势在于:

  • 不需要预先定义奖励函数,降低了算法设计的难度
  • 学习适应人类偏好,得到更加安全可控的策略
  • 自我对弈框架高效稳定,不受探索-利用困境的影响

SPPO在Atari游戏、机器人控制等任务上取得了不错的效果,证明了用偏好反馈来引导强化学习是可行的。这为构建安全可靠的智能系统提供了新的思路。

  1. 人类偏好是复杂且非完全理性的,常见的参数化偏好模型如Bradley-Terry模型难以充分捕捉其特性。因此,直接利用偏好机率而非假设一个基础效用函数,是更灵活也更准确的建模方式。这为RLHF的改进提供了新的思路。
  2. 将语言模型对齐视为一个双人常数和博弈,目标是找到纳什均衡策略,是一个巧妙的problem formulation。这不仅在概念上很自然,而且存在成熟的算法如multiplicative weight update可以用于求解,并享有理论收敛性保证
  3. 论文提出的SPPO算法透过自我对弈的迭代更新过程来近似求解该博弈,并采用了各种技巧使其能扩展到大语言模型的高效训练,如使用有限样本估计胜率、避免估计归一化常数等。这些技巧值得借鉴。
  4. SPPO的损失函数设计也很巧妙,不仅推动胜者和败者响应的估计奖励有差距,还试图将胜者奖励拉高、败者奖励降低,相比DPO和IPO损失更彻底,并在稀疏偏好数据上也能有效训练
  5. 大量实验结果表明,SPPO在AlpacaEval、MT-Bench等基准检验上的表现优于DPO、IPO等方法,在多个任务上展现了很强的"generalist"能力,并且这种优势在迭代更新中还能保持,很令人印象深刻。特别是SPPO无需借助GPT-4等强模型的外部监督数据,就达到了接近GPT-4的长度控制胜率,突显了其潜力。
  6. 论文透过消融实验还研究了样本数对偏好估计及最终性能的影响。结果表明SPPO对样本数并不敏感,即便只用2个样本,也能取得不错的效果。这进一步凸显了SPPO的数据效率。
  7. 论文提到SPPO目前还有一些局限,如在OpenLLM榜单上训练久了反而会掉点,可能存在对齐税的问题。作者认为纳入高质量的监督微调数据可能有所帮助。这点出了一个重要问题,即对齐和能力之间可能存在某种tradeoff,如何更好地权衡值得深入研究。

这是一篇高质量的工作,无论是在算法设计、理论分析还是实验评估方面都很扎实,可谓把RLHF的研究往前推进了一大步。不过,语言模型对齐仍然任重而道远,完全对齐人类价值观恐怕没那么容易。如何在对齐和能力之间取得更好的平衡,如何更高效地利用人类反馈数据,如何在更广泛的真实场景中测试模型的性能,这些都是未来值得进一步探索的问题。期待这个方向能有更多优秀的后续工作涌现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/611391.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

会话劫持攻击就在我们身边,我们要如何防范

会话劫持攻击&#xff08;Session Hijacking&#xff09;是一种网络攻击方式&#xff0c;攻击者通过某种手段获取到用户的会话标识&#xff08;Session ID&#xff09;&#xff0c;然后使用这个会话标识冒充合法用户进行恶意操作。这种攻击方式允许攻击者以合法用户的身份访问受…

Go语言系统学习笔记(一):基础篇

1. 写在前面 公司的新业务开发需要用到go语言&#xff0c;虽然之前没接触过这门语言&#xff0c;但在大模型的帮助下&#xff0c;边看项目边写代码也能进行go的项目开发&#xff0c;不过&#xff0c;写了一段时间代码之后&#xff0c;总感觉对go语言本身&#xff0c;我的知识体…

Python尝试安装 pyaudio 时遇到的错误信息表示安装过程失败,原因是找不到 Python.h 头文件

环境&#xff1a; Python 3.8.10 WSL2 问题描述&#xff1a; 尝试安装 pyaudio 时遇到的错误信息表示安装过程失败&#xff0c;原因是找不到 Python.h 头文件 error: subprocess-exited-with-error Building wheel for pyaudio (pyproject.toml) did not run successfully…

【数据结构】手把手带你玩转线性表

前言&#xff1a; 哈喽大家好&#xff0c;我是野生的编程萌新&#xff0c;首先感谢大家的观看。数据结构的学习者大多有这样的想法&#xff1a;数据结构很重要&#xff0c;一定要学好&#xff0c;但数据结构比较抽象&#xff0c;有些算法理解起来很困难&#xff0c;学的很累。我…

Ubuntu 安装 samba 实现文件共享

1. samba的安装: sudo apt-get install samba sudo apt-get install smbfs2. 创建共享目录 mkdir /home/share sudo chmod -R 777 /home/share3. 创建Samba配置文件: 3.1 保存现有的配置文件 sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak3.2 打开现有的文件 sudo…

基于小波交叉谱分析的地震波走时变化测量(MATLAB)

地震波在地球介质中传播&#xff0c;带来了丰富的地下介质物性的信息&#xff0c;为了解地球内部结构及运动变化提供了可能。地球内部地震波速度的差异是人们确定地球圈层结构和横向不均匀性的重要物理参数&#xff0c;地下介质应力的变化和积累是地震的孕育和发生的原因&#…

百面算法工程师 | 传统图像处理——OpenCV

本文给大家带来的百面算法工程师是传统图像处理的面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们将介绍一些集几何变换和图像平滑处理&#xff0c;并提供参考的回答及其理论基础&…

分布式与集群的区别

先说区别&#xff1a; 分布式是并联工作的&#xff0c;集群是串联工作的。 分布式中的每一个节点都可以做集群。而集群并不一定就是分布式的。 集群举例&#xff1a;比如新浪网&#xff0c;访问的人很多&#xff0c;他可以做一个集群&#xff0c;前面放一个相应的服务器&…

微软必应bing国内广告开户费用?如何开户投放?

当下搜索引擎广告无疑是企业触达潜在客户、提升品牌曝光度的重要途径之一&#xff0c;微软必应&#xff08;Bing&#xff09;作为全球第二大搜索引擎&#xff0c;尽管在国内市场份额上可能不敌某些本土巨头&#xff0c;但其独特的用户群体和国际影响力使其成为众多企业拓展市场…

【强化学习入门】基于DDPG的强化学习控制器设计

最近在看控制领域研究热门–强化学习相关的东西&#xff0c;跟着matlab官方强化学习教程一边看一边学&#xff0c;感觉入门门槛略高&#xff0c;需要补很多机器学习相关的知识&#xff0c;高数概率论那些&#xff0c;摸索了个把月感觉现在只大概会用&#xff0c;原理啥的还没搞…

git 常用命令 git怎么撤销命令 持续更新中!!!!

基本流程 # 拉取仓库 git clone 仓库地址 # 拉取最新版本 git pull # 本地提交 git add . git commit -m "本次提交信息&#xff01;" # 推送上云 git push分支 # 创建分支 git checkout -b cart # 删除本机的分支 git branch -d cart # 切换分支 本地切换到主分支…

热爱电子值得做的电子制作实验

加我zkhengyang&#xff0c;进嵌入式音频系统研究开发交流答疑群(课题组) AM/FM收音机散件制作&#xff0c;磁带随声听散件&#xff0c;黑白电视机散件制作&#xff0c;功放散件制作&#xff0c;闪光灯散件制作&#xff0c;声控灯散件&#xff0c;等等&#xff0c;可提高动手能…

postman常用功能超全使用教程

Postman 使用 一、Postman 简介 Postman是一个接口测试工具,在做接口测试的时候,Postman相当于一个客户端,它可以模拟用户发起的各类HTTP请求(如:get/post/delete/put…等等),将请求数据发送至服务端,获取对应的响应结果。 二、Postman 功能简介 三、Postman 下载安装 Post…

多模态模型Mini-Gemini:代码模型数据均开源,MiniCPM小钢炮2.0全家桶四连发,可以在Android 手机端上运行的大模型,效果还不错

多模态模型Mini-Gemini&#xff1a;代码模型数据均开源&#xff0c;MiniCPM小钢炮2.0全家桶四连发&#xff0c;可以在Android 手机端上运行的大模型&#xff0c;效果还不错。 多模态模型Mini-Gemini&#xff1a;代码模型数据均开源 香港中文大学终身教授贾佳亚团队提出多模态模…

如何将手写数学公式识别?识别工具在这里

如何将手写数学公式识别&#xff1f;在日常学习中&#xff0c;将手写数学公式识别出来可以极大地提高我们的学习效率。通过这一技术&#xff0c;我们能够快速、准确地将手写公式转化为可编辑的文本&#xff0c;省去了繁琐的输入过程。这不仅节约了时间&#xff0c;还减少了因输…

使用Python实现DataFrame中奇数列与偶数列的位置调换

目录 一、引言 二、背景知识 三、问题描述 四、解决方案 五、案例分析与代码实现 六、技术细节与注意事项 七、扩展与应用 八、封装为函数 九、错误处理与健壮性 十、性能优化 十一、总结与展望 一、引言 在数据处理和分析中&#xff0c;数据框&#xff08;DataFra…

Oracle count的优化-避免全表扫描

Oracle count的优化-避免全表扫描 select count(*) from t1; 这句话比较简单&#xff0c;但很有玄机&#xff01;对这句话运行的理解&#xff0c;反映了你对数据库的理解深度&#xff01; 建立实验的大表他t1 SQL> conn scott/tiger 已连接。 SQL> drop table t1 purge…

Windows下安装人大金仓数据库

1、点击安装包进行安装 2、双击进行安装 3、点击确定 4、接着选择下一步 5、勾选接收 6、选择授权文件 7、显示授权文件信息 8、选择安装位置 9、点击安装 10、点击下一步 11、正在进行安装 12、设置密码。123456 13、系统正在进行配置 14、安装完成 15、登…

17 【Aseprite 作图】参考图和颜色

参考图 Aseprite 作图&#xff0c;“打开 - 一张参考图”&#xff0c;再把参考图拉到右边&#xff0c;就可以得到参考图和缩略图 取消选区 通过“选择 - 取消选择”&#xff0c;可以 取消选区 复制参考图的颜色 打开参考图后&#xff0c;参考图的调色板就会出现参考图所有的…

【智能优化算法】白鲨智能优化算法(White Shark Optimizer,WSO)

白鲨智能优化算法(White Shark Optimizer,WSO)是期刊“KNOWLEDGE-BASED SYSTEMS”&#xff08;中科院一区期刊 IF8.6&#xff09;的2022年智能优化算法 01.引言 白鲨智能优化算法(White Shark Optimizer,WSO)的核心理念和基础灵感来自大白鲨的行为&#xff0c;包括它们在导航和…
最新文章