DPO: Direct Preference Optimization: Your Language Model is Secretly a Reward Model

alt text

NeurIPS 2023的论文,RLHF除了PPO外的另外一条路线。

一般的RLHF的优化目标为: maxπθExD,yπθ[rϕ(x,y)]βDKL[πθ(yx)π(yx)],(1) max_{\pi_{\theta}}\mathbb{E}_{x\sim \mathcal{D}, y\sim \pi_{\theta}}[r_{\phi}(x,y)]-\beta\mathbb{D}_{KL}[\pi_{\theta}(y|x)\parallel \pi_(y|x)], (1)

先不加证明地给出一个定理,待求解问题: maxμExμ(x)[f(x)]+H(μ),s.t.xμ(x)=1 \max_{\mu} \mathbb{E}_{x\sim \mu(x)}[f(x)] + H(\mu), s.t.\sum_x\mu(x)=1

该式的最优解服从: μ(x)=ef(x)xef(x) \mu(x) = \frac{e^{ f(x)}}{\sum_xe^{ f(x)}}

对照一下,我们即可得到(1)的最优解:

πθ(yx)=πref(yx)e1βrϕ(x,y)yπref(yx)e1βrϕ(x,y)=πref(yx)e1βrϕ(x,y)Z(x) \pi_{\theta}(y|x) = \frac{\pi_{ref}(y|x)e^{\frac{1}{\beta}r_{\phi}(x,y)}}{\sum_{y'}\pi_{ref}(y'|x)e^{\frac{1}{\beta}r_{\phi}(x,y')}} = \frac{\pi_{ref}(y|x)e^{\frac{1}{\beta}r_{\phi}(x,y)}}{Z(x)}

反解rϕ(x,y)r_{\phi}(x,y),得到: rϕ(x,y)=βlogπref(yx)πθ(yx)+βlogZ(x) r_{\phi}(x,y) = \beta\log \frac{\pi_{ref}(y|x)}{\pi_{\theta}(y|x)} + \beta \log Z(x)

代入BT-model: p(y1>y2x)=11+exp(βlogπ(y2x)πref(y2x)βlogπ(y1x)πref(y1x)) p^*(y_1>y_2|x) = \frac{1}{1 + \exp{(\beta \log \frac{\pi^*(y_2|x)}{\pi_{ref}(y_2|x)} - \beta \log \frac{\pi^*(y_1|x)}{\pi_{ref}(y_1|x)})}}

因此模型最终优化的Loss为: L=E(x,yw,yl)[logσ(βlogπθ(ywx)πref(ywx)βlogπθ(ylx)πref(ylx)))] \mathcal{L} = -\mathbb{E}(x, y_w, y_l)[\log\sigma(\beta\log \frac{\pi_{\theta}(y_w|x)}{\pi_{ref}(y_w|x)} - \beta\log \frac{\pi_{\theta}(y_l|x)}{\pi_{ref}(y_l|x)}))]

DPO的主要理论内容如上,其他部分之后再慢慢来补充,包括DPO优化容易出现的一些问题。简单来讲,DPO原论文的理论下,你可以把整个回答看成是单个action,用单个action的reward来训练模型,求解的基本原理为拉格朗日方程或者说玻尔兹曼分布。在下一篇论文From r to Q*,我们将会从token-level reward的视角下分析DPO的理论。

results matching ""

    No results matching ""