RLHF 通过学习人类偏好,能够在难以手工设计奖励函数的复杂决策任务中学习到正确的奖励引导,得到了很高的关注,在不同环境中选择合适的人类反馈类型和不同的学习方法至关重要。
然而,当前研究社区缺乏能够支持这一需求的标准化标注平台和统一基准,量化和比较 RLHF 的最新进展是有挑战性的。
本文中,天津大学深度强化学习实验室的研究团队推出了面向现实决策场景的 Uni-RLHF 平台,这是一个专为 RLHF 量身定制的综合系统实施方案。它旨在根据真实的人类反馈提供完整的工作流程,一站式解决实际问题。
Uni-RLHF 包含三个部分:1)通用多反馈标注平台,2)大规模众包反馈数据集,3)模块化离线 RLHF 基线代码库。
具体流程来看,Uni-RLHF 首先针对各种反馈类型开发了用户友好的标注界面,与各种主流 RL 环境兼容。然后建立了一个系统的众包标注流水线,产生了包含 32 个任务、超过 1500 万个时间步的大规模标注数据集。最后,基于大规模反馈数据集,实现了最先进的 RLHF 算法的基线结果和模块化组件以供其他研究者使用。
Uni-RLHF 希望通过评估各种设计选择,深入了解它们的优势和潜在的改进领域,构建有价值的开源平台、数据集和基线,以促进基于真实人类反馈开发更强大、更可靠的 RLHF 解决方案。目前平台、数据集和基线代码库均已开源。
Uni-RLHF 标注平台提供了众包标准标注工作流程:
Uni-RLHF 包括平台、数据集和离线 RLHF 基线代码库三个部分
Uni-RLHF 能够支持大量主流的强化学习环境
适用于强化学习的标准反馈编码格式
为了更好地捕捉和利用来自标注者的各种不同类型的反馈标签,Uni-RLHF 对一系列相关研究进行了总结,提出一种标准化的反馈编码格式和对应的训练方法。使用者可以根据任务和标注成本需求,选择不同类型的标注方法。一般来说,信息密度越高,标注成本相应也会更大,但是反馈效率也会随之提升。
Uni-RLHF 支持以下五种反馈类型:
大规模众包标注流水线
在 RLHF 训练过程中,数据标注是一项复杂的工程问题。研究人员围绕 Uni-RLHF 构建众包数据注释流水线,通过并行的众包数据注释和过滤,促进大规模注释数据集的创建。
为了验证 Uni-RLHF 平台各方面的易用性和对 RLHF 前沿算法性能进行验证,研究人员使用广受认可的离线 RL 数据集实现了大规模众包标注任务,以收集反馈标签。
在完成数据收集后,研究人员进行了两轮数据过滤,以尽量减少有噪声的众包数据量,最终建立了一个系统化的众包注释流水线,形成了大规模标注数据集,包括 32 个主流任务中的 1,500 多万个时间步。
标注流水线中每个组件的验证
为了证明数据过滤的有效性。研究人员首先在 SMARTS 中抽取了 300 个轨迹片段进行专家注释,称为「Oracle」。接下来,研究人员请了五位众包在三种不同的设置下分别标注 100 条轨迹。「Naive」意味着只能看到任务描述,「Example」允许查看专家提供的五个注释样本和详细分析,而「Filter」则添加了过滤器。
以上实验结果表明,每个组件都显著提高了标注的可靠性,最终实现了与专家注释 98% 的一致率。
离线 RLHF 基准实验
研究人员利用收集到的众包反馈数据集对下游决策任务进行了大量实验,以评估各种不同的设计选择及其对应的优势。
首先,Uni-RLHF 使用了三种不同的奖励模型设计结构,分别是 MLP、TFM (Transformer) 和 CNN,其中 MLP 结构便于处理向量输入,而 CNN 结构便于处理图像输入。TFM 奖励结构则能够更好地拟合 non-Markovian 奖励。同时Uni-RLHF 使用了三种广泛使用的离线强化学习算法作为底座,包括 IQL、CQL 和 TD3BC。
Oracle 代表使用手工设计的任务奖励训练的模型;CS (CrowdSource) 代表一种是通过 Uni-RLHF 系统众包获得的众包标签;而 ST (Script Teacher) 代表根据实际任务奖励生成的合成标签,可视为专家标签供比较。
实验结论表明:
在图像输入的环境中,众包标签 (CS) 则全面领先于合成标签 (ST),研究人员认为这种优异表现来源于人类能够更敏感的捕捉到游戏过程中的细节过程,这些细节则很难用简单的积分奖励来概括。
RLHF 方法是否能在真实的复杂任务上成功替代手工设计的奖励函数?研究人员使用了 NeurIPS 2022 中 SMARTS 自动驾驶竞赛的环境,该环境提供了相对真实和多样化的自动驾驶场景,并使用成功率,速度和舒适度等多个指标评估模型的性能。其中,冠军方案针对该任务设计奖励函数会经过多次试错,并在多次训练过程中不断调整完善各项奖励时间及系数,最终形成了以下极为复杂的奖励函数构成,设计成本极高:
自动驾驶场景奖励函数设计
而通过众包标注的简单反馈标签进行奖励函数训练,Uni-RLHF 就能够达到超越专家奖励的任务成功率,并且在舒适度指标上也有所领先。
针对 SMARTS 自动驾驶场景的多指标评测
Uni-RLHF 方法和 Oracle 奖励函数对比。(左:Oracle,右:Uni-RLHF)
Uni-RLHF 还针对其他多种类型的反馈形式进行了更多验证,这里以多属性反馈 (Attribute Feedback) 举一个简单的例子:用户希望训练一个 Walker 机器人,使其速度和躯干高度在运动的过程中进行自由的变化,而不是简单的最大化速度。此时简单的比较反馈就很难准确的表述用户的偏好,Uni-RLHF 则提供了针对多属性反馈的标注模式。在本实验中,Walker 会运行 1000 步,并每 200 步调整姿态,速度的属性值设定为 [慢,快,中,慢,快],高度的属性值设定为 [高,中,高,低,高]。从曲线和相应的视频中可以清楚地观察到经过 Uni-RLHF 标注后训练的模型能够灵活的进行姿态转换。
Walker 遵循用户偏好进行灵活姿态转换
总结和未来展望
Uni-RLHF 展示了在决策任务中基于 RLHF 方法取代手工设计奖励函数的重要前景,研究人员希望通过建设平台、大规模数据集和代码库以促进更加可靠,基于真实人类反馈标注的 RLHF 解决方案。该领域仍存在一些挑战和可能的未来方向:
文章来自微信公众号“机器之心”,作者:机器之心
【开源免费】n8n是一个可以自定义工作流的AI项目,它提供了200个工作节点来帮助用户实现工作流的编排。
项目地址:https://github.com/n8n-io/n8n
在线使用:https://n8n.io/(付费)
【开源免费】DB-GPT是一个AI原生数据应用开发框架,它提供开发多模型管理(SMMF)、Text2SQL效果优化、RAG框架以及优化、Multi-Agents框架协作、AWEL(智能体工作流编排)等多种技术能力,让围绕数据库构建大模型应用更简单、更方便。
项目地址:https://github.com/eosphoros-ai/DB-GPT?tab=readme-ov-file
【开源免费】VectorVein是一个不需要任何编程基础,任何人都能用的AI工作流编辑工具。你可以将复杂的工作分解成多个步骤,并通过VectorVein固定并让AI依次完成。VectorVein是字节coze的平替产品。
项目地址:https://github.com/AndersonBY/vector-vein?tab=readme-ov-file
在线使用:https://vectorvein.ai/(付费)
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI