λLLM Wiki

Multi-Turn Reinforcement LearningVerifiedPublished

多轮强化学习(Multi-Turn Reinforcement Learning) 指的是:模型不是只生成一次最终答案,而是在同一条轨迹里反复执行“生成动作 -> 接收环境反馈 -> 再生成动作”的交互式 强化学习(Reinforcement Learning)

核心定义

  • 单轮 RL 的基本单位通常是一段 prompt -> response
  • 多轮 RL 的基本单位则是一条 轨迹(trajectory):模型在多次 turn 中持续读取上下文、调用工具或输出动作,并根据后续 observation 继续决策。
  • 因而,多轮 RL 更接近 部分可观测马尔可夫决策过程(Partially Observable Markov Decision Process, POMDP),因为模型看到的是“历史交互痕迹”,而不是环境全状态。

算法视角

优化对象从单次回答变成整条交互轨迹

  • 每一轮的 assistant 输出都可以看成 action,环境返回的 observation 则构成下一轮输入的一部分。
  • reward 可以被设计成只在最后给出,也可以在中途按 turn 构建 dense reward。

credit assignment 更难

  • 终局 reward 往往由多轮动作共同决定,因此哪一轮真正有贡献并不总是清楚。
  • 当任务包含 tool use、检索、执行或 UI 操作时,前面一轮的小错误可能会在后面被放大。
  • 这使多轮 RL 比单轮 RL 更依赖稳定的 advantage 估计、轨迹筛选和失败样本过滤。

更容易暴露 off-policy 问题

  • 多轮轨迹更长,rollout 与训练之间的延迟更容易积累。
  • 如果旧策略采样的轨迹被新策略反复更新,训练会更偏向 异策略(Off-Policy)
  • 在 agent 场景里,这种分布偏差常比单轮问答更严重,因为中间 observation 也会随旧动作而改变。

工程视角

rollout 和 environment 要解耦

  • 工程上最重要的抽象通常不是 reward,而是 env.step()
  • 一个可复用的 multi-turn 系统,应该允许用户只替换环境逻辑,而不重写主训练循环。
  • slime 这一类实现会把“模型采样”和“环境如何解释 action”拆开,从而同时支持 LLM agent 和 VLM agent。

tokenization 与 masking 会快速变复杂

  • 每一轮都要把新增 observation 追加到历史上下文里,但又不能把 system prompt、tool preamble 或模板前缀反复塞回序列。
  • 因此在 multi-turn RL 中,实现 token-in-token-out 的训练流程是必要的
  • 常见做法是做增量分词或通过一些算法分析出 delta tokens。
  • 同理,对 loss mask 的处理也需要额外小心。

长尾样本会拖垮吞吐

  • 不同样本的 turn 数、每轮生成长度、环境等待时间都可能差很多。
  • 少数超长轨迹会拉低整批 rollout 的有效并发度,形成明显的 long-tail 问题。
  • 因此,实际系统常需要 async agent loop、partial rollout、profiling 和更激进的 batch 管理。

总结对比

维度单轮 RL多轮 RL
交互单位一次 response多轮 trajectory
环境反馈常在末尾体现每轮都可能返回 observation
loss mask通常只切 prompt/response需要精确切 assistant/action 与 observation
主要瓶颈训练稳定性、采样成本还要额外处理 env latency、长尾、状态管理
系统耦合相对较低与 rollout engine、scheduler、cache 更强耦合

Comments