RRHF

RRHF(Rank Responses to align Human Feedback)出自2023年4月的论文《RRHF: Rank Responses to Align Language Models with Human Feedback without tears》,是较早提出的不需要使用PPO来对齐人类偏好的方法。

设输入数据记为x,输出记为y,奖励函数为R(x,y),待训练模型记为 π \pi π(从模型 ρ \rho ρ​初始化得到)。

在训练前,先对输入从不同来源采样输出(response)构建数据集,来源包括待训练模型、ChatGPT、GPT-4、人工标注的高质量和低质量输出。训练时,对于一个输入x,就有k个不同的输出 y i y_i yi 1 ≤ i ≤ k 1 \le i \le k 1ik),奖励函数给每一个 y i y_i yi的打分为 R ( x , y i ) = r i R(x, y_i) = r_i R(x,yi)=ri,为了使模型与分数 { r i } k \{ r_i\}_k {ri}k对齐,让模型 π \pi π对每一个 y i y_i yi使用下式计算分数 p i p_i pi
p i = − ∑ t log ⁡ P π ( y i , t ∣ x , y i , < t ) ∣ ∣ y i ∣ ∣ ( 1.1 ) p_{i}=-\frac{\sum_{t} \log P_{\mathcal{\pi}}\left(y_{i, t} \mid x, y_{i,<t}\right)}{||y_i||} \qquad (1.1) pi=∣∣yi∣∣tlogPπ(yi,tx,yi,<t)(1.1)
p i p_i pi是模型 π \pi π y i y_i yi的对数条件概率,目的是使模型 π \pi π对高质量输出给更大概率,对低质量输出给小概率。使用如下ranking loss来优化这个目标:
L r a n k = ∑ r i < r j m a x ( 0 , p i − p j ) ( 1.2 ) L_{rank} = \sum_{r_i < r_j} max(0, p_i - p_j) \qquad (1.2) Lrank=ri<rjmax(0,pipj)(1.2)
此外要求模型从最高奖励的输出学习,损失与SFT的交叉熵损失类似:
i ′ = a r g m a x i   r i L f t = − ∑ t log ⁡ P π ( y i ′ , t ∣ x , y i ′ , < t ) ( 1.3 ) i^{\prime} = \mathop{arg max}_i\ { r_i} \\ L_{ft} = - \sum_t \log P_{\mathcal{\pi}}\left(y_{i^{\prime}, t} \mid x, y_{i^{\prime},<t}\right) \qquad (1.3) i=argmaxi riLft=tlogPπ(yi,tx,yi,<t)(1.3)
RRHF的最终目标为这两部分损失之和:
L = L r a n k + L f t ( 1.4 ) L = L_{rank} + L_{ft} \qquad (1.4) L=Lrank+Lft(1.4)

上一篇:怎么查看 iOS ipa包 mobileprovision 改动


下一篇:【UE5.1 多线程 异步】“Async Blueprints Extension”插件使用记录