1. 研究背景与动机

  • 背景: 近期大语言模型(LLMs)的巨大进展,激发了学术界和工业界对于构建能通过在线交互学习的通用智能体(Generalist Agents)的浓厚兴趣。
  • 目标: 利用强化学习(RL)来训练这些基于 LLM 的智能体。

2. 面临的核心挑战 在多轮(multi-turn)、多任务(multi-task)的复杂场景下应用强化学习,主要存在两大障碍:

  • 缺乏可扩展的基础设施 (Scalable Infrastructure): 现有的工具和平台难以支撑大规模、高效的智能体训练。
  • 缺乏稳定的训练算法 (Stable Training Algorithms): 传统的 RL 算法在处理这类复杂任务时,常常会遇到训练不稳定的问题。

3. 提出的解决方案:AgentRL 框架 为了解决上述挑战,研究者提出了 AgentRL,一个专为可扩展、多轮、多任务的智能体强化学习设计的框架。该框架从基础设施算法两个层面进行了创新。

3.1 基础设施层面的创新 为了实现高效的多轮强化学习,并支持异构(多样化)的环境开发,AgentRL 在基础设施上做了三项关键设计:

  • 完全异步的生成-训练流水线 (Fully-asynchronous generation-training pipeline): 数据生成(Agent 与环境交互)和模型训练(更新参数)可以并行进行,互不阻塞,极大地提升了效率。
  • 统一的函数调用 API 接口 (Unified function-call based API): 为不同的环境和任务提供了一套标准化的交互方式,简化了新任务的接入和开发。
  • 容器化的环境开发 (Containerized environment development): 将每个环境封装在独立的容器中,解决了依赖冲突问题,增强了系统的稳定性和可复现性。
  • 中心化的控制器 (Centralized controller): 负责协调数据生成、模型训练和环境管理,是整个异步系统的“大脑”。

3.2 算法层面的创新 为了提升模型的探索能力和多任务训练的稳定性,AgentRL 在算法上提出了两个改进点:

  • 跨策略采样 (Cross-policy sampling): 在多轮交互中,鼓励模型进行更广泛的探索,避免陷入局部最优。
  • 任务优势归一化 (Task advantage normalization): 在进行多任务训练时,对不同任务的“优势函数”(Advantage Function)进行归一化处理,以此来稳定训练过程,防止某些任务的梯度主导整个训练。

4. 实验结果与贡献

  • 性能卓越: 实验证明,在五个不同的智能体任务上,使用 AgentRL 训练的开源 LLM(如 Llama、Mistral 等)显著超越了 GPT-5、Clause-Sonnet-4, DeepSeek-R1 等顶尖的闭源或开源 LLM Agent。
  • 多任务效果显著: 经过 AgentRL 进行多任务训练后,模型的综合表现能够媲美在各个单一任务上训练的专家模型(task-specific models)的最佳水平。
  • 开源贡献: AgentRL 框架已经开源,代码库位于 https://github.com/THUDM/AgentRL
  • 实际应用: 该算法和框架已被采用于 AUTOGLM 的构建中。

RLHF背后的逻辑

我们来一步步拆解 Reinforcement Learning from Human Feedback (RLHF) 背后的逻辑,以及它究竟是如何优化到每一个 Token 输出的。

核心逻辑:我们不知道“完美答案”是什么,但我们能轻易判断“哪个更好”

这是 RLHF 的根本出发点。

传统的监督微调(SFT)需要我们提供“正确答案”的范例。但对于开放式问题,比如“给我写一首关于秋天的诗”,根本不存在唯一的“正确答案”。我们很难写出一个完美的范例让模型去学。

然而,如果模型给了我们两个版本的诗,我们作为人类,可以很轻松地判断出 “版本A比版本B写得更好”

RLHF 的核心思想就是:放弃定义完美的“绝对好”,转而利用人类的“相对偏好”来构建一个奖励系统,然后让模型在这个奖励系统的指引下,自己学会如何生成更好的内容。

这就好比训练宠物:你可能无法向狗狗精确描述“坐下”这个动作的完整肌肉运动,但当它碰巧做出接近“坐下”的动作时,你给它一个奖励(零食),它就会慢慢学会。这里的“零食”就是反馈。


RLHF 的三步走(The Three-Step Process)

RLHF 并非一步到位,它是一个精心设计的三阶段过程:

第 1 步:监督微调 (Supervised Fine-Tuning, SFT) —— 获得一个“懂事”的初始模型

  • 目的:让基础大模型(Base LLM)先学会理解指令、对话格式以及一些基础的知识和风格。这是为了给后续的 RL 训练提供一个良好的起点。
  • 做法
  1. 雇佣人工标注者,编写大量高质量的“提示-回答”(Prompt-Response) 对。
  2. 用这些数据对基础大模型进行传统的监督学习微调。
  • 产出:一个 SFT 模型 (LLM-SFT)。这个模型已经很会“说话”了,但它的回答可能还不够贴心、不够安全,或者不够有帮助。

第 2 步:训练一个奖励模型 (Reward Model, RM) —— 打造一个“人类偏好裁判”

