-
本文收录于《深入浅出讲解自然语言处理》专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅!
个人主页:有梦想的程序星空
个人介绍:小编是人工智能领域硕士,全栈工程师,深耕Flask后端开发、数据挖掘、NLP、Android开发、自动化等领域,有较丰富的软件系统、人工智能算法服务的研究和开发经验。
- 关注微信公众号【有梦想的程序星空】,了解软件系统和人工智能算法领域的前沿知识,让我们一起学习、一起进步吧!
随着OpenAI 推出的ChatGPT 等大模型的发布,大语言模型(Large Language Models,LLMs)的浪潮席卷而来,并逐渐走进千家万户,掀起了新的 AI 热潮,ChatGPT 是 InstructGPT 的衍生,它的新颖之处在于将人类反馈纳入到训练过程之中,以便让模型输出更好地与用户的意图保持一致。ChatGPT采用了Transformer架构,这是一种深度学习模型,最初由Google提出。Transformer的核心思想是利用自注意力机制来处理输入序列,能够更好地捕捉输入序列的长距离依赖关系。ChatGPT与GPT-3的主要区别在于,新加入了被称为RLHF的新训练范式。
RLHF,即Reinforcement Learning from Human Feedback(从人类反馈中进行强化学习),是一种结合了机器学习中的强化学习算法与人类主观判断的训练技术。RLHF是一种将强化学习与人类反馈相结合的技术,其中人类的偏好被用作奖励信号,用于引导模型生成高质量的语言输出,使人工智能系统能够以更加人性化的方式学习和做出决策。
RLHF论文:Deep Reinforcement Learning from Human Preferences
RLHF 是一种基于强化学习的算法,通过结合人类专家的知识和经验来优化智能体的学习效果,核心思想是结合智能体自主学习和人类专家反馈两种不同的策略,不断优化智能体的行为。
RLHF整体训练框架分为三个阶段:预训练语言模型(LM)、收集数据并训练奖励模型、通过强化学习微调LM。
第1阶段:预训练语言模型(LM)
上图显示了预训练语言模型的内部工作原理以及用RLHF进一步微调的可选路径。
首先,我们使用经典的预训练目标训练一个语言模型,这里可以用额外的文本或者条件对这个 LM 进行微调,这些语言模型往往见过大量的[Prompt,Text]对,输入一个Prompt(提示),模型往往能输出一段还不错的文本。
第2阶段:收集数据并训练奖励模型
上图展示了奖励模型的工作过程。
RLHF的最重要任务是生成一个奖励模型(RM),它可以根据人的偏好为输入文本分配一个标量奖励。奖励模型可以是端到端的语言模型或模块化系统,并使用提示对数据集进行训练。
具体来说,首先使用语言模型针对任务指令生成一定数量的候选输出。随后,邀请标注员对于输出文本进行偏好标注,这个标注过程可以采用多种形式,其中最常用的是对候选文本进行排序标注,这样可以有效减少多个标注员之间的不一致情况。进一步,使用人工标注的偏好数据进行奖励模型的训练,使其能够建模人类偏好。在InstructGPT中,标注员将模型生成的输出按照最佳到最差的顺序进行排序,并据此训练奖励模型来预测这个排序。
第3阶段:通过强化学习微调LM
接下来是最后一步:利用 RM 输出的奖励,用强化学习方式微调优化 LM。
上图展示了奖励模型微调的工作原理。
在这一步骤中,语言模型对齐被转化为一个强化学习问题。具体来说,待对齐语言模型担任策略实施者的角色(称为策略模型),策略意思是机器已经学会用来实现其目标的做法,在这种情况下,也即是奖励的最大化。根据形成的奖励模型,确定给定提示和响应对的标量奖励值。然后再将奖励反馈给模型,从而改进策略。2017年,舒尔曼等人引入了近端策略优化(Proximal Policy Optimization,PPO),这种方法可以用来在模型生成响应时更新策略。
RLHF 的应用
(一)对话系统
在智能对话系统中,RLHF 发挥着重要作用。通过人类反馈的训练,对话模型能够生成更符合人类对话习惯和期望的回复。例如,在客服对话场景中,模型可以根据用户的问题生成准确、详细且礼貌的回答,提高客户满意度。在社交聊天机器人中,RLHF 可以使机器人的回复更具趣味性、情感共鸣和个性化,增强用户与机器人之间的互动体验。例如,当用户分享自己的生活经历时,经过 RLHF 训练的机器人能够给予更合适的回应,如表达同情、提供建议或分享类似经历,使对话更加自然流畅。
(二)文本生成
在各种文本生成任务中,RLHF 有助于提升生成文本的质量。对于文章创作,它可以使大模型生成的文章结构更清晰、内容更丰富、逻辑更连贯,并且更符合特定的写作风格或主题要求。例如,在新闻报道生成中,RLHF 训练后的模型能够根据新闻事件的要点,快速生成客观、准确且具有可读性的新闻稿件。在创意写作方面,如小说、诗歌创作,RLHF 可以激发模型的创造力,同时确保生成的作品在情感表达、情节发展等方面更能打动读者。
(三)代码生成与辅助编程
在代码生成领域,RLHF 也有应用潜力。大模型可以根据用户的需求描述生成代码片段或完整的程序代码。通过人类反馈,模型能够学习到如何生成更高效、更可读、更符合编程规范的代码。例如,开发人员可以对模型生成的代码进行评价,指出代码中的优点和不足,模型根据这些反馈不断优化代码生成策略,提高代码生成的准确性和实用性。这对于提高编程效率、帮助初学者学习编程以及加速软件开发过程都具有重要意义。