ArCHer:LLM 的高效分层强化学习框架,突破多轮决策瓶颈
使用分层 RL 思想,解决 multi-turn 的信用分配问题:在高层次,采用时序差分方法来训练语句级(utterance-leve)的价值函数,在低层上,采用 GRPO 等算法来优化 token 生成,而将高层价值函数视为该轮的终局奖励。
Zhou, Yifei, et al. “Archer: Training language model agents via hierarchical multi-turn rl.” ICML 2024. arXiv:2402.19446 (2024).
近年来,大语言模型(Large Language Model,LLM)在单轮文本生成任务上,如求解数学题或生成代码,展现了惊人的能力。然而,一个更具潜力的应用场景是让 LLM 作为“智能体(Agent)”,通过多轮交互来完成复杂目标,例如,与用户进行目标驱动的对话、操作软件工具或在线购物。这类多轮(multi-turn)决策任务要求模型不仅生成合理的单轮回复,更能像下棋一样,为达成长远目标而战略规划。
然而,现有强化学习(Reinforcement Learning,RL)方法主要针对单轮优化,在这一领域遇到了巨大挑战。来自 UC Berkeley 和 Google DeepMind 的研究团队提出了 ArCHer 框架,通过一种新颖的分层强化学习思想,巧妙地解决了多轮任务中的核心难题,在显著提升样本效率的同时,达成了卓越的最终性能。
一、问题背景:从单轮到多轮的挑战
在单轮强化学习设置中,模型接收一个提示,生成一个完整回复,随后获得一个奖励信号,模型的目标是最大化单轮奖励的期望。然而,这种范式无法应对多轮交互的动态性。
多轮任务可以被建模为一个标准的马尔可夫决策过程(MDP):模型在每一步基于当前状态(所有交互历史)生成一个动作(一整轮回复),环境返回一个奖励并转移到新状态。目标变为最大化长期累积折扣奖励。这一转变带来了三个核心挑战:
-
信用分配难题:奖励往往是稀疏和延迟的。例如,在猜词游戏中,只有最终猜对单词才能获得奖励。模型必须学会认识到,前期一个看似无效的信息搜集问题(如“它是动物吗?”)对最终胜利至关重要,而单轮 RL 无法进行这种跨越多个时间步的信用分配。
-
样本效率低下:多轮的真实环境(如人类、网站)交互成本高昂且缓慢。像 PPO 这类 on-policy 算法,要求使用当前策略收集的数据进行更新,而会丢弃所有旧数据,这将导致多轮任务训练缓慢,并且造成了巨大的样本浪费。因此,我们希望可以利用已有的 offline 数据,这也是后面 ArCHer 框架提出的一个动机。
-
决策视野与动作空间的矛盾:这是最核心的技术挑战。现有方法面临一个两难选择:
- 选择一:直接应用单轮 RL 方法,如 RAGEN,将每个 Token 视为动作。这导致决策的 horizon 极长(轮数 × 每轮 Token 数),相当于 RL 收集到的轨迹很长。对于 on-policy 方法,梯度估计方差巨大;对于 off-policy 方法,比如 Q-learning,训练信号需要经过极长的步骤才能回溯,导致学习速度慢到难以收敛,论文中提到 ILQL 需要 10 天以上才能收敛。
- 选择二:将整轮回复视为一个动作,即 utterance-level 的 RL。这导致动作空间,即所有可能回复的集合,变得无比巨大,在贝尔曼更新中,寻找最优下一个动作的计算变得不可行。现有方法 CHAI 通过从一个冻结策略中采样多个候选 action 再筛选来近似,但策略改进受限于固定策略的输出范围,天花板低。
二、ArCHer 的破局之道:分层强化学习
ArCHer 的核心思想是构建一个分层 MDP(个人认为思想跟 hierarchical RL 很像)。
高层 MDP:这是一个标准的环境MDP。
- 状态( s t s_t st):到第 t 轮为止的完整交互历史。
- 动作( a t a_t at):第 t 轮的整个回复(utterance)。
- 奖励( r t r_t rt):环境在每轮结束后给出的奖励,往往只有终局奖励。
- 其目标是最大化累积折扣奖励。
低层 MDP:它嵌入在高层 MDP 的每一个时间步内,用于生成第 t 轮回复的每个 token,从而生成单个高层动作。定义与 single-turn RL 的 MDP 一样:
- 状态:由高层状态 s t s_t st 和当前已生成的部分 token 序列共同构成。
- 动作:下一个要生成的词元。
- 奖励:仅在整轮回复生成完毕时获得。reward 值由高层的优势函数(advantage)给出。
基于此,ArCHer 并行运行两个 RL 算法:
- 高层 Critic:采用 off-policy 的时序差分 RL 方法,来训练一个 utterance-level 的 Q 函数和 V 函数,用来评价第 t 轮 LLM 回复的优劣。它从存储所有历史交互的 replay buffer 中学习,从而实现高样本效率。
- 低层 Actor:与现有 single-turn RL 一致,采用 on-policy 的策略梯度方法来优化 Token 级别的生成策略。
具体而言,低层 Actor 的优化目标是最大化由高层 Critic 计算的优势,其策略梯度为:
∇ J ( ϕ ) ≈ E [ ∑ ( A ( s t , a t ) ⋅ ∇ log π ϕ ( a t h ∣ s t , a t { 1 : h − 1 } ) ) ] \nabla J(\phi) \approx \mathbb E\left[ \sum \left( A(s_t, a_t) \cdot \nabla \log \pi_\phi(a_t^h | s_t, a_t^{\{1:h-1\}}) \right) \right] ∇J(ϕ)≈E[∑(A(st,at)⋅∇logπϕ(ath∣st,at{1:h−1}))]
其中, A ( s t , a t ) = Q ( s t , a t ) − V ( s t ) A(s_t, a_t) = Q(s_t, a_t) - V(s_t) A(st,at)=Q(st,at)−V(st) 是由高层 Critic 提供的优势估计。这个公式的关键在于,它使用含长期回报信息的优势函数,作为每轮 RL 中的 reward 或 advantage 值,从而引导模型生成长期价值更高的回复。
三、实现细节与核心技巧
为了让框架稳定高效地工作,论文采用了多项重要的工程 trick:
- 网络架构与参数共享:高层 Critic 的 Q 和 V 网络共享一个 RoBERTa-base 编码器骨干,仅使用独立的 MLP 输出头,这大幅减少了参数量。Token 级 Actor 则使用 GPT-2 或更大的 Mistral 7B。
- 稳定 Critic 训练的 RL trick:
- Double Q-Learning:训练两套独立的Critic {Q1,V1} 和 {Q2,V2},在计算优势时取最小值,以抑制 Q 值过估计。
- 目标网络与软更新:使用 Polyak 平均,延迟更新目标网络,以稳定 TD 目标。
- Critic 预热:训练初期,先进行 10-20 轮只更新 Critic 的迭代,待其提供相对可靠的信号后再开始更新 Actor。
- 降低方差:对于生成长回复的任务,如 Guess My City,引入一个独立的 Token-Level 价值基线网络(另一个 GPT-2),用于在生成每个 Token 时预测优势,从而降低策略梯度的方差。
- 训练流程:Critic 的更新频率(每次迭代 50 次)远高于 Actor(每次迭代 3 次)。所有方法均使用监督微调(SFT)初始化 Actor,以提供高质量的探索起点。
- 超参数设置:演员学习率通常为 3e-4 到 3e-5,评论家学习率为 6e-4。折扣因子在 0.9 到 0.98 之间。每次迭代,Critic 更新 50 次,Actor 仅更新 3 次。
四、实验验证与结果
为了全面评估 ArCHer,论文在四个多轮交互式语言任务上进行实验:文本冒险的侦探游戏、标准版和子集版的“二十个问题”、自由形式的“猜城市”任务,以及模拟真实世界的网页购物任务。
与多种基线方法对比,包括 Token 级 PPO、过滤行为克隆和 Utterance 级方法 CHAI,ArCHer 展现出显著优势:
- 样本效率:ArCHer 达到与 PPO 相同性能时,所需环境交互数据量仅为 PPO 的 1/100,因此,实现了百倍的样本效率提升。
- 最终性能:在大多数任务上,ArCHer 的最终性能显著优于所有基线方法,包括过滤行为克隆和 utterance-level 的 CHAI 方法。
- 可扩展性:将 ArCHer 中的策略模型从 GPT-2 升级到 Mistral 7B 后,学习速度更快,性能更优,证明了该框架对大模型的良好扩展性。
此外,论文还详细展示了 offline RL 版本 ArCHer 的实验结果。通过将高层 Critic 替换为 offline 算法 IQL,将低层 Actor 替换为 AWR,该方法成功地从静态数据集中学习,其性能 -14.1 显著优于单纯的行为克隆 -16.8,证明了其在纯离线设定下的有效性。
具体的,高层的 IQL 公式为:
J ψ IQL ( V ) = E ( s , a ) ∼ D [ L 2 τ ( Q θ ~ ( s , a ) − V ψ ( s ) ) ] J_{\psi}^{\text{IQL}}(V) = \mathbb{E}_{(s,a) \sim \mathcal{D}} [L_2^{\tau}( Q_{\tilde{\theta}}(s, a) - V_{\psi}(s) )] JψIQL(V)=E(s,a)∼D[L2τ(Qθ~(s,a)−Vψ(s))]
其中 L 2 τ ( u ) = ∣ τ − 1 { u < 0 } ∣ u 2 L_2^{\tau}(u) = |\tau - \mathbb{1}\{u < 0\}| u^2 L2τ(u)=∣τ−1{u<0}∣u2 是一个非对称的 L2 损失,参数 τ ∈ [ 0.5 , 1 ) \tau \in [0.5, 1) τ∈[0.5,1) 控制策略提升的程度,当 τ \tau τ 接近 1 时,它驱使 V ψ ( s ) V_{\psi}(s) Vψ(s) 去拟合数据集中 Q 值较高的那些动作,相当于隐式地进行了“最大化”,但只限于数据集内。这避免了直接使用 Q-learning 的 max \max max 操作,从而防止了对分布外动作的过估计。
底层的 AWR 公式为:
J ϕ ( π ) = − E ( s , a 1 : L ) ∼ D [ exp ( β ⋅ A ( s , a 1 : L ) ) ⋅ ∑ i = 1 L log π ϕ ( a i ∣ s , a 1 : i − 1 ) ] J_{\phi}(\pi) = -\mathbb{E}_{(s, a^{1:L}) \sim \mathcal{D}} \left[ \exp\left( \beta \cdot A(s, a^{1:L}) \right) \cdot \sum_{i=1}^{L} \log \pi_{\phi}(a^i | s, a^{1:i-1}) \right] Jϕ(π)=−E(s,a1:L)∼D[exp(β⋅A(s,a1:L))⋅i=1∑Llogπϕ(ai∣s,a1:i−1)]
核心思想为,对数据集中的每一个 token,根据其所在整个序列的优势函数 A ( s , a ) A(s, a) A(s,a) 来重新加权其 behavior cloning 损失。 β > 0 \beta > 0 β>0 是一个超参数,控制保守程度。当 β \beta β 很小时,权重接近 1,策略退化为单纯模仿数据集(行为克隆)。而当 β \beta β 很大时,策略会重点关注那些高优势的轨迹,更积极地进行优化,但可能导致不稳定。这个损失函数天然地阻止了策略偏离数据集太远,因为只有数据集中出现过的 (状态, 动作) 对才会被学习。
五、使用的模型与资源需求
因为使用的模型较小,论文的主要实验均在单个 GPU(如 V100 或 A100)上完成,训练时间在数小时至数天之间。
论文中主要使用了以下模型:
- 主要策略模型:(1) GPT-2:这是大多数实验中使用的主要模型,参数量级为 100M -1B 级别,用于实例化 Token-Level Actor。(2) Mistral 7B:在模型缩放实验中,将基于 GPT-2 的 Actor 替换为 Mistral 7B,以证明方法的可扩展性。
- critic 模型:使用 RoBERTa-base 来作为高层的 Utterance-Level Critic(Q 和 V 网络)。论文采用在
[CLS]token 嵌入之上添加线性层的方式来输出标量价值。 - 环境 / Oracle 模型:在 Twenty Questions 和 Guess My City 任务中,使用 flan-t5-small 模型来生成回答问题的 oracle。
六、总结
ArCHer 通过其清晰的分层架构,巧妙地规避了多轮 RL 中决策视野与动作空间的两难困境,为训练复杂、交互式环境中的 LLM agent,提供了一个高效、稳定且可扩展的解决方案。它不仅通过上层的 off-policy RL 显著提升了样本效率,灵活的框架设计也为未来集成更先进的 RL 算法留下了空间。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)