这是 RLHF 的核心,是 “Human Feedback” 真正注入的地方。

  • 目的:训练一个模型,让它学会模仿人类的偏好。这个模型需要能够对任何一个“提示-回答”对打分,分数高低代表了人类的喜好程度。
  • 做法
  1. 拿一个提示(Prompt)输入到上一阶段的 LLM-SFT 模型中,让它生成多个不同的回答(比如 4 个:A, B, C, D)。
  2. 人类标注者对这些回答进行排序。例如,他们可能认为 D > B > A > C
  3. 收集大量的这种排序数据 (Prompt, 回答D, 回答B, 回答A, 回答C)
  4. 这些排序数据被转换成成对的比较数据,例如 (Prompt, 胜者:D, 败者:B), (Prompt, 胜者:B, 败者:A) 等。
  5. 训练一个奖励模型 (RM)。它的输入是 (Prompt, Response),输出是一个单一的数值(标量),代表“奖励分数”。训练的目标是,对于人类排好序的任意一对回答,RM 给“胜者”的打分要高于给“败者”的打分。
  • 产出:一个奖励模型 (RM)。现在我们有了一个自动化的“裁判”,可以为任何回答打分,而不再需要每次都找人类了。

第 3 步:使用强化学习进行优化 (RL Optimization) —— 让模型“追求高分”

这是 “Reinforcement Learning” 发挥作用的地方,也是直接回答你第二个问题“如何优化 Token 输出”的关键。

  • 目的:利用“奖励裁判”(RM)来微调 SFT 模型,使其生成的回答能获得更高的奖励分数。

  • 做法:这里我们将语言模型生成任务看作一个强化学习问题。

    优化循环如下:

  • 智能体 (Agent) / 策略 (Policy):就是我们要优化的 LLM-SFT 模型。
  • 动作空间 (Action Space):整个词汇表。在每一步,模型采取的“动作”就是选择下一个 Token
  • 状态 (State):当前的“提示”加上已经生成的部分回答序列。例如,Prompt: "写一首关于秋天的诗", Generated: "金色的叶子..."
  • 奖励 (Reward):当模型生成一个完整的回答后(例如,输出了结束符 [EOS]),将这个完整的 (Prompt, Response) 对输入到被冻结的奖励模型 (RM) 中,得到一个分数。这个分数就是这次“回合”(Episode) 的总奖励。
  1. 从数据集中取一个提示(Prompt)。
  2. LLM-SFT 模型开始逐个 Token 地生成回答。每生成一个 Token,都是一次“动作”。
  3. 当回答生成完毕,RM 给出奖励分数。
  4. 这个奖励分数会作为一个优化信号,通过一个 RL 算法(最常用的是 PPO, Proximal Policy Optimization)来更新 LLM-SFT 的模型权重。
  5. PPO 算法会计算梯度,使得模型参数朝向“更容易生成能获得高奖励的 Token 序列”的方向进行微调。
  • 一个至关重要的约束:在用 PPO 优化时,会加入一个 KL 散度 (KL-Divergence) 惩罚项。这个惩罚项的作用是防止优化后的模型与原始的 SFT 模型偏离太远。这非常关键,因为它能避免模型为了“骗取”奖励模型的高分而生成一些乱七八糟、不符合人类语言习惯的内容(这种现象被称为“奖励黑客”或 Reward Hacking)。它保证了模型在追求高分的同时,仍然像一个正常的语言模型一样说话。
  • 产出:一个经过 RLHF 优化的最终模型 (LLM-RLHF)。这个模型不仅“懂事”,而且其回答更符合人类的复杂偏好。

总结:Token 级别的优化是如何实现的

RLHF 并非直接告诉模型“这个 Token 好,那个 Token 坏”。

它的做法是:

  1. 让模型自由地生成一个完整的句子(Token 序列)。
  2. 对这个最终结果进行整体打分(由 RM 完成)。
  3. 利用这个最终分数,通过 PPO 算法,将“功劳”或“过错”反向传播回整个生成过程。
  4. 这个反向传播的过程会调整模型的权重,使得那些最终导向高分回答的 Token 选择路径的概率被提升,而那些导向低分回答的路径的概率被降低。

通过成千上万次这样的“生成-评分-调整”循环,模型内部的参数(概率分布)被微调,从而在下一次遇到类似的提示时,它会更倾向于生成那些曾经帮助它获得高分的 Token 序列。


一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇

在这里插入图片描述
RLVR

这个概念非常关键,它是对 RLHF 的一个重要演进和补充。我们来深入解析一下 RLVR (Reinforcement Learning with Verifiable Rewards) 背后的逻辑。RLVR 的核心思想是:在某些任务上,我们不需要依赖一个通过学习得来的、主观的奖励模型,而是可以直接使用客观的、可被程序自动验证的信号作为奖励。


RLVR 背后的核心逻辑

为了理解 RLVR,我们先把它和 RLHF 做个直接对比:

  • RLHF (基于人类反馈):
  • 问题: 答案的好坏是主观的(比如,一首诗写得好不好)。
  • 奖励来源: 需要训练一个奖励模型 (Reward Model) 来学习和模仿人类的偏好。
  • 缺点: 训练奖励模型本身就非常昂贵,且奖励模型可能不完美,存在被“欺骗”(Reward Hacking)的风险。
  • RLVR (基于可验证奖励):
  • 问题: 答案的对错是客观的,可以通过程序来判断(比如,一道数学题的答案对不对)。
  • 奖励来源: 一个验证器 (Verifier),这可以是一个简单的脚本或程序。
  • 优点: 极大简化了算法设计,省去了训练奖励模型的整个复杂步骤,奖励信号更准确、更稳定。

所以,RLVR 的核心逻辑是:

当任务的成功标准是客观且可被程序化验证时,就抛弃复杂且可能不准确的“奖励模型”,直接用一个简单的“验证程序”来提供奖励信号,从而更高效、更直接地进行强化学习。

