强化学习在LLM中应用:RLHF、DPO
强化学习在LLM中应用:RLHF、DPO
这部分我自己也是了解,没有在工程上用过~。因为RLHF和DPO都需要大量人工数据的标注。
RLHF:人类反馈的力量
最著名的强化学习应用就是RLHF(Reinforcement Learning from Human Feedback)。ChatGPT能有今天的表现,很大程度上就是靠这个方法。
RLHF的流程其实挺复杂的:
- 让模型对同一个问题生成多个答案
- 找人来给这些答案排序(需要完整排名)
- 训练一个专门的"评分模型"来学习人类的偏好。该模型将输入提示词+AI回答,输出分数
- 用这个评分模型+PPO来指导原模型的训练。输入提示词,LLM输出AI回答,奖励模型评分,再更新原有LLM。
这个方法很有效,但也有明显的缺点:成本高、流程复杂,而且完全依赖人工标注。
DPO:直接偏好优化
DPO(Direct Preference Optimization)算是RLHF的简化版。它跳过了训练评分模型的步骤,直接用人类的偏好对比来训练原模型。有时候我们在使用LLM时,他会弹出一个你喜欢哪个答案,让我们去选一个模板,就是我们在给官方标注RLHF数据集。
具体来说,就是给人看两个答案A和B,问他们更喜欢哪个。然后调整模型,让它更倾向于生成被人类偏好的答案。
虽然比RLHF简单一些,但还是需要大量的人工标注。对于很多应用场景来说,这个成本还是太高了。