Featured image of post 250912

250912

坚持六天已经很不容易了

强化学习

DPO方法与RLHF不同之处在于,DPO方法利用成对数据,舍弃了有关RM模型的训练,并且训练过程为监督学习,因此不需要PPO等强化学习方法。

关于DPO的许多变体:
1、数据形式改进
a. KTO (Kahneman–Tversky Optimization)
DPO的优化基于Bradley–Terry偏好模型,而KTO基于行为经济学的前景理论,通过设置阈值r直接反映答案的好坏。KTO只需要单点数据,并且结果更加可靠,缺点是其同样只能给出对输入结果好/坏的二元评价。该模型适合风险敏感场景(如金融/医疗)等领域。

b. IPO (Identity Preference Optimization)
IPO在DPO的基础上去掉了π_ref项,改写log-odds型,在许多环境下训练更稳定。

c. DPOP (DPO with Probability calibration)
在 DPO 的基础上,加一个正例 log-likelihood 最大化项,使模型学习更多正面案例。

d. sDPO (Stepwise DPO)
在DPO基础上优化函数不变,但每过n步会将当前模型结果设置为新的ref模型,从而减少模型的限制。

e. RPO (Rank Preference Optimization)
DPO通过成对数据训练,而RPO可以利用多个排序后的数据进行训练。

2、优化目标改进
a. ORPO (Odds Ratio Preference Optimization)
使用几率比替换DPO中的log-odds算法,更好地对齐“好/坏”的相对概率,理论上对类别不平衡更稳健。

b. XPO (Exploratory Preference Optimization)
XPO是一个综合框架,使得输入数据既可以是DPO的成对数据,KTO的单个数据,也可以是RPO的多个数据。

c. CPO (Conditional Preference Optimization)
CPO为偏好数据增加了约束,例如问题“今天天气如何?”在晴天条件下“今天晴天”的偏好度更高,而非DPO中“晴天”和“雨天”的回答全部成立。

d. FDPO (Filtered / Fast DPO)
FDPO 在训练时加入数据筛选或高效近似,提升训练效率牺牲部分精度换取速度和大规模训练可行性。

3、精度改进
a. TDPO (Token-level DPO)
将偏好的选择范围从句子扩展到句子中的token,计算量更大但结果更优。

Licensed under CC BY-NC-SA 4.0
comments powered by Disqus
只有亲眼去看,才能感受到世界的美
使用 Hugo 构建
主题 StackJimmy 设计