文中的例子非常清晰地说明了这一点:

  1. 数学任务 (Math): Agent 生成一个解题步骤和最终答案。验证器只需要检查最终答案是否与标准答案一致。如果一致,奖励为 +1;不一致,奖励为 0。
  2. 代码生成 (Code): Agent 生成一段代码。验证器就是一套预先写好的单元测试 (Unit Tests)。验证器运行这些测试,如果所有测试都通过,奖励为 +1;否则奖励为 0。

这种向 “客观奖励” 的转变,使得整个流程变得无比简单和高效。


RLVR 如何使用强化学习来优化 Token 的输出?

这个过程和 RLHF 的第三步(RL 优化)非常相似,但关键的 “奖励来源” 发生了变化。

以下是 RLVR 的优化循环:

  1. 设定环境和验证器
  • 环境 (Environment):一个包含大量推理任务(如数学题、编程挑战)的数据集。
  • 验证器 (Verifier):一个能自动判断答案对错的程序。
  1. 生成回答 (Rollout)
  • 从环境中取一个任务(比如一道数学题作为 Prompt)。
  • LLM Agent (Policy) 开始逐个 Token 地生成完整的解题思路和答案。这构成了一条完整的轨迹 (Trajectory)
  1. 获取奖励 (Get Reward)
  • 将 LLM 生成的完整回答提交给验证器
  • (这里是与 RLHF 的核心区别) 验证器运行检查(比如对比最终数字或跑单元测试),然后输出一个客观的、确定的奖励分数(例如,+10)。
  1. 模型更新 (Policy Update)
  • 这个简单而直接的奖励分数,被用作优化信号。
  • 一个强化学习算法(文中提到了 PPO 或其简化版 GRPO)根据这个奖励来更新 LLM 的参数。
  • 算法的目标是调整模型权重,以最大化从验证器那里获得 **+1** 奖励的概率

对 Token 级别的影响是:

  • PPO/GRPO 算法会分析那些最终获得 +1 奖励的成功轨迹。
  • 它会增强(增加概率)在这些成功轨迹中,模型所选择的 Token 序列
  • 同时,它会削弱(降低概率)那些导致最终奖励为 0 的失败轨迹中的 Token 序列。

通过海量的“生成 -> 验证 -> 更新”循环,模型会逐渐学会在推理任务中,哪些“思考路径”(Token 序列)更容易导向正确的、能通过验证的答案。

总结:RLHF vs. RLVR

特性 Reinforcement Learning from Human Feedback (RLHF) Reinforcement Learning with Verifiable Rewards (RLVR)
适用任务 主观、开放式任务 (如写作、聊天、总结) 客观、有正确答案的任务 (如数学、编程、逻辑推理)
奖励来源 学习出来的 奖励模型 (Learned Reward Model) 程序化的 验证器 (Programmatic Verifier)
核心优势 能处理没有标准答案的复杂人类偏好 算法简单、训练高效、奖励信号无偏见
主要挑战 奖励模型训练成本高,且可能被利用 适用范围有限,仅限于有客观验证标准的任务

正如文中所说,DeepSeek-R1 和 T1 等模型正是利用了 RLVR,才在推理能力上取得了强大的表现。这证明了在合适的领域,RLVR 是一个比 RLHF 更直接、更高效的优化路径。


Rollout

2510.04206

AgentRL: Scaling Agentic Reinforcement Learning with a Multi-Turn, Multi-Task Framework

简单来说,Rollout 指的是智能体(Agent)根据其当前的策略(Policy),与环境进行一次完整的交互,从而生成一连串经验(Experience)的过程

这个过程的产物通常被称为轨迹(Trajectory)或回合(Episode)


详细分解

让我们把这个概念拆解成几个关键部分:

1. 什么是“过程”?

Rollout 是一个动态的过程,一个“模拟运行”或“实地演练”。想象一下:

  • 在游戏中,就是从头到尾玩一局
  • 在机器人控制中,就是让机器人从初始状态开始执行一系列动作,直到任务完成或失败

2. 谁来执行?

