赞
踩
本文的成就是一个点顺着一个点而来的,成文过程颇有意思
综上,且考虑到各个模型提出的先后顺序,便拟定了本文的标题
此外,今年之前的博客 有同事的贡献,今年大部分的博客 则更是如此了,在当下这个时代,技术更迭之快,想一个人深究各种细节 基本不可能,这个时候,团队就很重要了,特别是为项目落地而做的技术研究,任何问题 欢迎随时留言评论
OpenAI 前研究副总裁 Dario Amodei,与其妹妹且也曾是副总裁的Daniela、GPT-3 论文一作 Tom Brown 等人于2021年2月份从OpenAI离职创办了Anthropic,该公司创始成员大多为 OpenAI 的核心员工,他们曾经深度参与过 OpenAI 的 GPT-3、引入人类偏好的强化学习(RLHF)等多项研究(别忘了,如此文开头所说,OpenAI早在2020年的9月份便已经开始研究GPT3与RLHF的结合了)
而早在2022年4月份,ahthropic就发了其LLM论文:Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback,这篇论文和OpenAI的instructGPT论文极其相似 (如果你之前还没看到instructGPT论文,或者尚不了解ChatGPT的三阶段训练方式,强烈建议先看此文:ChatGPT技术原理解析:从RL之PPO算法、RLHF到GPT4、instructGPT,看了该文再看本文,一切事半功倍,否则可能处处碰壁 ),也就比后者晚发布40多天,接下来,我们便来解读下这篇论文
在ahthropic这篇论文中,其训练模式为
考虑到ahthropic的这个训练没有做SFT,那下面就只讲下偏好模型的训练、及策略的RLHF迭代
为更好的理解,咱们对比下ahthropic LLM与instructGPT的工作
那ahthropic的这个偏好模型到底是怎么训练而来的呢?其训练方式有三个步骤
和ChatGPT一样,也使用的近端策略优化(PPO),并给奖励函数也加了KL惩罚项,总奖励为
其中是一个超参数(相当于ChatGPT中对奖励函数做修正时的)。在实践中,我们使用一个非常小的值,这在大多数RL训练中可能有非常小的影响(因为DKL< 100通常)
那偏好模型怎么判断A好还是B好呢,如下面这个公式,表示A比B好的概率:that the difference in rPM values between two samples A and B will be related to the predicted probability P(A > B) that A will be preferred to B via
且他们发现,与ChatGPT一旦完成奖励模型的训练之后 便在一段时间内保持不变不同,ahthropic会定期更新他们的偏好模型(依然是对同一个问题 让模型输出多个不同的答案,然后人类排序训练PM),因为在保持更新的偏好模型的指引下,最终的RLHF的效果更好,为证明这个观点,他们做了两个实验
// 待更..
Anthropic于2023年3月正式推出了:Claude(其对应论文为:Constitutional AI: Harmlessness from AI Feedback),且动作很快,比如2023年7月推出了Claude 2,且2023年11月22日,推出了Claude 2.1
而Claude自从问世以来,一直被视为ChatGPT或GPT4的最大竞争对手,而其在各类榜单中也确实的常居老二,其训练方式和ChatGPT类似,但与ChatGPT最大的不同在于:
具体而言
为何要用RAIHF,而非RLHF呢,原因有三
如下图所示,训练过程有两个阶段
// 待更
今年5月份,斯坦福的一些研究者提出了RLHF的替代算法:直接偏好优化(Direct Preference Optimization,简称DPO),其对应论文为《Direct Preference Optimization: Your Language Model is Secretly a Reward Model》
那其与ChatGPT所用的RLHF有何本质区别呢,简言之
更具体而言,DPO的本质在于增加了被首选的response相对不被首选的response的对数概率(increases the relative log probability of preferred to dispreferred responses),但它包含了一个动态的、每个示例的重要性权重,以防止设计的概率比让模型的能力退化(it incorporates a dynamic, per-example importance weight that prevents the model degeneration that we find occurs with a naive probability ratio objective)
与RLHF一样,DPO依赖于理论偏好模型,衡量给定的奖励函数与经验偏好数据的一致性(如果接下来这一段没太看明白,没事 不急,下节1.2节会重点解释,^_^)
我们从头到尾梳理一下,且以下第几点则代表公式几
进一步,上面公式7所表达的目标函数表示的到底啥意思?意思就是
- 当一个答案是好的答案时,我们要尽可能增大其被策略模型生成的概率(且这个的概率尽可能大于被基线模型生成的概率,举个例子,既然是好的,就要比初期更大胆的趋近之)
- 当一个答案是差的答案时,我们要尽可能降低其被策略模型生成的概率(且这个的概率尽可能小于被基线模型生成的概率,换言之,既然是差的,则要比初期尽可能远离之)
还不够直白?OK,我们换个表达方式
由于我们追求的是让目标函数最大(虽说我们一般要求loss最小化,但毕竟整个目标函数的最前面加了个负号),故意味着针对大括号里的这个式子而言我们希望左边尽可能大,而右边尽可能小,那左边、右边分别意味着什么呢?
- 左半部分代表生成good response相较于初期生成good response的累积概率差值
- 右半部分代表生成bad response 相较于初期生成 bad response 的累计概率差值
有三种可能的情况
- 左边变大,右边变小,理想情况,good response相对概率提升,bad response相对概率下降
- 左边变小,右边更小,good response相对概率下降,但是bad response相对概率下降的更多,生成的时候还是倾向于good response
- 左边变的更大,右边只大了一点点,和2) 同理
为了进一步理解DPO,求解下上述公式7的梯度
// 待更
机器学习社区hugging face发布了一款名为Zephyr 7B的基座模型,其基于Mistral 7B微调而成,与ChatGPT用的RLHF不太一样的是,它用的是AIF + DPO,最终在一系列基准测试中超越了LLAMA2-CHAT-70B(当然了,基准测试超越不一定就代表全方位的超越,要不然国内不少模型都超越GPT4了)
如下图所示,便是Zephyr的三步骤训练方式(注意,和ChatGPT的三阶段训练方式有着本质不同,Zephyr的三步骤训练方式中的步骤二只是AI标注数据,不涉及奖励模型的训练)
假定是一系列prompts数据,被构造为代表一组不同的主题域
详见《首个开源MoE大模型Mixtral 8x7B的全面解析:从原理分析到代码解读》
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。