文章主题:
前几天,抱抱脸公司(HuggingFace)发表了一篇博客,详细讲解了ChatGPT背后的技术原理——RLHF。
🌟📚ChatGPT技术大揭秘!🚀🔍让复杂变得简单,掌握关键脉络,洞悉AI魔法!💡作者用心梳理,内容深入浅出,带你领略ChatGPT的智慧世界。📚💻不论是初学者还是专业人士,都能从中受益匪浅。👩🎓👨💻ChatGPT的核心原理,我已提炼成简洁版,无需担心信息过载。📖📊关键知识点一目了然,助你快速入门,开启技术探索之旅!🚀如果你对这个领域充满好奇,不妨试试看,让知识带你飞!📚✈️记得,学习无止境,ChatGPT只是工具,理解才是王道!🏆SEO优化提示:使用ChatGPT、AI技术原理、核心脉络、技术入门等关键词,同时融入相关专业术语和行业趋势。
此外,文末整理了几篇关于 RLHF 最热门的12篇必读论文,笔者打包好挂在公众号后台了,感兴趣的小伙伴可以在公众号“夕小瑶的卖萌屋”后台回复【1212】领取。
🌟🚀近几年,prompt驱动的AI创作模型迎来了爆发式进展,催生了一系列令人惊叹的应用实例。从自动编织故事的AI小说家,到智能编程的代码生成器,再到能绘制生动图像的AI画家,乃至能制作短视频的创新工具,它们以惊人的创造力重塑了艺术与技术边界。🎨💻
🌟训练难题揭示:生成模型的挑战并非易事!💡以语言模型为例,它们惯用的“自回归”工艺就像在字与字之间编织故事,通过循环来逐词构建内容。然而,这个过程中的损失计算却略显粗糙,大多依赖于简单地预测下一个词,然后用交叉熵来量度每个词的误差。这种方法忽略了潜在的全局优化需求,导致token-level的损失无法精准指导模型改进的方向。🚀
🌟当衡量模型生成文本的全面表现而非个别单词时,🔥BLEU或ROUGE这类评估工具成为评估它与人类偏好接近度的标准,但这仅停留在评判层面。🔍模型在构建过程中,并不直接接触或理解这些隐匿的人类情感真谛。
🌟训练中,若以用户偏好为基准来评判模型全面输出的成效,相较于传统仅关注`预测下一个词`的损失函数,无疑更具优势🔥。这启发了我们探索RLHF(ReLUinforcement Learning from Human Feedback)这一前沿议题——借助强化学习的力量,直接优化语言模型,让反馈成为提升的关键线索🔍。
RLHF也是最近大火的ChatGPT背后的训练方法。
🌟ChatGPT震撼登场,颠覆传统对话!🚀它以卓越性能引领潮流,让人眼前一亮。但现在,让我们深入探讨其背后的RLHF技术,揭秘这股力量的源泉。🔍RLHF(Reinforcement Learning from Human Feedback)是现代人工智能中的关键技术,它通过学习和优化人类反馈来提升模型的表现。就像一个语言大师,ChatGPT不断吸收并消化每一条互动,从而不断提升对话质量。📝这项技术的核心在于人机协作,AI模仿人类智慧,而用户则是它的导师。每一次的互动都是对模型的一次宝贵训练,让机器更好地理解自然语言,提供更贴近人性的服务。🤝RLHF的优势在于它能不断迭代和改进,适应各种场景需求,这正是ChatGPT能够迅速崛起并广受好评的原因。🚀未来,我们期待看到更多创新应用,让AI与人类的交流更加无缝和智能。🔥
RLHF原理
RLHF的训练过程可以分解为三个核心步骤:
预训练语言模型(LM)收集数据并训练奖励模型通过强化学习微调 LM
首先,我们将了解第一步——预训练语言模型。
阶段1:预训练语言模型
首先,我们需要选一个经典的预训练语言模型作为初始模型。例如,OpenAI 在其第一个RLHF 模型 InstructGPT 中用的小规模参数版本的 GPT-3;DeepMind 则使用了2800 亿参数的 Gopher 模型。这些语言模型往往见过大量的 [Prompt,Text] 对,输入一个prompt(提示),模型往往能输出还不错的一段文本。
预训练模型可以在人工精心撰写的语料上进行微调,但这一步不是必要的。例如,OpenAI在人工撰写的优质语料上对预训练模型进行了微调;Anthropic将他们的语言模型在“有用、真实、无害”价值观导向的语料上做了一步模型蒸馏。不过,这种人工撰写的优质语料一般成本是非常高的。
总结一下,这个步骤,可以用如下图所示:
此外,到底哪个预训练模型版本是RLHF热启的最优选择?这其实没有一个定论,仍是一个开放问题。
再之后,我们需要基于这个初始语言模型产出的数据来训练一个 奖励模型(reward model,简称RM)。接下来,就会引入人类的反馈信号了。
阶段2:奖励模型的训练
一个奖励模型(RM)的目标是刻画模型的输出是否在人类看来表现不错。即,输入 [提示(prompt),模型生成的文本] ,输出一个刻画文本质量的标量数字。
用于训练奖励模型的Prompt数据一般来自于一个预先富集的数据集,比如Anthropic的Prompt数据主要来自Amazon Mechanical Turk上面的一个聊天工具;OpenAI的Prompt数据则主要来自那些调用GPT API的用户。这些prompts会被丢进初始的语言模型(第一阶段的模型)里来生成文本。
整体流程如图所示:
奖励模型可以看做一个判别式的语言模型,因此我们可以用一个预训练语言模型热启,而后在 [x=[prompt,模型回答], y=人类满意度] 构成的标注语料上去微调,也可以直接随机初始化,在语料上直接训练。
如上图所示,标注人员的任务则是对初始语言模型生成的文本进行排序。有人可能会奇怪,为啥不直接让标注人员对文本进行打分呢?
这是因为研究人员发现不同的标注员,打分的偏好会有很大的差异(比如同样一段精彩的文本,有人认为可以打1.0,但有人认为只能打0.8),而这种差异就会导致出现大量的噪声样本。若改成标注排序,则发现不同的标注员的打分一致性就大大提升了。
那具体怎么操作呢?一种比较有效的做法是“pair-wise”,即给定同一个prompt,让两个语言模型同时生成文本,然后比较这两段文本哪个好。最终,这些不同的排序结果会通过某种归一化的方式变成标量信号(即point-wise)丢给模型训练。
一个比较有趣的观测是,奖励模型的大小最好是跟生成模型的大小相近,这样效果会比较好。一种比较直观的解释就是,要理解生成模型的输出内容,这份理解能力所需要的模型参数规模就得恰好是跟生成模型相近才能做到(当然,如果奖励模型规模更大那应该更没问题,但理论上没必要)。
至此,我们有了一个初始的语言模型来生成文本,以及一个奖励模型(RM)来判断模型生成的文本是否优质(迎合人类偏好)。接下来会讲解如何使用强化学习(RL)来基于奖励模型来优化初始的语言模型。
阶段3:基于 RL 进行语言模型优化
我们将初始语言模型的微调任务建模为强化学习(RL)问题,因此需要定义策略(policy)、动作空间(action space)和奖励函数(reward function)等基本要素。
显然,策略就是基于该语言模型,接收prompt作为输入,然后输出一系列文本(或文本的概率分布);而动作空间就是词表所有token在所有输出位置的排列组合(单个位置通常有50k左右的token候选);观察空间则是可能的输入token序列(即prompt),显然也相当大,为词表所有token在所有输入位置的排列组合;而奖励函数(reward)则是基于上一章节我们训好的RM模型计算得到初始reward,再叠加上一个约束项来。
然后我们来看一下最后提到的这个约束项是什么。
首先,基于前面提到的预先富集的数据,从里面采样prompt输入,同时丢给初始的语言模型和我们当前训练中的语言模型(policy),得到俩模型的输出文本y1,y2。然后用奖励模型RM对y1、y2打分,判断谁更优秀。显然,打分的差值便可以作为训练策略模型参数的信号,这个信号一般通过KL散度来计算“奖励/惩罚”的大小。显然,y2文本的打分比y1高的越多,奖励就越大,反之惩罚则越大。这个信号就反映了当前模型有没有在围着初始模型“绕圈”,避免模型通过一些“取巧”的方式骗过RM模型获取高额reward。
最后,便是根据 Proximal Policy Optimization (PPO) 算法来更新模型参数了。
该阶段流程如下图所示:
通过以上过程不难想到,完全可以迭代式的更新奖励模型(RM)和策略模型(policy),让奖励模型对模型输出质量的刻画愈加精确,策略模型的输出则愈能与初始模型拉开差距,使得输出文本变得越来越符合人的认知。Anthropic就曾经在论文里讨论了这种做法,并命名为 “Iterated Online RLHF” ,感兴趣的小伙伴可以看下面这篇论文,这里就不展开了:
https://arxiv.org/abs/2204.05862
RLHF 的下一步是什么?
虽然ChatGPT为代表的RLHF技术非常有影响力,引发了巨大的关注,但仍然存在若干局限性:
RLHF 范式训练出来的这些模型虽然效果更好,但仍然可能输出有害或事实上不准确的文本。这种不完美则是 RLHF 的长期挑战和优化目标。在基于 RLHF 范式训练模型时,人工标注的成本是非常高昂的,而 RLHF 性能最终仅能达到标注人员的知识水平。此外,这里的人工标注主要是为RM模型标注输出文本的排序结果,而若想要用人工去撰写答案的方式来训练模型,那成本更是不可想象的。RLHF的流程还有很多值得改进的地方,其中,改进 RL 优化器显得尤为重要。PPO 是一种基于信赖域优化的相对较旧的RL算法,但没有其他更好的算法来优化 RLHF 了。
延伸阅读
以下是迄今为止关于 RLHF 的几篇经典论文和近期热门论文。笔者打包好挂在公众号后台了,感兴趣的小伙伴可以在公众号“夕小瑶的卖萌屋”后台回复【1212】领取。
RLHF论文列表:
Deep Reinforcement Learning from Human Preferences (Christiano et al. 2017): RLHF applied on preferences between Atari trajectories.Fine-Tuning Language Models from Human Preferences (Zieglar et al. 2019): An early paper that studies the impact of reward learning on four specific tasks.Learning to summarize with human feedback (Stiennon et al., 2020): RLHF applied to the task of summarizing text. Also, Recursively Summarizing Books with Human Feedback (OpenAI Alignment Team 2021), follow on work summarizing books.WebGPT: Browser-assisted question-answering with human feedback (OpenAI, 2021): Using RLHF to train an agent to navigate the web.InstructGPT: Training language models to follow instructions with human feedback (OpenAI Alignment Team 2022): RLHF applied to a general language model [Blog post on InstructGPT].GopherCite: Teaching language models to support answers with verified quotes (Menick et al. 2022): Train a LM with RLHF to return answers with specific citations.Sparrow: Improving alignment of dialogue agents via targeted human judgements (Glaese et al. 2022): Fine-tuning a dialogue agent with RLHFChatGPT: Optimizing Language Models for Dialogue (OpenAI 2022): Training a LM with RLHF for suitable use as an all-purpose chat bot.Scaling Laws for Reward Model Overoptimization (Gao et al. 2022): studies the scaling properties of the learned preference model in RLHF.Training a Helpful and Harmless Assistant with Reinforcement Learning from Human Feedback (Anthropic, 2022): A detailed documentation of training a LM assistant with RLHF.Red Teaming Language Models to Reduce Harms: Methods, Scaling Behaviors, and Lessons Learned (Ganguli et al. 2022): A detailed documentation of efforts to “discover, measure, and attempt to reduce [language models] potentially harmful outputs.”Dynamic Planning in Open-Ended Dialogue using Reinforcement Learning (Cohen at al. 2022): Using RL to enhance the conversational skill of an open-ended dialogue agent.
AI时代,掌握AI大模型第一手资讯!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
扫码右边公众号,驾驭AI生产力!