智能体(Agent) 在执行。更准确地说,是智能体内部的 策略(Policy, π 在做决策。策略是一个函数,它根据当前的状态 S 来决定要执行哪个动作 A

3. 在哪里执行?

是在 环境(Environment) 中执行。环境会接收智能体的动作,然后更新自己的状态,并返回给智能体一个 奖励(Reward)新的状态(Next State)

4. 产出物是什么?

这个过程的产出物是一条轨迹(Trajectory),也就是一个按时间顺序排列的状态、动作、奖励的序列:

T = (S₀, A₀, R₁, S₁, A₁, R₂, S₂, A₂, ... , Sₜ)

  • S₀: 初始状态。
  • A₀: 在状态 S₀ 时,根据策略 π(A|S₀) 选出的动作。
  • R₁: 执行动作 A₀ 后,环境给的奖励。
  • S₁: 执行动作 A₀ 后,环境进入的新状态。
  • 这个过程一直持续下去,直到环境进入一个终止状态(Terminal State),这时一个回合(Episode)就结束了。

Rollout 在 RL 中的两大核心用途

理解了它是什么之后,我们来看看它为什么如此重要。Rollout 主要用于两个目的:

1. 为“学习”收集数据(Data Collection for Learning)

这是最主要的用途。强化学习算法需要数据才能学习,而 Rollout 就是产生这些数据的唯一方式。

  • On-Policy 算法 (如 REINFORCE, A2C, PPO):
  • 这类算法非常直接:它们使用当前策略进行 Rollout,收集一批轨迹数据。
  • 然后,利用这批数据来更新策略,使其变得更好。
  • 更新完策略后,立即丢弃这批旧数据,因为它们是由旧策略产生的,已经“过时”了。
  • 接着,用新的策略再进行新一轮的 Rollout 来收集数据。如此循环往复。
  • Off-Policy 算法 (如 DQN, SAC):
  • 这类算法会使用一个(可能与当前正在优化的策略不同的)策略进行 Rollout。
  • 收集到的轨迹数据 (S, A, R, S') 不会马上被丢弃,而是被存入一个叫做经验回放池 (Experience Replay Buffer) 的大仓库里。
  • 在训练时,算法会从这个仓库中随机抽取小批量的数据来进行学习。这使得数据可以被重复利用,大大提高了数据效率。

2. 为“评估”提供依据(Performance Evaluation)

我们如何知道当前的 Agent 到底学得怎么样了?

答案就是:用它当前的策略(通常会关闭探索,比如设置 Epsilon-Greedy 的 ε=0)在环境中进行若干次 Rollout,然后计算这些 Rollout 的平均总奖励(Average Total Reward)

如果平均总奖励在持续上升,就说明我们的 Agent 确实在进步。


一个具体的例子:走迷宫

  • Agent: 一个试图走出迷宫的机器人。
  • Policy: 机器人当前的大脑,决定在每个路口是“向前”、“向左”还是“向右”。
  • Environment: 迷宫本身。
  • Rollout: 机器人从迷宫的起点开始,根据其策略在每个路口做出选择,一步步前进,直到它走到出口(获得高奖励)或撞墙/超时(获得负奖励)。
  • Trajectory: 机器人从起点到终点的完整路径记录,包括它在每个位置 S 选择了哪个方向 A,以及因此得到的奖励 R

这个完整的行走过程,就是一次 Rollout。RL 算法会分析这次(以及很多次)Rollout 的轨迹,来判断哪些决策是好的(最终导向出口),哪些是坏的(导向了撞墙),从而优化机器人的大脑(策略)。


它揭示了 AgentRL 框架在设计异步系统时的一个关键权衡和决策。其核心逻辑可以概括为:为了追求数据的“新鲜度”以降低学习偏差,我们选择牺牲一部分异步系统的潜在吞吐量,强制让数据“即产即用”。

我们来一步步拆解这个逻辑。


On Policy vs. Off Policy

  1. The Problem: “离策略偏差” (Off-Policy Bias) 是什么?

首先,要理解他们为什么要这么做,就必须理解什么是“离策略偏差”。

  • On-Policy (同策略): 学习用的数据,是由当前正在学习的这个策略(Policy)亲自生成的。这就像你根据自己今天的地图开车,然后根据路况更新你明天的地图。数据和使用者是完全匹配的。
  • Off-Policy (离策略): 学习用的数据,是由一个旧的、不同于当前策略的策略生成的。这就像你拿着昨天的地图开车,然后试图用昨天的路况信息来更新你今天的地图。因为路况变了,用旧数据来指导新决策就会产生偏差 (Bias)

在 AgentRL 的异步框架中,这个问题是天然存在的:

  • 数据生成端 (Rollout Engine): 它负责与环境交互产生数据。它使用的策略模型是从训练端同步过来的,所以总会有一点点延迟,拿到的不是最新的模型。
  • 数据训练端 (Training Engine): 它负责用收到的数据更新模型。

如果数据在生成端和训练端之间的 数据队列 (data queue) 里停留太久,就会发生:训练端已经把模型更新了好几代了,却还在用很久以前的老模型产生的数据进行学习。 这就是严重的“离策略偏差”,会导致训练不稳定,甚至学错方向。

  1. The Solution: 他们采取的具体措施

为了解决这个问题,他们采取了非常直接的策略,可以理解为 “强制贴近同策略 (Forced Near On-Policy)”

  • **set a maximum size of the data queue** (设置一个很小的数据队列上限)
  • 逻辑: 不让数据有堆积的机会。想象一个仓库,如果把容量设得非常小,那就无法积压大量“过时”的货物。这意味着队列里的数据永远都是最新产生的。
  • **enforce all trajectories to be moved to the training engine at each step** (强制每个步骤产生的所有轨迹都被立即送去训练)
  • 逻辑: 实现“即产即销”。一旦有新数据产生,不许在中间环节逗留,立刻发往训练端。这确保了训练端拿到的数据是“热乎”的。
  1. The Goal: 最终达成的效果

  • 核心效果: 通过上述强制措施,他们确保了用于训练的数据,其生产者(某个旧策略)和使用者(当前策略)之间的版本差异最小化
  • 虽然这在严格意义上仍然是“离策略”的,但因为延迟极小,偏差也被控制在了 “可接受的” (acceptable) 范围内。这是一种在理论纯洁性和工程实用性之间的精妙妥协

Scalable Agentic Environment Infrastructure

这段内容的核心作用是详细阐述 AgentRL 框架为了解决“多任务 RL 中基础设施难管理”这一核心挑战,所设计的三大基础设施组件

简单来说,这一段回答了这样一个问题:“你们是如何构建一个能够高效、稳定地同时运行成千上万个不同智能体任务的环境的?”

作者通过以下三个关键组件的设计,构建了一个可扩展的智能体环境基础设施 (Scalable Agentic Environment Infrastructure)


三大核心组件及其作用

1. 基于函数调用(Function-call based)的环境接口

  • 解决了什么问题?
  • 解决了“接口不一”的难题。不同的环境可能有五花八门的自定义动作格式(比如有的用 JSON,有的用 XML,有的用特定字符串),这使得统一管理变得异常困难。
  • 如何解决?
  • 设计了一套统一的、基于函数调用的 API。这意味着,无论底层环境是什么,Agent 与其交互的方式都是标准化的,就像调用一个普通的函数一样(例如 env.execute_tool(tool_name, parameters))。
  • 带来的好处?
  • 简化交互 (Simplify interactions): Agent 不需要再去适配各种复杂的动作格式。
  • 实现中心化管理和监控 (Enables centralized management and monitoring): 因为接口统一了,所以可以很容易地在一个地方管理所有环境,并监控它们的运行状态。

2. 容器化部署 (Containerized deployment)

  • 解决了什么问题?
  • 解决了环境的隔离性、依赖管理和部署一致性的难题。在物理机上同时运行多个环境,很容易出现软件库版本冲突、一个环境崩溃影响另一个环境等问题。
  • 如何解决?
  • 每一个任务环境都打包成一个独立的容器(Containerized),作为一个隔离的执行单元。这通常是使用 Docker 来实现的。
  • 带来的好处?
  • 改善资源分配 (Improves resource allocation): 可以精确地为每个容器分配 CPU 和内存资源。
  • 隔离故障 (Isolates faults): 一个容器内的环境崩溃,不会影响到其他并行运行的会话。
  • 支持无缝部署 (Supports seamless deployment): 容器化的环境可以在任何支持容器技术的硬件上(无论是本地服务器还是云平台)实现一键式、可复现的部署。

3. 中心化的高性能控制器 (Centralized high-performance controller)

  • 解决了什么问题?
  • 解决了大规模并行训练中的调度和生命周期管理难题。当有成千上万个环境实例在同时运行时,需要一个强大的“大脑”来协调它们。
  • 如何解决?
  • 设计了一个中心控制器 (Central controller),它作为整个训练引擎的全局协调器 (global orchestrator)
  • 带来的好处?
  • 为高并发优化 (Optimized for high-concurrency): 这个控制器专门设计用来处理大量的并发请求。
  • 管理生命周期 (Manages the lifecycle): 它负责创建、启动、监控和销毁成千上万个并行的训练回合(episodes),确保整个大规模系统的平稳运行。

Cross-Policy Sampling Strategy

这是一个非常精彩的部分,是 AgentRL 论文在算法层面的核心创新之一。它通过一种巧妙的方法解决了强化学习中的一个经典难题。

我们来深入理解一下这个 “跨策略采样策略 (Cross-Policy Sampling Strategy)” 的核心含义。

核心思想一句话概括

一句话总结: 为了防止模型在学习中变得“思想僵化”和“自我重复”,该策略在构建一条完整的解决路径(轨迹)时,在每一步决策时,都随机从多个不同的“专家”(即不同版本的模型)中挑选一个来做决定,而不是让一个“专家”从头走到尾。


  1. 问题根源 (Why is this needed?)

首先,我们必须理解它要解决的两个关键问题:

  • 探索能力下降 (Exploration Declines): 在 RL 训练初期,模型会进行很多探索。但随着训练的进行,模型会逐渐倾向于走那些它已知的、能获得奖励的老路,探索新路径的意愿会越来越低。在需要多步骤才能完成的复杂任务中,这很容易让模型陷入一个局部最优解(一个还不错的方案,但不是最好的方案)。
  • 模型坍塌 (Model Collapse): 这是一个更深层次的问题。当一个模型持续地在自己生成的数据上进行训练时,它会逐渐忘记原始数据的多样性。就像反复复印一张图片,每一代都会丢失一些细节,最终图片会变得模糊、单调。对于模型来说,它的能力会退化,生成内容的多样性会减少。模型开始“自我重复”,最终变得越来越笨。
  1. 解决方案 (What is the solution?)

作者提出的 Cross-Policy Sampling 就是为了打破这种“自我重复”的循环,强制性地为训练过程注入多样性 (Diversity)

这个策略的核心是在生成一条轨迹的过程中动态地切换决策者

让我们用图中的 Model 1 (当前最优的模型) 和 Model 2 (一个历史版本或另一个变体的模型) 来解释这个机制。

  1. 三种策略的对比 (How does it work?)

这张图(Figure 6)是理解这个概念的关键。它展示了三种不同的数据生成(Rollout)策略:

a) **Single** 模式 (标准方式)

  • 过程: 从头到尾(Step 1 → Step 2 → …),始终只使用一个模型 (这里是 Model 1) 来做决策。
  • 问题: 这就是导致“探索能力下降”和“模型坍塌”的经典模式。模型只会沿着自己最擅长的路径走,无法产生意料之外的数据。
  • 比喻: 就像一位专家独立解决一个复杂问题。他可能会使用他最熟悉的方法,但可能会忽略掉一些他知识盲区里的更优解。

b) **Mix** 模式 (简单的改进)

  • 过程: 生成一批轨迹,其中一部分完全由 Model 1 生成,另一部分完全由 Model 2 生成
  • 改进: 训练数据池里包含了两种不同模型产生的完整路径,多样性比 Single 模式要好。
  • 局限: 每条轨迹本身仍然是“思想统一”的,是由单个模型从头到尾生成的。它没有创造出任何一个模型自身无法独立想到的混合策略
  • 比喻: 就像请了两位专家独立解决同一个问题,然后把他们的两份完整解决方案都收集起来。你得到了两种思路,但没有看到这两种思路碰撞出的火花。

