Direct Multi-Turn Preference Optimization for Language Agents(DMPO)

把单回合的 DPO 直接推广到多回合(agent)场景,核心是把“策略约束”换成“状态-动作占用度量(SAOM)约束”并在 Bradley-Terry 模型里做长度归一化,从而消掉 partition function Z。


1 问题背景

• 直接用 BC(行为克隆)在多回合任务里会累积误差(compounding error)。
• 单回合 DPO 依赖 partition function Z(s) 只与 s 有关,可约掉;多回合里 Z(s) 与整条轨迹有关,无法约掉。
• 本文提出 DMPO,把约束“πθ 与 πref 的 KL”换成“dπθ 与 dπref 的 KL”,并引入长度归一化,使 Z 变为常数可消。


2 公式推导(从 DPO → DMPO)

2.1 单回合 DPO 的目标函数

max⁡πθ  Eτ ⁣[∑t=0T−1γtr(st,at)]β DKL ⁣[πθ(⋅∣s)∥πref(⋅∣s)](1) \max_{\pi_\theta}\; \mathbb{E}_{\tau}\!\left[\sum_{t=0}^{T-1}\gamma^t r(s_t,a_t)\right] \beta\,D_{\text{KL}}\!\bigl[\pi_\theta(\cdot|s)\bigm\|\pi_{\text{ref}}(\cdot|s)\bigr] \tag{1} πθmaxEτ[t=0T1γtr(st,at)]βDKL[πθ(s) πref(s)](1)


2.2 Bradley-Terry(BT)模型(单回合)

p(aw≻al∣s0)=σ ⁣(r(s0,aw)−r(s0,al))(2) p(a^w \succ a^l \mid s_0) = \sigma\!\Bigl(r(s_0,a^w)-r(s_0,a^l)\Bigr) \tag{2} p(awals0)=σ(r(s0,aw)r(s0,al))(2)


2.3 单回合 DPO 的闭式解

π∗(a∣s)=1Z(s)πref(a∣s)exp⁡ ⁣(r(s,a)/β)(3) \pi^*(a|s)=\frac{1}{Z(s)}\pi_{\text{ref}}(a|s)\exp\!\bigl(r(s,a)/\beta\bigr) \tag{3} π(as)=Z(s)1πref(as)exp(r(s,a)/β)(3)


2.4 多回合最优状态–动作占用度量(SAOM)

dπ∗(s,a)=1Z dπref(s,a)exp⁡ ⁣(r(s,a)/β)(4) d^{\pi^*}(s,a)=\frac{1}{Z}\,d^{\pi_{\text{ref}}}(s,a)\exp\!\bigl(r(s,a)/\beta\bigr) \tag{4} dπ(s,a)=Z1dπref(s,a)exp(r(s,a)/β)(4)


2.5 多回合 BT 模型(未归一化)

p(τw≻τl∣s0)=σ ⁣(∑t=0Tw−1γtr(stw,atw)−∑t=0Tl−1γtr(stl,atl))(5) p(\tau^w \succ \tau^l \mid s_0) = \sigma\!\Bigl(\sum_{t=0}^{T^w-1}\gamma^t r(s_t^w,a_t^w) -\sum_{t=0}^{T^l-1}\gamma^t r(s_t^l,a_t^l)\Bigr) \tag{5} p(τwτls0)=σ(t=0Tw1γtr(stw,atw)t=0Tl1γtr(stl,atl))(5)


6 DMPO 的 RL 目标(SAOM 约束)

max⁡πθ  E(s,a)∼dπθ ⁣[r(s,a)]−β DKL ⁣[dπθ∥dπref](6) \max_{\pi_\theta}\; \mathbb{E}_{(s,a)\sim d^{\pi_\theta}}\!\bigl[r(s,a)\bigr] -\beta\,D_{\text{KL}}\!\bigl[d^{\pi_\theta}\bigm\| d^{\pi_{\text{ref}}}\bigr] \tag{6} πθmaxE(s,a)dπθ[r(s,a)]βDKL[dπθ dπref](6)


7 长度归一化因子

norm(T)=1−γ1−γT(7) \text{norm}(T)=\frac{1-\gamma}{1-\gamma^T} \tag{7} norm(T)=1γT1γ(7)


8 归一化后的 BT 模型

p(τw≻τl∣s0)=σ ⁣(norm(Tw)∑t=0Tw−1γtr(stw,atw)−norm(Tl)∑t=0Tl−1γtr(stl,atl))(8) p(\tau^w \succ \tau^l \mid s_0) = \sigma\!\Bigl( \text{norm}(T^w)\sum_{t=0}^{T^w-1}\gamma^t r(s_t^w,a_t^w) -\text{norm}(T^l)\sum_{t=0}^{T^l-1}\gamma^t r(s_t^l,a_t^l) \Bigr) \tag{8} p(τwτls0)=σ(norm(Tw)t=0Tw1γtr(stw,atw)norm(Tl)t=0Tl1γtr(stl,atl))(8)


9 DMPO 损失函数

LDMPO=−E(s0,τw,τl)∼Dlog⁡σ ⁣(∑t=0Tw−1β φ(t,Tw)log⁡πθ(atw∣stw)πref(atw∣stw)∑t=0Tl−1β φ(t,Tl)log⁡πθ(atl∣stl)πref(atl∣stl))(9) \mathcal{L}_{\text{DMPO}} = -\mathbb{E}_{(s_0,\tau^w,\tau^l)\sim\mathcal{D}} \log\sigma\!\Bigl( \sum_{t=0}^{T^w-1}\beta\,\varphi(t,T^w)\log\frac{\pi_\theta(a_t^w|s_t^w)}{\pi_{\text{ref}}(a_t^w|s_t^w)} \sum_{t=0}^{T^l-1}\beta\,\varphi(t,T^l)\log\frac{\pi_\theta(a_t^l|s_t^l)}{\pi_{\text{ref}}(a_t^l|s_t^l)} \Bigr) \tag{9} LDMPO=E(s0,τw,τl)Dlogσ(t=0Tw1βφ(t,Tw)logπref(atwstw)πθ(atwstw)t=0Tl1βφ(t,Tl)logπref(atlstl)πθ(atlstl))(9)

3 直观解释

• SAOM 约束迫使策略在所有状态-动作对上逼近专家分布,减少因专家数据未覆盖而随机动作导致的累积误差。
• 长度归一化使不同长度轨迹的累积 reward 可比,从而消掉 Z。
• φ(t,T) 随 t 衰减 → 早期动作权重更高,进一步抑制后期噪声。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