大规模语言模型人类反馈对齐--RLAIF

2023-10-18 04:44

本文主要是介绍大规模语言模型人类反馈对齐--RLAIF,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RLHF 中是需要大量的人力参与的, 如果 RLHF 中的「人类」被取代, 可行吗? 谷歌团队 2023 年 8 月的 最新研究提出了, 用大模型替代人类, 进行偏好标注, 也就是AI 反馈强化学习(RLAIF:Scaling Reinforcement Learning from Human Feedbak with AI Feadback),实验结果发现 RLAIF 可以在不依赖人类标注员的情况下, 产生 与 RLHF 相当的改进效果, 胜率 50%;而且, 证明了 RLAIF 和 RLHF,比起监督微调(SFT) 胜率都超过了 70%。

如今,大型语言模型训练中一个关键部分便是 RLHF。人类通过对 AI 输出的质量进行评级,让回复更加有 用。但是, 这需要付出很多的努力, 包括让许多标注人员暴露在 AI 输出的有害内容中。既然 RLAIF 能够与 RLHF 相媲美,未来模型不需要人类反馈,也可以通过自循环来改进。

我们通过前面章节知道 RLHF 分为三步:预训练一个监督微调 LLM;收集数据训练一个奖励模型;用 RL 微 调模型。有了 RLHF,大模型可以针对复杂的序列级目标进行优化, 而传统的 SFT 很难区分这些目标。然而, 一 个非常现实的问题是, RLHF 需要大规模高质量的人类标注数据,另外这些数据能否可以取得一个优胜的结果。

在谷歌这项研究之前, Anthropic 研究人员是第一个探索使用 AI 偏好来训练 RL 微调的奖励模型。他们首次 在 Constitutional AI(Constitutional AI: Harmlessness from AI Feadback) 中提出了 RLAIF,发现 LLM 与人类判断表 现出高度一致, 甚至在某些任务上, 表现优于人类。但是, 这篇研究没有将人类与人工智能反馈做对比, 因此, RLAIF 是否可以替代 RLHF 尚未得到终极答案。

RLAIF 和 RLHF 对比示意图

谷歌提出的 RLAIF 主要就是探讨是否能替代 RLHF,他们在模型摘要任务中, 直接比较了 RLAIF 和 RLHF, 如上图所示,具体的模型训练方面:

  • 首先, 研究人员使用 PaLM 2 Extra-Small (XS) 作为初始模型权重, 在 OpenAI 过滤后的 TL;DR 数据集上训 练 SFT 模型。

  • 然后, 给定 1 个文本和 2 个候选答案, 使用现成的 LLM 给出一个偏好标注, 根据 LLM 偏好和对比损失训 练奖励模型(RM)。研究人员从 SFT 模型初始化 RM,并在 OpenAI 的 TL;DR 人类偏好数据集上训练它们。 这个 AI 标注的偏好是研究人员使用PaLM 2L 生成的, 然后在完整的偏好上训练 RM 数据集, 训练reward 模型 rϕ 的损失如下所示, yw 和 yl 分别代表人类偏好的和非偏好的回复。

  • 最后, 通过强化学习微调策略模型, 利用奖励模型给出奖励。研究人员使用 Advantage Actor Critic (A2C) 来训练策略。策略 πθRL 和价值模型都是从 SFT 模型初始化的。研究人员使用过滤后的 Reddit TL;DR 数据 集作为初始状态来推出他们的策略,优化目标函数如下所示。

在 LLM 的 prompt 的改进方面, 研究者还尝试了使用思维链(CoT) 推理和 self-consistency 等方法促进 LLM 的评估。下图中展示了 AI 标注器中引出思维链 (COT) 推理, 以提高 LLM 与人类偏好的一致性。研究人员替 换标准的结尾提示(例如将”Preferred Summary=” 替换为”Consider the coherence, accuracy, coverage, and over-all quality of each summary and explain which one is better. Rationale :”), 然后解码一个 LLM 的回复。最后, 研究人 员将原始提示、响应和原始结尾字符串“Preferred Summary=”连接在一起,之后再获得偏好分布。

思维链推理方法提高 LLM 与人类偏好的一致性示意图

研究人员证明了 RLAIF 可以在不依赖人类标注者的情况下产生与 RLHF 相当的改进。虽然这项工作凸显了 RLAIF 的潜力,但依然有一些局限性。

  • 首先,这项研究仅探讨了摘要总结任务,关于其他任务的泛化性还需要进一步研究。

  • 其次,研究人员没有评估 LLM 推理在经济成本上是否比人工标注更有优势。

  • 此外, 还有一些有趣的问题值得研究, 例如 RLHF 与 RLAIF 相结合是否可以优于单一的一种方法, 使用 LLM 直接分配奖励的效果如何, 改进 AI 标注器对齐是否会转化为改进的最终策略, 以及是否使用 LLM 与策略模型大小相同的标注器可以进一步改进策略(即模型是否可以“自我改进”)。

ps: 欢迎扫码关注公众号^_^.

这篇关于大规模语言模型人类反馈对齐--RLAIF的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/230264

相关文章

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允