c) **Cross** 模式 (本文的核心创新)

  • 过程: 在生成同一条轨迹时,每一步 (at each step) 的决策者都是随机从 {Model 1, Model 2} 中抽取的
  • Step 1 可能由 Model 1 决定。
  • Step 2 可能就换成了 Model 2 来决定。
  • Step 3 又可能换回 Model 1
  • 核心优势: 这种方法创造出了全新的、任何单一模型都无法独立生成的混合轨迹Model 2 的一个出人意料的决策,可能会把 Model 1 带入一个它自己从未探索过的新状态,从而激发后续全新的决策路径。
  • 比喻: 这就像让两位专家组成一个委员会来解决问题。在每一个决策点,他们通过抛硬币决定由谁来拍板。这个过程最终产生的解决方案,融合了两位专家的智慧,是他们任何一人都无法独立想出的“第三条路”。

总结

Cross-Policy Sampling 的核心含义是通过在单条轨迹的每一步决策中随机切换模型,来强制性地创造出具有高度多样性的混合轨迹

它的目标是:

  1. 增加候选池的多样性 (Increase the diversity): 训练数据不再是单一模型的“自我重复”,而是多个模型思想碰撞的结晶。
  2. 同时保持整体质量 (Preserving overall quality): 因为参与决策的都是经过训练的“专家”模型(而不是随机模型),所以生成的轨迹虽然新颖,但不会偏离得太离谱,保证了数据的可用性。

