老婆饼里没有老婆,夫妻肺片里没有夫妻,RLHF 里也没有真正的 RL。在最近的一篇博客中,德克萨斯大学奥斯汀分校助理教授 Atlas Wang 分享了这样一个观点。
他指出,RLHF(基于人类反馈的强化学习)和其他类似的方法并没有为大型语言模型(LLM)带来真正的强化学习(RL),因为它们缺乏 RL 的核心特征:持续的环境交互和长期目标的追求。
RLHF 主要通过单步或几步优化来调整模型输出,使其符合人类偏好,而不是在一个动态环境中进行多步骤的策略调整。此外,RLHF 通常是离线或半离线进行的,缺乏实时的环境反馈和策略更新。因此,尽管 RLHF 可以改善模型的对齐性和输出质量,但它并不能赋予 LLM 真正的目标或意图,让它们「想要」赢得游戏。LLM 仍然主要是一个基于上下文预测下一个 token 的统计系统。
整篇文章讨论了几个有趣的问题:
1. RLHF (及相关方法)与经典 RL 有何不同?
2. 为什么这些方法实际上无法给出 LLM 真实目标或意图?
3. 为什么没有人大规模地为 LLM 做「真正的 RL」?
4. 现有的最接近给 LLM 一个「目标」的方法是什么?
5. 没有「目标驱动」的 LLM 的后果是什么?
通过了解这些细微差别,我们可以清楚地知道 LLM 能做什么、不能做什么,以及为什么。
谷歌 DeepMind 首席科学家 Denny Zhou 转发该文章时评价说,「对于任何有 RL 知识背景的人来说,(文章中的观点)是显而易见的。但对于新人来说,这是一份很好的介绍。」
什么是经典强化学习?在经典强化学习设置中,你有:
主要特征:持续或偶发交互。智能体探索多种状态、做出决策、观察奖励,并在一个连续的循环中调整其策略。
RLHF 是一种使用根据人类偏好数据训练的奖励模型来完善模型输出的工作流。常见流程包括:
与传统 RL 不同的是,RLHF 中的「环境」基本上是一个单步文本生成过程和一个静态奖励模型 —— 这其中没有扩展循环或持续变化的状态。
请记住,不管是 RLHF、SFT 还是其他什么,LLM 都不是为了真正的目标或意图而训练的!LLM 的核心是根据给定上下文预测下一个 token。它们的「动机」纯粹是最大限度地提高下一个 token 的正确率(由训练数据和任何后续微调信号确定)。这个过程并不存在主观上的愿望或意图。我们常说 AlphaZero「想要」在国际象棋中获胜,但这只是一种方便的简单说法。从内部来说,AlphaZero 是在最大化数学奖励函数 —— 没有任何感觉上的欲望。同样,经过 RLHF 调整的 LLM 也在最大化对齐奖励信号,而没有内心的渴望状态。
亚利桑那州立大学计算机科学教授 Subbarao Kambhampati 指出,「RLHF」有点名不副实,因为它将从人类判断中学习偏好或奖励模型(在概念上更接近于逆强化学习,即 IRL)与一步或几步策略优化相结合,而不是经典 RL 中典型的长期迭代交互。
基于流程的奖励模型和思维链
基于流程的奖励模型可能会对中间推理步骤(思维链或 CoT)提供反馈,而不是仅根据最终输出(如问题的最终答案)提供奖励。这样做的目的是鼓励模型以更易于解释、正确率更高或更符合特定标准的方式解释或展示其推理过程。
这就是「真正的 RL」吗?并非如此。
即使你为中间步骤分配了部分奖励(比如 CoT 解释),你仍然处于这样一种环境中:你通常会将整个输出(包括推理)输入奖励模型,获得奖励,然后进行一步策略优化。而不是在一个动态环境中,由 LLM「尝试」部分推理步骤、获得反馈、进行调整,并在同一 episode 中继续进行开放式循环。
因此,虽然 CoT / PRM 会给人一种多步骤 RL 的错觉,因为你会对中间步骤进行奖励或惩罚,但实际上,它仍然相当于对单一步骤(文本生成和推理)进行离线或近似离线的策略调整,而不是经典 RL 的持续智能体 - 环境循环。
多智能体工作流也不会神奇地创建意图
你可以在工作流中协调多个 LLM(例如,「系统 A 生成计划,系统 B 批改计划,系统 C 完善计划」),但从内部来看,每个 LLM 仍然是根据下一个 token 的概率生成文本。尽管这样的多智能体设置可以表现出看起来协调或有目的的涌现行为,但它并没有赋予任何单个模型内在或秉持的目标。
为什么我们的多智能体 LLM 工作流常常看起来有意图?人类会自然而然地将心理状态投射到行为看似有目的的系统上,这就是所谓的「意图立场」。但是,每个 LLM 智能体只是对提示做出响应。每个智能体背后的思维链并不等同于个人欲望或驱动力;它只是一个多步骤反馈回路中更复杂的 prompt-completion。
因此,多智能体协调可以产生非常有趣的新兴任务解决能力,但 LLM 本身仍然不会产生「我想要这个结果」的动机。
在我看来,与「给 LLM 一个目标」最接近的方法是使用提示工程或将多个 LLM 提示串联成一个循环来构建一个元系统或「智能体」。像 Auto-GPT 或 BabyAGI 这样的工具试图模拟一个智能体,它能:
然而,所有这些「目标保持」都是在系统层面,在提示或链接逻辑中协调进行的,而不是从 LLM 的内部动机状态出发。LLM 本身仍然是被动地对提示做出反应,缺乏内在的欲望。
多智能体是另一种「穷人的解决方案」。正如在上文所讨论的,你可以协调多个 LLM 对彼此的输出结果进行评论或验证,从而有效地划分子任务并组合出部分解决方案。这看起来是有目标的,但同样,「目标」是由工作流和提示从外部协调的;LLM 不会自发生成或坚持自己的目标。
不过,这也有积极的一面。例如,我认为没有持续目标的 LLM 在某些方面更加透明。它本质上是一个由即时反馈信号引导的强大的下一个 token 预测器 —— 没有多步骤 RL 循环中出现的复杂的隐藏目标。
单步或几步方法(如 RLHF 或 DPO)与「真正的」RL 的关键区别在于时间跨度:
此外,RL 通常假定有一个定义明确的行动空间(例如,将游戏棋子向上 / 向下 / 向左 / 向右移动)。而在 LLM 微调中,「动作」的概念是模糊的,通常会被直接参数更新或生成 token 所取代。增强提示,甚至只是从固定词汇中生成 token,都可以被视为「动作」,而「环境」则是 LLM 的内部状态。然而,这是对 RL 循环的非标准或某种不寻常的重新解释。
另一个专家澄清的问题是 RL 中奖励和目标之间的区别。原则上,RL「奖励」是指导智能体学习过程的信号,而不总是明确的最终目标。如果奖励稀少(仅在成功 episode 结束时提供),智能体的实际「目标」可能看起来是「达到成功条件」。然而,在实践中,好的 RL 设计通常会使用密集的奖励信号来引导中间状态,从而帮助智能体更有效地学习。
对于 LLM 而言,「目标」的概念意味着对某些目标的持续、多步骤的追求。由于 RLHF 通常是在单步或几步过程中进行的,因此该模型从未真正形成长期目标的内部表征。它只是根据奖励模型或偏好函数来优化即时文本输出。
RLHF、DPO、宪法 AI(Constitutional AI)和其他受 RL 启发的微调方法对于使 LLM 更加一致和有用大有裨益。它们让我们能够利用人类的偏好来塑造输出,减少有毒内容,并引导 LLM 响应的风格。
然而,这些技术并不能为 LLM 提供真正的长期目标、内部动机或经典 RL 意义上的「意图」。LLM 仍然是一个复杂的下一个 token 预测器,而不是一个自主智能体。
如果未来我们希望 LLM 拥有真正的 RL 怎么办?如果有一天,研究人员将 LLM 集成到实际的多步骤 RL 框架中(想想看:一个智能体在模拟或现实世界中导航,不断阅读和生成文本,接收反馈,并实时调整策略),那么我们就可能接近真正的智能体行为。这需要大量的资源、精心的环境设计和强大的安全措施。在此之前,我们所拥有的系统 —— 尽管功能强大 —— 从根本上说仍然是被动的、由离线或半离线反馈信号形成的下一个 token 预测器。
为什么这一切都很重要?
最后,虽然 RLHF、DPO 和相关方法提供了一种实用的方法,可以在短期环境中使 LLM 与人类偏好保持一致,但它们无法赋予 LLM 真正、持久的目标或意图。这些方法也只是与经典的 RL 或 IRL 范式略有对应。未来的系统若能在真正的多步骤 RL 循环中使用 LLM,就能解锁更多自主的、类似智能体的行为,但同时也会引发新的安全和一致性问题。
原文链接:https://www.linkedin.com/pulse/why-rlhf-other-rl-like-methods-dont-bring-true-rl-llmsand-atlas-wang-s1efc/
文章来微信公众号“机器之心”
【开源免费】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/(付费)
【开源免费】AutoGPT是一个允许用户创建和运行智能体的(AI Agents)项目。用户创建的智能体能够自动执行各种任务,从而让AI有步骤的去解决实际问题。
项目地址:https://github.com/Significant-Gravitas/AutoGPT
【开源免费】MetaGPT是一个“软件开发公司”的智能体项目,只需要输入一句话的老板需求,MetaGPT即可输出用户故事 / 竞品分析 / 需求 / 数据结构 / APIs / 文件等软件开发的相关内容。MetaGPT内置了各种AI角色,包括产品经理 / 架构师 / 项目经理 / 工程师,MetaGPT提供了一个精心调配的软件公司研发全过程的SOP。
项目地址:https://github.com/geekan/MetaGPT/blob/main/docs/README_CN.md
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0