赞
踩
(1)一句话:RL是研究agent智能体和环境交互的问题,目标是使agent在复杂而不确定的环境中最大化奖励值。
串起6要素:一个在不断变化的【环境】中的【智能体】,为了达成某个【目标】,需要不断【行动】,行动给予反馈即【奖励】,智能体对这些奖励进行学习,改变自己所处的【状态】,再进行下一步行动,即持续这个【行动-奖励-更新状态】的过程,直到达到目标。
(2)策略与价值:
任何一个有智力的个体,它的学习过程都遵循强化学习所描述的原理。比如说,婴儿学走路就是通过与环境交互,不断从失败中学习,来改进自己的下一步的动作才最终成功的。再比如说,在机器人领域,一个智能机器人控制机械臂来完成一个指定的任务,或者协调全身的动作来学习跑步,本质上都符合强化学习的过程。
(3)奖励模型(Reward Model)和评论模型(Critic Model):
奖励模型(Reward Model):奖励模型是强化学习中一个基本元素,它定义了智能体执行特定动作后将得到的奖励。换句话说,奖励模型为智能体在其环境中执行的每个动作提供奖励(正面)或惩罚(负面)。这个模型帮助智能体理解哪些动作是有利的,哪些不是,因此,智能体尝试通过最大化获得的总奖励来找到最优策略。
评论模型(Critic Model):评论模型是一种基于值迭代的方法,它在每个状态或动作上评估(或者"评论")期望的未来奖励。评论者用来估计一个动作或状态的长期价值,通常在演员-评论者模型(Actor-Critic Models)中使用,演员选择动作,评论者评估动作。
两者的主要区别在于,奖励模型直接反映了每个动作的即时反馈,而评论模型是对未来奖励的一个预测或估计,关注的是长期价值,通常基于数学期望来进行评估。
用奖励模型训练sft模型,生成模型使用奖励或惩罚来更新策略,以便生成更高质量、符合人类偏好的文本。
奖励模型 | RL强化学习 | |
---|---|---|
作用 | (1)学习人类兴趣偏好,训练奖励模型。由于需要学习到偏好答案,训练语料中含有response_rejected不符合问题的答案。 (2)奖励模型能够在RL强化学习阶段对多个答案进行打分排序。 | 根据奖励模型,训练之前的sft微调模型,RL强化学习阶段可以复用sft的数据集 |
训练语料 | {‘question’: ‘土源性线虫感染的多发地区是哪里?’, ‘response_chosen’: ‘苏北地区;贵州省剑河县;西南贫困地区;桂东;江西省鄱阳湖区;江西省’, ‘response_rejected’: ‘在热带和亚热带地区的农村。’}, | {‘qustion’:‘这是一个自然语言推理问题:\n前提:要继续做好扶贫工作,帮助贫困地区脱贫致富\n假设:中国有扶贫工作\n选项:矛盾,蕴含,中立’ ‘answer’:‘蕴含。因为前提中提到了要继续做好扶贫工作,这表明中国存在扶贫工作。因此,前提蕴含了假设。’} |
RLHF(reinforcement learning from human feedback)
question
、response_chosen
、response_rejected
键值对,每对样本的loss定义:
L
(
ψ
)
=
log
σ
(
r
(
x
,
y
w
)
−
r
(
x
,
y
l
)
)
\mathcal{L}(\psi)=\log \sigma\left(r\left(x, y_w\right)-r\left(x, y_l\right)\right)
L(ψ)=logσ(r(x,yw)−r(x,yl))
源自《Llama 2: Open Foundation and Fine-Tuned Chat Models》Table 6:
如:https://huggingface.co/datasets/lvwerra/stack-exchange-paired
注意:KL 散度是一个非对称的度量,即 KL(π_old || π_new) 与 KL(π_new || π_old) 的值可能不相等。在 PPO 算法中,我们通常使用 KL(π_old || π_new) 来控制策略更新的幅度,因为 KL(π_old || π_new) 的值通常比 KL(π_new || π_old) 更容易控制,并且更能够反映出策略改变的方向。
在instructGPT论文实验中,效果最好的是GPT-3 + supervised finetuning + RLHF的模型:
参考维基百科:https://en.wikipedia.org/wiki/Rejection_sampling
# 数据样例
{"question": "我的女儿快两岁了好动是怎么回事,我的女儿快两岁了,还不会坐的时候,当大人抱着坐时(90度),她会把两条腿抬起来使劲,绷直腿和脚尖,累了就放下来歇一下,然后再绷,表情专注还会累得出汗,当时人们说是孩子长身体呢,没有在意。",
"response_chosen": "你好,有的孩子可能会有些小问题,但是大多数孩子是无大碍的,因为这个年龄段正是孩子好动的年龄段,而且每个孩子的性格和秉性不一样,有的孩子天生就是活泼,但是也有极少数可能会有关,至于出汗多,晚上睡眠出汗多,那可能是缺乏钙或其它营养元素。可以给宝宝进行一下和缺钙有关的检查,微量元素和血铅镉化验也很重要。",
"response_rejected": "这个现象可能是由于婴儿发育过程中的骨骼生长造成的。"}
结果:在 RLHF 用于拟合奖励模型的交叉熵损失也可用于直接微调 LLM。根据他们的基准测试,使用 DPO 的效率更高,而且在响应质量方面也通常优于 RLHF/PPO。
实验:
实验结果分析:
(1)文中在多个数据集任务上进行对比实验(下图):
(2)结果分析(下图):
论文:Contrastive Post-training Large Language Models on Data Curriculum
链接:https://arxiv.org/abs/2310.02263
核心:考虑到排序数据成本,他们直接默认GPT4 > ChatGPT > InstructGPT的效果顺序构造排序数据集,实验后得到以下结论:
(1)用DPO在 GPT4 vs InstructGPT 上训练的效果 > 直接在GPT-4数据精调的效果
(2)先在简单的pair上训练后,再在困难的pair上训练会有更好的效果
实验细节:
(1)训练参数:
(2)实验结果:
BPO实验结果:在 VicunaEval 上使用 GPT-4 进行自动评估,BPO 能够大幅提升 ChatGPT、Claude 等模型的人类偏好,并助力 llama2-13b 模型大幅超过 llama2-70b 的版本。
谷歌-RLAIF:Scaling Reinforcement Learning from Human Feedbak with AI Feadback
论文地址:https://arxiv.org/abs/2309.00267
实验过程:
(1)通过LLM(实验直接使用了PaLM)对两个target按照一定的prompt确定所偏好的target(对应的prompt如下,few-shot):
(2)实验细节:
(3)实验结果:
论文:《Reinforced Self-Training (ReST) for Language Modeling》谷歌 deepmind
论文地址:https://arxiv.org/abs/2308.08998
核心:在之前人类对序列的偏好是使用学得的奖励函数来建模的。ReST 算法将典型 RL pipeline 的数据集增长(Grow)和策略改进(Improve)解耦成两个单独的离线阶段。避免了在线RL方法计算成本高、易受到攻击的问题
ReST优势:
算法过程:
论文:《Constitutional AI: Harmlessness from AI Feedback》
链接:https://arxiv.org/abs/2212.08073
RRHF(Rank Responses to align Human Feedback)
论文:RRHF: Rank Responses to Align Language Models with Human Feedback without tears 阿里、清华 NeurIPS 2023
链接:https://arxiv.org/pdf/2304.05302.pdf
核心:在RM数据上优化LM,让chosen回答的概率大于rejected回答的概率。在计算句子的条件概率后加上一个ranking loss
(2)数据实验:尝试了不同的数据采样策略:
最后的结论也比较符合直接,是3>2>1。
论文:ReMax: A Simple, Effective, and Efficient Reinforcement Learning Method for Aligning Large Language Models 香港大学
核心:RL难点,将多步后的最终目标转为模型loss。传统RL中可能会导致学习不稳定,所以PPO中使用Actor-Critic网络(引入一个助教给模型的每一步打分)。作者提出用强化中的REINFORCE算法来代替PPO,去掉了Critic模型,但作者在实验中同样发现了梯度方差较大优化不稳定的问题,于是增加了一项bias来降低方差。
实验效果:经过ReMax的1.3b模型超过了只经过sft的llama2-7b模型。
论文:Statistical rejection sampling improves preference optimization
[1] Rafael Rafailov, Archit Sharma, Eric Mitchell, StefanoErmon, Christopher D Manning, and Chelsea Finn.2023. Direct preference optimization: Your language model is secretly a reward model.arXiv preprintarXiv:2305.18290
[2] DPO(Direct Preference Optimization):LLM的直接偏好优化. 笔记
[3] https://github.com/LAION-AI/Open-Assistant/discussions/3347
[4] DPO——RLHF 的替代之《Direct Preference Optimization: Your Language Model is Secretly a Reward Model》论文阅读
[5] RLAIF细节分享&个人想法
[6] RLHF中的PPO算法原理及其实现
[7] InstructGPT pairwise logloss: https://arxiv.org/abs/2203.02155
[8] DPO:Direct Preference Optimization: Your Language Model is Secretly a Reward Model
[9] RLAIF:Scaling Reinforcement Learning from Human Feedbak with AI Feadback
[10] BPO:灵活的 Prompt 对齐优化技术
[11] LLM成功不可或缺的基石:RLHF及其替代技术
[12] Reinforced Self-Training (ReST) for Language Modeling翻译
[13] 大规模语言模型人类反馈对齐–RLAIF
[14] 谷歌团队提出用AI反馈强化学习 (RLAIF) ,替代人类进行偏好标注,这会对AI研究产生什么影响
[15] 大规模语言模型从理论到实践.第六章.复旦大学
[16] A Survey of Large Language Models.人大综述
[17] LLM Training: RLHF and Its Alternatives. SEBASTIAN RASCHKA, PHD
[18] Llama 2: Open Foundation and Fine-Tuned Chat Models:https://huggingface.co/papers/2307.09288#64c6961115bd12e5798b9e3f
[19] spinningup中文文档:https://spinningup.qiwihui.com/zh_CN/latest/
[20] RLHF中的「RL」是必需的吗?有人用二进制交叉熵直接微调LLM,效果更好
[21] RLHF的替代算法之DPO原理解析:从RLHF、Claude的RAILF到DPO、Zephyr
[22] DPO: Direct Preference Optimization训练目标推导
[23] 强化学习极简入门:通俗理解MDP、DP MC TC和Q学习、策略梯度、PPO
[24] KL-Divergence详解
[25] ChatGPT调研报告.哈工大实验室HIT-NLP
[26] 多 Agent 深度强化学习综述.《自动化学报》
[27] 一些RLHF的平替汇总
[28] Contrastive Post-training Large Language Models on Data Curriculum: https://arxiv.org/abs/2310.02263
[29] 理解Rejection Sampling: https://gaolei786.github.io/statistics/reject.html
[30] DeepMind新研究:ReST让大模型与人类偏好对齐,比在线RLHF更有效
[31] 影响PPO算法性能的10个关键技巧(附PPO算法简洁Pytorch实现)
[32] 论文阅读-MOSS-RLHF:PPO
[33] https://github.com/GanjinZero/RRHF
[34] 论文阅读-MOSS-RLHF:PPO
[35] https://github.com/OpenLMLab/MOSS-RLHF
[36] 添加链接描述影响PPO算法性能的10个关键技巧(附PPO算法简洁Pytorch实现)
[37] DPO——RLHF 的替代之《Direct Preference Optimization: Your Language Model is Secretly a Reward Model》论文阅读
[38] Llama 2:开源RHLF微调对话模型
[39] Secrets of RLHF in Large Language Models Part I: PPO
[40] 大模型训练的一些坑点和判断.包包
[41] Fine-tuning OpenAI GPT-3 using a custom reward model
[42] [NLP] LLM—<训练中文LLama2(五)>对SFT后的LLama2进行DPO训练
[43] 如何微调LLMs:DPO
基础:
[1] 强化学习极简入门:通俗理解MDP、DP MC TC和Q学习、策略梯度、PPO
[2] “StackLLaMA”: 用 RLHF 训练 LLaMA 的手把手教程.huggingface
[3] ChatGPT的RLHF:AI时代的“调速器”,让AI真正可用的关键
[4] 【他山之石】如何正确复现 Instruct GPT / RLHF?
[5] https://en.wikipedia.org/wiki/Reinforcement_learning_from_human_feedback
[7] Training language models to follow instructions with human feedback(2022)
[8] InstructGPT论文解读.李响
[9] ChatGPT训练三阶段与RLHF的威力.oneflow
在 InstructGPT 论文之前的这四篇论文中找到PPO的相关数学细节:
(1) 《Asynchronous Methods for Deep Reinforcement Learning》引入了策略梯度方法来替代基于深度学习的强化学习中的 Q 学习。
(2) 《Proximal Policy Optimization Algorithms》提出了一种基于修改版近端策略的强化学习流程,其数据效率和可扩展性均优于上面的基础版策略优化算法。
(3) 《Fine-Tuning Language Models from Human Preferences》阐释了 PPO 的概念以及对预训练语言模型的奖励学习,包括 KL 正则化,以防止策略偏离自然语言太远。
(4) 《Learning to Summarize from Human Feedback》引入了现在常用的 RLHF 三步流程,后来的 InstructGPT 论文也使用了该流程。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。