最终,这种高质量、高多样性的训练数据能够有效地缓解模型坍塌,持续激励模型探索,从而训练出更强大、更鲁棒的智能体。


AgentRL中的数据集部分

这部分详细说明了 AgentRL 框架的“弹药库”和“训练场”——也就是训练数据和实验环境——是如何构建的。理解了这部分,就能明白他们模型的强大能力是从何而来的。

我们可以把这部分内容的核心逻辑拆解为两大块:

  1. “我们如何准备高质量的课本(训练数据)?” (D.1 和 D.2)
  2. “我们如何改造升级我们的教室和考场(实验环境)?” (D.3)

Part 1: 准备高质量的课本 (构建训练数据集)

核心目标: 解决原始 AGENTBENCH 框架中训练数据稀缺的问题,为强化学习构建一个大规模、多样化的数据集。

他们采取了“三管齐下”的策略来收集数据:

1. 直接采用 (Direct Adoption): “拿来主义”

  • 做法: 对于那些已经有非常成熟、高质量官方数据集的环境(如 ALFWorld, WebShop),直接拿来使用。
  • 为什么这么做: 这是最快、最可靠的方式。这些数据集经过精心设计和验证,可以确保训练的起点是高质量的,并且能和学术界的其他研究成果进行公平比较。
  • 通俗理解: 盖房子时,对于螺丝、钢筋这种有国家标准、质量可靠的零件,直接采购最好的就行了,没必要自己从头炼钢。

2. 人工合成 (Synthetic Data Generation): “自我创造”

  • 做法: 对于更复杂、没有现成好数据的环境(如操作系统 OS、知识图谱 KnowledgeGraph、数据库 DB),他们使用了一种叫做 Self-Instruct 的技术。具体来说,就是用一个非常强大的“教师”模型(如 o3, claude4-sonnet)来自动生成大量的“练习题”和“标准答案”。
  • 为什么这么做: 手动为复杂任务创造海量的高质量训练数据几乎是不可能的,成本极高。Self-Instruct 是一种用 AI 来生成 AI 训练数据的高效方法,可以快速、低成本地创造出大量高质量的训练样本。
  • 通俗理解: 一位顶级的特级教师(强大的 LLM)自己出了一套高质量的模拟试卷(合成数据),给即将参加高考的学生(待训练的 Agent)练习,因为市面上已有的练习册质量不够好。

3. 外部增强 (Augmentation): “博采众长”

  • 做法: 为了进一步增加数据的多样性和难度,他们还引入了外部的高质量数据集作为补充。一个典型的例子是,在数据库(DB)环境中,他们额外整合了 BIRD 这个数据集,它是一个非常全面的“文本到 SQL 语句”的基准测试集。
  • 为什么这么做: 即使是人工合成的数据也可能有其局限性或思维定式。引入一个完全独立的、经过社区广泛验证的高质量数据集,可以弥补自身数据的盲点,让模型见识到更多“疑难杂症”,从而变得更强大、更鲁棒。
  • 通俗理解: 学生做完了特级教师出的模拟卷,为了冲击状元,又找来了另一套以“偏题、难题”著称的竞赛级试卷(BIRD 数据集)来做,进一步提升自己的能力上限。

Part 2: 升级教室和考场 (改造 AGENTBENCH 环境)

核心目标: 提升 AGENTBENCH 环境的灵活性、兼容性和可管理性,使其能够支撑大规模、标准化的 Agent 训练。

他们主要做了两项重大的“基础设施改造”:

1. 动作接口改造:统一语言

  • 做法: 将原来五个环境中五花八门的动作指令,全部改造成了统一的、基于函数调用(Function-Call Based)的框架。他们分析了每个环境需要哪些具体操作,并把它们封装成了标准化的“工具”(Tools),遵循类似 OpenAI 函数调用的格式。例如,在知识图谱环境中,他们定义了 get_relations, get_neighbors 等七个标准工具。
  • 为什么这么做: 这是解决“多任务基础设施难管理”问题的关键一步。统一的接口就像是给来自不同国家的参与者配备了“同声传译”,Agent 可以用同一种语言(Function Call)与所有不同的环境进行无缝沟通,极大地简化了开发和管理。
  • 通俗理解: 你有五个不同品牌的智能家居设备(电视、空调、灯、窗帘、音响),每个都需要用自己独立的遥控器。这个改造就像是把它们全部接入了同一个智能音箱,现在你只需要说“打开电视”、“调高空调温度”等标准指令,就可以控制所有设备了。

2. 控制器与工作器接口重构:升级指挥系统

  • 做法: 他们重新设计了“控制器 (Controller)”(负责发号施令的总指挥)和“工作器 (Worker)”(负责运行具体环境的执行者)之间的通信协议。引入了新的标准化接口,如 start_sample (开始一个任务), interact (进行多轮交互)。同时,为了方便管理,还增加了 list_sessionslist_workers 这样的监控接口。
  • 为什么这么做: 原有的通信系统可能很简单,无法满足大规模、高并发的训练需求。新的指挥系统让控制器能够更精确地管理每个任务的生命周期,并且能实时监控成千上万个“工作器”的状态,保证整个大规模训练系统的稳定和高效。
  • 通俗理解: 这就像把一个简单的对讲机指挥系统,升级成了一个现代化的、可视化的作战指挥中心。指挥官不仅可以下达更精细的指令,还能在大屏幕上看到每个士兵(Worker)和每个小队(Session)的实时状态,从而运筹帷幄。

AgentRL中的Prompts

image.png

image.png

image.png

image.png

image.png


几个RL框架的对比

image.png

这部分内容非常清晰地阐述了在将强化学习(RL)应用于复杂的智能体(Agent)任务时,所面临的四大核心挑战。

核心挑战概览

作者将挑战分为两大类,每类又细分为两个子问题,共四个挑战:

  1. 多轮强化学习 (Multi-Turn RL) 中的挑战
  • 1.1 基础设施挑战:效率低下
  • 1.2 算法挑战:探索不足
  1. 多任务强化学习 (Multi-Task RL) 中的挑战
  • 2.1 基础设施挑战:环境多样性
  • (文中未明确列出多任务的算法挑战,但在摘要中已提及,即“训练不稳定”)

挑战详解

  1. 多轮强化学习 (Multi-Turn RL) 的挑战

1.1 基础设施挑战:同步模式导致的效率瓶颈

  • 问题根源: 传统的 RL 训练采用同步的、交错的“生成-训练”流水线。这意味着系统必须先生成一批数据,然后再用这批数据去训练模型,两者不能同时进行。
  • 在智能体任务中问题加剧:
  • 生成耗时: 智能体任务需要生成很长的轨迹(long trajectories),并且与环境进行频繁交互,这个过程非常缓慢且耗时多变。
  • 资源闲置: 负责模型训练的 GPU 计算速度极快,但它必须空闲等待,直到慢速的数据生成过程完成。
  • 效率失衡: 这种“快GPU”等“慢CPU/IO”的现象造成了严重的资源浪费和效率瓶颈,阻碍了 RL 训练的规模化扩展。
  • 引出的需求: 必须设计一个异步 (asynchronous) 的训练框架,让数据生成和模型训练可以并行进行,互不等待。
  • 环境管理难题: 此外,多轮训练需要在交互式环境中运行 Rollout,这对大规模并行部署和管理同质化(homogeneous)环境提出了很高的要求。

1.2 算法挑战:为单轮设计的采样策略已失效

  • 问题根源: 现有的绝大多数 RL 采样策略(Sampling Strategies)都是为 单轮(single-turn) 设置设计的。
  • 在多轮任务中的不足: 在多轮场景中,如何有效地探索环境、高效地采样有价值的数据,是至关重要的。直接套用旧的采样策略,效率低下且探索不足。
  • 引出的需求: 必须改进探索和采样效率,设计出专门适用于多轮场景的算法。
  1. 多任务强化学习 (Multi-Task RL) 的挑战

2.1 基础设施挑战:如何管理多样化和异构的环境

  • 问题根源: 多任务 RL 的定义就是要让一个 Agent 能够处理多种完全不同的任务,这意味着需要一个能够管理多样化环境 (diverse environments) 的架构。
  • 具体的难题:
  • 接口不一 (Differences in environment interfaces): 每个环境可能有自己独特的 API 接口。
  • 状态-动作空间不同 (State-action representations): 不同环境的状态和动作的定义、数据结构和维度都可能不同。
  • 计算需求各异 (Computational demands): 有些环境可能需要大量计算资源,而另一些则很轻量。
  • 引出的需求: 必须设计一种有效且可扩展的方式,来集成和管理这些异构的环境,从而实现跨多种任务的高效智能体训练。

总结

这张图清晰地指出了 AgentRL 框架要解决的核心痛点:

挑战维度 具体问题 根本原因 解决方案方向
多轮 (Multi-Turn) 基础设施效率低 同步的“生成-训练”模式导致 GPU 闲置 异步流水线 、大规模环境部署
算法探索不足 现有采样策略为单轮设计,不适应多轮场景 改进探索和采样算法(如跨策略采样)
多任务 (Multi-Task) 基础设施难管理 环境接口、状态动作、计算需求各不相同 设计统一架构来集成和管理异构环境
(算法训练不稳定) (不同任务的奖励和学习难度导致优化失衡) (稳定多任务学习的算法,如任务优势归一化)

通过识别并解决这些具体挑战,AgentRL 框架才得以实现其“可扩展、多轮、多任务”的目标。


RL过程需要的数据样例

提供一个实际的数据样例是理解 RL 训练流程的最好方式。

为了让这个例子更具体、更贴近我们一直在讨论的 Agent 场景,我们来设定一个 “使用工具查询并回答问题” 的任务。


场景设定

  • Agent: 一个基于大语言模型的智能体。
  • 任务: 回答用户的提问:“苹果公司的现任 CEO 是谁?他出生在哪一年?”
  • 可用工具 (Actions):
  1. search(query: str): 调用搜索引擎,返回搜索结果摘要。
  2. answer(text: str): 给出最终答案,结束任务。
  • 奖励机制 (Reward Logic):
  • 成功回答正确:+1.0
  • 回答错误或未回答:-1.0
  • 每使用一次 search 工具:-0.1 (一个小的成本,鼓励效率)
  • 调用 answer 工具结束任务:0.0 (本身无奖励)

一次完整的“Rollout”过程 (生成轨迹)

下面是 Agent 与环境进行一次完整交互,从而生成一条训练轨迹的过程。

Episode Start:

Turn 1

  • State (S₀):
  • Agent 的思考 (Policy 的输出): “我需要知道 CEO 的名字和出生年份。第一步是搜索 CEO 是谁。”
  • Action (A₀):
  • 环境的反馈 (Observation): (执行 search 工具后) “苹果公司现任CEO是蒂姆·库克(Tim Cook)。”
  • Reward (R₁): -0.1 (因为使用了一次 search 工具)

Turn 2

  • State (S₁): (包含了之前的历史)
  • Agent 的思考 (Policy 的输出): “好的,我知道了 CEO 是蒂姆·库克。现在我需要知道他的出生年份。”
  • Action (A₁):
  • 环境的反馈 (Observation): (执行 search 工具后) “蒂姆·库克(Tim Cook),1960年11月1日出生。”
  • Reward (R₂): -0.1 (又使用了一次 search 工具)

Turn 3

  • State (S₂):
  • Agent 的思考 (Policy 的输出): “信息收集完毕,我现在可以回答问题了。”
  • Action (A₂):
  • 环境的反馈 (Observation): (任务结束,验证答案) 答案正确!
  • Reward (R₃): +1.0 (因为最终答案正确) + 0.0 (answer 工具本身) = +1.0

Episode End.


数据如何被格式化用于训练

上面的交互过程非常直观,但在送入 RL 算法(如 PPO)之前,它需要被转换成标准的格式。算法真正“看到”的是下面这样的数据。

1. 完整的轨迹数据 (Trajectory Data)

这条轨迹可以被记录为一个包含所有状态、动作和奖励的序列。

{  "trajectory_id": "traj_12345","initial_prompt": "苹果公司的现任 CEO 是谁?他出生在哪一年?","steps": [    {      "state": { "history": [{"role": "user", ...}] },      "action": { "tool_name": "search", "parameters": {"query": "苹果公司现任CEO"} },      "reward": -0.1,      "next_state": { "history": [{"role": "user", ...}, {"role": "agent", ...}, {"role": "tool", ...}] },      "done": false    },    {      "state": { "history": [{"role": "user", ...}, {"role": "agent", ...}, {"role": "tool", ...}] },      "action": { "tool_name": "search", "parameters": {"query": "蒂姆·库克出生年份"} },      "reward": -0.1,      "next_state": { "history": [... , {"role": "agent", ...}, {"role": "tool", ...}] },      "done": false    },    {      "state": { "history": [... , {"role": "agent", ...}, {"role": "tool", ...}] },      "action": { "tool_name": "answer", "parameters": {"text": "苹果公司的现任 CEO 是蒂姆·库克,他出生于1960年。"} },      "reward": 1.0,      "next_state": null,      "done": true    }  ],"total_reward": 0.8// (-0.1) + (-0.1) + (1.0)}

2. 送入 PPO 算法的数据

PPO 算法会利用这些数据计算优势函数 (Advantage)价值函数 (Value)。对于算法来说,每一行都是一个独立的训练样本 (S, A, R, S', Done)

  • 样本 1: (S₀, A₀, R₁ = -0.1, S₁, Done = false)
  • 样本 2: (S₁, A₁, R₂ = -0.1, S₂, Done = false)
  • 样本 3: (S₂, A₂, R₃ = 1.0, S₃(或 null), Done = true)

算法会分析这个序列,得出结论:尽管 A₀A₁ 的即时奖励是负的,但它们是通往最终 +1.0 高奖励的必要步骤。因此,在状态 S₀S₁ 时,选择 search 这个动作的“价值”是很高的。通过这种方式,模型就学会了为了长期回报而忍受暂时的“成本”。

如果 Agent 在第一步就选择了错误的工具,比如 answer("我不知道"),那么它会立即得到 -1.0 的奖励,这条轨迹就会被标记为一次失败的尝试,算法会降低在初始状态下直接回答的概率。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇

在这里插入图片描述

01.大模型风口已至:月薪30K+的AI岗正在批量诞生

在这里插入图片描述

2025年大模型应用呈现爆发式增长,根据工信部最新数据:

国内大模型相关岗位缺口达47万

初级工程师平均薪资28K(数据来源:BOSS直聘报告)

70%企业存在"能用模型不会调优"的痛点

真实案例:某二本机械专业学员,通过4个月系统学习,成功拿到某AI医疗公司大模型优化岗offer,薪资直接翻3倍!

02.大模型 AI 学习和面试资料

1️⃣ 提示词工程:把ChatGPT从玩具变成生产工具
2️⃣ RAG系统:让大模型精准输出行业知识
3️⃣ 智能体开发:用AutoGPT打造24小时数字员工

📦熬了三个大夜整理的《AI进化工具包》送你:
✔️ 大厂内部LLM落地手册(含58个真实案例)
✔️ 提示词设计模板库(覆盖12大应用场景)
✔️ 私藏学习路径图(0基础到项目实战仅需90天)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