{
  "source_file": "0930",
  "source_platform": "知乎专栏",
  "author": "刘聪NLP",
  "title_listed": "RL in NLP：强化学习在自然语言处理下的应用",
  "keywords": "强化学习,RLHF,NLP",
  "domain": "大模型算法",
  "content_type": "深度技术解析",
  "is_paid_flag": "否",
  "url": "https://zhuanlan.zhihu.com/p/669524673",
  "publish_date": "2023",
  "corpus_stage": "后训练",
  "notes": "转载许婧，RL 理论、RLHF 流程与 SL 替身算法",
  "id": "828ac3ce8634",
  "collected_at": "2026-10-02T18:38:33",
  "title": "RL in NLP：强化学习在自然语言处理下的应用 - 知乎",
  "body_markdown": "[![](https://zhuanlan.zhihu.com/p/669524673)](javascript:void\\(0\\))\n![ZhiHu logo](../images/body-e1fa91dbdb48b8055184.png)\n[](https://www.zhihu.com)\n[关注](https://www.zhihu.com/signin?next=%2Ffollow)[推荐](https://www.zhihu.com/signin?next=%2F)[热榜](https://www.zhihu.com/signin?next=%2Fhot)[专栏](https://www.zhihu.com/signin?next=%2Fcolumn-square)[圈子](https://www.zhihu.com/signin?next=%2Fring-feeds)[AI WorksBeta ](https://www.zhihu.com/project-square)[故事](https://www.zhihu.com/fiore/h5/vip-web)\n​\n[直答](https://zhida.zhihu.com/)\n切换模式\n登录/注册\nRL in NLP：强化学习在自然语言处理下的应用\n首发于[许婧的学习笔记](https://www.zhihu.com/column/c_1713923411963916288)\n切换模式\n![RL in NLP：强化学习在自然语言处理下的应用](../images/000.img)\n# RL in NLP：强化学习在自然语言处理下的应用\n[![许婧](../images/035.jpg)](https://www.zhihu.com/people/xu-jing-11-59)\n[许婧](https://www.zhihu.com/people/xu-jing-11-59)\n[​![](../images/body-ddf414f04793a667b2c1.png)](https://www.zhihu.com/question/48510028)\n北京大学 数据科学硕士\n[收录于 · 许婧的学习笔记](https://www.zhihu.com/column/c_1713923411963916288)\n56 人赞同了该文章\n​\n目录\n## 本文目标\n  * **强化学习简介** ：从相关RL理论出发，介绍RLHF中[PPO](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=PPO&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJQUE8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.U55w204W9yRXYQX52f3BErhtsM4bbcqdrNa0ia3p1c8&zhida_source=entity)的loss function各项意义\n  * **RLHF in NLP** ：介绍[instruct GPT](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=instruct+GPT&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJpbnN0cnVjdCBHUFQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.WBH31rihpkyYRGujYgDSJdeTO7evxEqcwSlhWsOQDxc&zhida_source=entity)训练流程，关注RLHF部分的开源代码/数据集构造指南/其他框架向优化（多粒度/[多目标](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E5%A4%9A%E7%9B%AE%E6%A0%87&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLlpJrnm67moIciLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.t6V8k_kRu9tXt4dsDpia7L8WFo69eCezjJSEgXMjuRA&zhida_source=entity)）\n  * **RLHF是必须的吗？** ：介绍RLHF的“竞对”/“SL替身”[算法](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E7%AE%97%E6%B3%95&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLnrpfms5UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.bTY0CP0ka4fW4md8dNsb3Ljv3F9q7MbD54mbUdmAFxw&zhida_source=entity)\n\n\n## 强化学习简介\n强化学习（Reinforcement Learning）是一种时序决策学习框架，通过智能体和环境交互 at=π(ot)a_t=\\pi({o_t}) ，得到的奖励 rt=r(ot,at)r_t=r({o_t, a_t}) ，从而来优化策略 π\\pi ，使其能够在环境中自主学习。\n![](../images/004.jpg)\n### 回顾关键概念\n以单智能体时序决策问题为例\n  * States and Observations\n    * 状态S：对于世界状态的完整描述\n    * 观测O：对于一个状态的部分描述，可能会缺失一些信息。当O=S时，称O为[完美信息](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E5%AE%8C%E7%BE%8E%E4%BF%A1%E6%81%AF&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLlroznvo7kv6Hmga8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.eOFvwTAeePxyE_MPf6fUE09rKwY6Rk6YHX8M8xLQK7I&zhida_source=entity)/**fully observed** ；O<S时，称O为非完美信息/**partially observed** 。\n  * Action Spaces 动作空间\n    * 离散动作空间：当智能体只能采取有限的动作，如下棋/文本生成\n    * 连续动作空间：当智能体的动作是实数向量，如机械臂转动角度\n\n\n其区别会影响policy网络的实现方式。\n  * Policy策略\n    * 确定性策略Deterministic Policy： a_t=\\mu(s_t) ，连续动作空间\n    * 随机性策略Stochastic Policy： a_t\\sim \\pi(\\cdot|s_t) ，离散动作空间\n  * 轨迹：指的是状态和行动的序列 \\tau=(s_0,a_0,s_1,a_1,...)\n    * **状态转换函数（transition function）：** s_{t+1}\\sim P(\\cdot|s_t,a_t)\n    * 初始状态是从初始状态分布中采样的，一般表示为 s_{0}\\sim \\rho(\\cdot)\n  * 奖赏函数： r_{t}\\sim R(s_t,a_t,s_{t+1}) / r_{t}\\sim R(s_t,a_t)\n    * 智能体的目标是**最大化行动轨迹的累计奖励** ： R(\\tau)=\\sum_{t=0}^{\\infty}\\gamma^tr_t\n  * 强化学习问题：选择一种策略从而最大化 **[预期收益](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E9%A2%84%E6%9C%9F%E6%94%B6%E7%9B%8A&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLpooTmnJ_mlLbnm4oiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.Py-LevMQAuw62zNSOvRoNpL1kEUIPu8BpzOslWoxeuM&zhida_source=entity) **\n    * 假设环境转换和策略都是随机的，则T步行动轨迹概率： P(\\tau \\mid \\pi)=\\rho_0\\left(s_0\\right) \\prod_{t=0}^{T-1} P\\left(s_{t+1} \\mid s_t, a_t\\right) \\pi\\left(a_t \\mid s_t\\right)\n    * 预期收益： J(\\pi)=\\int_\\tau P(\\tau \\mid \\pi) R(\\tau)=\\underset{\\tau \\sim \\pi}{\\mathrm{E}}[R(\\tau)]\n    * 核心优化问题：找到[最优策略](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E6%9C%80%E4%BC%98%E7%AD%96%E7%95%A5&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLmnIDkvJjnrZbnlaUiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.VFe3oHTXG6NG9UgzHjpzvI5HWzLA2-q2ANuVYvlFYq8&zhida_source=entity) \\pi^*=\\arg \\max _\\pi J(\\pi)\n\n\n### RL发展路径（至PPO）\n![](../images/005.jpg)\n**Value-based**\n状态的值 V(s)或者状态行动对(state-action pair)的值Q(s,a) ，作为一种累积奖赏的估计，可以通过最大化值函数来优化得到最优策略，这种优化方法称为value-based。所以，\n  * 最优值函数（Optimal Value Function）：\n    * V^*(s)=\\max _\\pi \\underset{\\tau \\sim \\pi}{\\mathrm{E}}\\left[R(\\tau) \\mid s_0=s\\right]\n  * 最优动作-值函数（Optimal Action-Value Function）：\n    * Q^*(s, a)=\\max _\\pi \\underset{\\tau \\sim \\pi}{\\mathrm{E}}\\left[R(\\tau) \\mid s_0=s, a_0=a\\right]\n    * 最优动作： a^*(s)=\\arg \\max _a Q^*(s, a)\n\n\n》两者的关系： V^\\pi(s)=\\underset{a \\sim \\pi}{\\mathrm{E}}\\left[Q^\\pi(s, a)\\right] ； V^*(s)=\\max _a Q^*(s, a)\n**[贝尔曼方程](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E8%B4%9D%E5%B0%94%E6%9B%BC%E6%96%B9%E7%A8%8B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLotJ3lsJTmm7zmlrnnqIsiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.jOdk6FplBAdxDNMzO0fqZU8dHj9SlINlmf77c0dJvUY&zhida_source=entity)**\n中心思想：当前值估计=当前奖赏+未来值估计  \n\\begin{aligned} V^\\pi(s) & =\\underset{\\substack{a \\sim \\pi \\\\\\ s^{\\prime} \\sim P}}{\\mathrm{E}}\\left[r(s, a)+\\gamma V^\\pi\\left(s^{\\prime}\\right)\\right] \\\\\\ Q^\\pi(s, a) & =\\underset{s^{\\prime} \\sim P}{\\mathrm{E}}\\left[r(s, a)+\\gamma \\underset{a^{\\prime} \\sim \\pi}{\\mathrm{E}}\\left[Q^\\pi\\left(s^{\\prime}, a^{\\prime}\\right)\\right]\\right] \\end{aligned}   \n所以，最优值函数的贝尔曼公式为：  \n\\begin{aligned} V^*(s) & =\\max _a \\underset{s^{\\prime} \\sim P}{\\mathrm{E}}\\left[r(s, a)+\\gamma V^*\\left(s^{\\prime}\\right)\\right] \\\\\\ Q^*(s, a) & =\\underset{s^{\\prime} \\sim P}{\\mathrm{E}}\\left[r(s, a)+\\gamma \\max _{a^{\\prime}} Q^*\\left(s^{\\prime}, a^{\\prime}\\right)\\right] \\end{aligned}\n**优势函数Advantage Functions**\n强化学习中，有时不需要知道一个行动的绝对好坏，而只需要知道它相对于其他action的相对优势。即，  \nA^\\pi(s, a)=Q^\\pi(s, a)-V^\\pi(s)\n**Policy-based**\n  * RL核心优化问题：找到最优策略 \\pi^*=\\arg \\max _\\pi J(\\pi) ， J(\\pi)=\\int_\\tau P(\\tau \\mid \\pi) R(\\tau)=\\underset{\\tau \\sim \\pi}{\\mathrm{E}}[R(\\tau)]\n  * 基础策略梯度求导\n\n\n\\begin{array}{rlr} \\nabla_\\theta J\\left(\\pi_\\theta\\right) & =\\nabla_\\theta \\underset{\\tau \\sim \\pi_\\theta}{\\mathrm{E}}[R(\\tau)] & \\\\\\ & =\\nabla_\\theta \\int_\\tau P(\\tau \\mid \\theta) R(\\tau) & \\text { Expand expectation } \\\\\\ & =\\int_\\tau \\nabla_\\theta P(\\tau \\mid \\theta) R(\\tau) & \\text { Bring gradient under integral } \\\\\\ & =\\int_\\tau P(\\tau \\mid \\theta) \\nabla_\\theta \\log P(\\tau \\mid \\theta) R(\\tau) & \\text { Log-derivative trick } \\\\\\ & =\\underset{\\tau \\sim \\pi_\\theta}{\\mathrm{E}}\\left[\\nabla_\\theta \\log P(\\tau \\mid \\theta) R(\\tau)\\right] & \\text { Return to expectation form } \\\\\\ \\therefore \\nabla_\\theta J\\left(\\pi_\\theta\\right) & =\\underset{\\tau \\sim \\pi_\\theta}{\\mathrm{E}}\\left[\\sum_{t=0}^T \\nabla_\\theta \\log \\pi_\\theta\\left(a_t \\mid s_t\\right) R(\\tau)\\right] & \\text { Expression for grad-log-prob } \\end{array}\n  * Log-derivative trick: \\nabla_\\theta \\log P=\\nabla_\\theta P/P\n  * 轨迹的log-prob梯度与log-pi梯度的关系： \\begin{aligned} \\nabla_\\theta \\log P(\\tau \\mid \\theta) =\\sum_{t=0}^T \\nabla_\\theta \\log \\pi_\\theta\\left(a_t \\mid s_t\\right) \\end{aligned}\n  * 【策略梯度公式的直观解释】\n\n\n\\nabla_\\theta J\\left(\\pi_\\theta\\right) =\\underset{\\tau \\sim \\pi_\\theta}{\\mathrm{E}}\\left[\\nabla_\\theta \\log P(\\tau \\mid \\theta) R(\\tau)\\right]\n    * 第一项： \\nabla_\\theta \\log P(\\tau \\mid \\theta) 是一个方向向量，其方向是 \\log P(\\tau \\mid \\theta) 对于参数 \\theta 变化最快的方向，参数在这个方向上更新可以增大或者降低 \\log P(\\tau \\mid \\theta) ，也就是能增大或者降低轨迹 \\tau 的概率 P(\\tau \\mid \\theta) 。\n    * 第二项： R(\\tau) 是一个标量，在策略梯度中作为向量 \\nabla_\\theta \\log P(\\tau \\mid \\theta) 的更新幅值， R(\\tau) 越大，向量的幅值越大，轨迹 \\tau 出现的概率 P(\\tau \\mid \\theta) 在参数更新后会更大。因此，策略梯度的直观含义是通过增大高回报轨迹的概率+降低低回报轨迹的概率，来最大化累计回报。\n\n\n**[Actor-Critic框架](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=Actor-Critic%E6%A1%86%E6%9E%B6&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJBY3Rvci1Dcml0aWPmoYbmnrYiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.Nz7JPlWjPjXhilixYr2_oWpF8Z6o4K_UHxYxatiNb18&zhida_source=entity) （以PPO为例）**\n  * \\nabla_\\theta J\\left(\\pi_\\theta\\right) =\\underset{\\tau \\sim \\pi_\\theta}{\\mathrm{E}}\\left[\\sum_{t=0}^T \\nabla_\\theta \\log \\pi_\\theta\\left(a_t \\mid s_t\\right) R(\\tau)\\right] 中的轨迹回报R(\\tau) 的计算方式：\n\n\n  1. 轨迹的总回报： \\Sigma_{t=0}^{\\infty} r_t\n  2. 动作后的回报： \\Sigma_{t^{\\prime}=t}^{\\infty} r_{t^{\\prime}}\n  3. 加入基线的形式： \\Sigma_{t^{\\prime}=t}^{\\infty} r_{t^{\\prime}}-b\\left(s_t\\right) 【Expected Grad-Log-Prob (EGLP) 引理，合理的b可减小方差】\n  4. 状态-行为值函数： Q^\\pi\\left(s_t, a_t\\right)\n  5. 优势函数： A^\\pi\\left(s_t, a_t\\right)\n  6. TD残差： r_t+V^\\pi\\left(s_{t+1}\\right)-V^\\pi\\left(s_t\\right)\n\n\n1~3：直接应用轨迹的回报累积回报，无偏，但是由于需要累积多步的回报，因此**方差大** 。  \n4~6: 利用动作值函数，优势函数、TD偏差、GAE代替累积回报，其优点是方差小，但是这三种方法都属于用近似函数估计值，因此计算出来的策略梯度都存在**偏差** 。\n    * GAE（ _generalized advantage estimator_ ）：**平衡TD方法引入的偏差与MC方法带来的方差** ，公式如下\n\n\n![](../images/006.jpg)\n      * **近似的GAE** ，对k步的估计做了加权\n\n\n这种结合了近似估计轨迹回报的策略优化方式称为AC方法，此时， \\pi_\\theta\\left(a_t \\mid s_t\\right) 称为Actor, 对 R(\\tau) 的估计函数称为Critic。\n  * PPO(Proximal Policy Optimization)：  \n\n    * TRPO，一种基于[信赖域](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E4%BF%A1%E8%B5%96%E5%9F%9F&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLkv6HotZbln58iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9._CRN-9vxIIXflly_SqulqJwMEiYH1U35z62lLlfdTUA&zhida_source=entity)的策略优化算法，解决普通的策略梯度算法无法保证**性能单调非递减** 而提出来的方法。也就是说，**普通的策略梯度算法无法解决更新步长的问题** ，对于普通的策略梯度方法，如果更新步长太大，则容易发散；如果更新步长太小，即使收敛，收敛速度也很慢。  \n\n      * 解决方案：替代损失函数（Surrogate loss），约束了策略更新，更稳收敛\n\n\n![](../images/007.jpg)\n    * PPO在具体实现上做了简化：  \n\n      * L^{C P I}(\\theta)=\\hat{\\mathbb{E}}_t\\left[\\frac{\\pi_\\theta\\left(a_t \\mid s_t\\right)}{\\pi_{\\theta_{\\text {old }}}\\left(a_t \\mid s_t\\right)} \\hat{A}_t\\right]=\\hat{\\mathbb{E}}_t\\left[r_t(\\theta) \\hat{A}_t\\right] with **ratio 裁剪**  \n\n        * ratio: \\frac{\\pi_\\theta\\left(a_t \\mid s_t\\right)}{\\pi_{\\theta_{\\text {old }}}\\left(a_t \\mid s_t\\right)} 作为importance sampling系数，矫正由于不同策略下优势函数估计分布的偏差，当两分布差异过大时，importance sampling的近似估计会有较大误差。\n\n\n![](../images/008.jpg)\n![](../images/009.jpg)\n      * L^{C L I P}(\\theta)=\\hat{\\mathbb{E}}_t\\left[\\min \\left(r_t(\\theta) \\hat{A}_t, \\operatorname{clip}\\left(r_t(\\theta), 1-\\epsilon, 1+\\epsilon\\right) \\hat{A}_t\\right)\\right]\n\n\n![](../images/010.jpg)\n    * 代码实现\n\n\n\n```\n    def actor_loss_fn(self, logprobs, old_logprobs, advantages, mask):\n        ## policy gradient loss\n        log_ratio = (logprobs - old_logprobs) * mask\n        ratio = torch.exp(log_ratio)\n        pg_loss1 = -advantages * ratio\n        pg_loss2 = -advantages * torch.clamp(ratio, 1.0 - self.cliprange,\n                                             1.0 + self.cliprange)\n        pg_loss = torch.sum(torch.max(pg_loss1, pg_loss2) * mask) / mask.sum()\n        return pg_loss\n\n    def get_advantages_and_returns(self, values, rewards, start):\n        lastgaelam = 0\n        advantages_reversed = []\n        length = rewards.size()[-1]\n        for t in reversed(range(start, length)):\n            nextvalues = values[:, t + 1] if t < length - 1 else 0.0\n            delta = rewards[:, t] + self.gamma * nextvalues - values[:, t] # TD 残差\n            lastgaelam = delta + self.gamma * self.lam * lastgaelam  # GAE\n            advantages_reversed.append(lastgaelam)\n        advantages = torch.stack(advantages_reversed[::-1], dim=1)\n        returns = advantages + values[:, start:]\n        return advantages.detach(), returns\n    def critic_loss_fn(self, values, old_values, returns, mask):\n        ## value loss\n        values_clipped = torch.clamp(\n            values,\n            old_values - self.cliprange_value,\n            old_values + self.cliprange_value,\n        )\n        vf_loss1 = (values - returns)**2\n        vf_loss2 = (values_clipped - returns)**2\n        vf_loss = 0.5 * torch.sum(\n            torch.max(vf_loss1, vf_loss2) * mask) / mask.sum()\n        return vf_loss\n```\n\nPPO小结：  \n[ppo](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=ppo&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJwcG8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.B0xHOxtCDTcVRB77_JG42EJUcF-beQTlvKNTltcbuLk&zhida_source=entity)(proximal policy optimization)通过优化一个upper bound来更新策略，在保证performance接近的情况下，限制步长的移动，对子问题逐步优化，理论上更容易得到单调递增的策略。\n### RL应用场景适合性判断\n  1. 是否有**reward delay/sparse reward** 问题？\n    1. 如果每次预测都有非常准确的密集反馈（**dense reward** ）作为Ground Truth，**单步的最优解就是全局最优解时，一般SL便能解决问题** ；反之，如果GT反馈信号存在delay问题，即当前决策的好坏由未来的某个反馈评估，则适合尝试RL。\n  2. GT的标注成本过大？\n    1. 某些情况下，虽然可以枚举GT，但**枚举空间过大** ，需要人工逐字逐句改写，但**评估GT好坏的准则较为简单、可实现** ，则可以通过构建RM（准召要够），基于RL的流程逐步引导最优策略的学习。\n\n\n## RLHF in NLP\nNatural Language Policy Optimization (NLPO) 自然语言策略优化\n![](../images/011.jpg)\n更大的语言模型并不意味着更服从用户意图，可能生成不真实、有毒或对用户毫无帮助的输出。这是因为最近许多大型 LM 使用的语言建模目标“从互联网预测网页上的下一个token”与“有效且安全地遵循用户的指令”的目标不同，常用的评估指标基于规则的文本生成指标 (如 _[BLEU](https://link.zhihu.com/?target=https%3A//en.wikipedia.org/wiki/BLEU)_ 和 _[ROUGE](https://link.zhihu.com/?target=https%3A//en.wikipedia.org/wiki/ROUGE_%28metric%29)_)，没有显式地引入人的偏好和主观意见，导致目标没对齐（objective _[misaligned](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=misaligned&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJtaXNhbGlnbmVkIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM2OTEzNjI2LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.pdEZT2w_StsFd4DjkaG4kEe_5Y8KFTZ3q5_4Rmfp_i4&zhida_source=entity)_ ）。   \n研究者尝试使用更主观的人类评价作为优化引导，基于RL去优化LLM中的alignment问题，使模型生成内容的流畅性和语法的正确性的同时，兼顾到人类对生成内容的有用性、真实性和无害性的偏好。\n### InstructGPT原理与训练流程\n![](../images/012.jpg)\n![](../images/013.jpg)\n1、监督式微调LM（SFT）\n![](../images/014.jpg)\n  * 注：instruct gpt实操时，是根据验证集上的 RM 分数进行最终的 SFT 模型挑选。 因为实验发现我们的 SFT 模型在 1 个[epoch](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=epoch&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJlcG9jaCIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzNjkxMzYyNiwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.rodqKbAJ5JLr69-rznvu9en2VedMJ2XIP2-5MuTA_0Q&zhida_source=entity)后对验证损失过拟合；尽管过拟合，但更多epoch的训练对 RM 得分和人类偏好都有帮助。\n\n\n2、Reward 建模（RM) \n![](../images/015.jpg)\n    1. 注：instruct gpt实操采用6B RM，因为这样可以节省大量计算量，并发现 175B RM 训练可能不稳定，因此也不太适合用作 RL 的价值函数\n    2. 比较数据集收集方式：生成 C^2_K 对回复共人类打标，并将一条prompt对应的pair作为一个batch的元素。从而使得只训一个epoch时，K对比较数据只会过一次RM，进而避免模型过拟合，实验验证效果较好。\n    3. Loss function of RM：\n\n\n![](../images/016.jpg)\n  * **注1** ：由于 RM 损失不会因为奖励的shift而变化，因此在RL使用RM前需要对reward 做normalization，以便打标数据的均值为0。\n  * **注2** ：RM的选择一般基于LLM改造，例如 OpenAI 【 175B 的 LM 和 6B 的 RM】，Anthropic 【 10B 到 52B 的LM 和 RM 】，DeepMind 【70B 的 Chinchilla 模型分别作为 LM 和 RM】。一种直觉是，偏好模型和生成模型需要具有类似的能力来理解提供给它们的文本。\n\n\n3、PPO微调 LM（RL）\n  \n\n![](../images/017.jpg)\n    1. 关键概念对齐\n      1. 策略 (policy) ：一个接受prompt并返回一系列文本 (或文本的[概率分布](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E6%A6%82%E7%8E%87%E5%88%86%E5%B8%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLmpoLnjofliIbluIMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.4XjjlNZG7zK7TL2LX24VUFf4yJsRmc8pq9onutYTNVk&zhida_source=entity)) 的 LM\n      2. 行动空间 (action space) ： LM 的词表对应的所有token\n      3. 观察空间 (observation space) ：可能的输入token序列\n      4. 奖励函数（reward model）：偏好模型和**策略转变约束 (Policy shift constraint)** 的结合\n    2. PPO-ptx与PPO的不同：\n      1. **reward上加了约束惩罚** ，以避免策略过于发散；\n      2. **加了pretrain loss** 以保证LM被RL之后在原始benchmark上的表现不要掉。\n      3. 实践体感：pretrain loss对alignment没有太大帮助（有问题欢迎指出）\n    3. 损失函数\n\n\n\\begin{aligned} \\text { objective }(\\phi)= & E_{(x, y) \\sim D_{\\pi_\\phi^{\\mathrm{RL}}}}\\left[r_\\theta(x, y)-\\beta \\log \\left(\\pi_\\phi^{\\mathrm{RL}}(y \\mid x) / \\pi^{\\mathrm{SFT}}(y \\mid x)\\right)\\right]+ \\\\\\ & \\gamma E_{x \\sim D_{\\text {pretrain }}}\\left[\\log \\left(\\pi_\\phi^{\\mathrm{RL}}(x)\\right)\\right] \\end{aligned}\n### RLHF主流代码库\n**[TRLX](https://link.zhihu.com/?target=https%3A//github.com/CarperAI/trlx)（**使用前建议确认下最新版实现方式是否有修改&&是否满足自身需求**）**  \n该代码库之前没有完全按照InstructGPT思路来，主要体现在：\n  1. RM和Critic模型没有同质：在InstructGPT中，是使用RM来初始化Critic网络，SFT model初始化Actor网络；但在TRLX具体实现中，使用了SFT model同时作为Actor和Critic的初始化。\n    1. Tips：训练时需要注意将critic loss的权重适当加大，保证RL训练初期主要是在优化critic网络。在Critic学习到较稳定后，再学习Actor网络，从而避免前期Critic还未稳定下对Actor有优化上的太大误导。\n  2. 没有加入Pretrain Loss：但实践之下没有太大的影响Policy的训练收敛性。\n\n\n实践时出现的现象：\n  * 曾使用该代码库有在几种应用场景下都曾出现训练后期**reward分数骤降** 问题，但不影响训练中期reward的正常收敛。考虑有可能是因为没有附加pretrain loss的问题，如果有同学遇到相似问题或者有任何其他考虑，欢迎讨论～\n\n\n**DeepSpeed-Chat**  \n该代码库是微软官方出的，整体思路选择和InstructGPT基本一致  \n\n![](../images/018.jpg)\n**其他**\n  * PKU：[https://github.com/PKU-Alignment/safe-rlhf/tree/main](https://link.zhihu.com/?target=https%3A//github.com/PKU-Alignment/safe-rlhf/tree/main)\n  * MOSS：[https://github.com/OpenLMLab/MOSS-RLHF](https://link.zhihu.com/?target=https%3A//github.com/OpenLMLab/MOSS-RLHF)\n  * ColossalAI：[https://github.com/hpcaitech/ColossalAI](https://link.zhihu.com/?target=https%3A//github.com/hpcaitech/ColossalAI) （更新逐渐趋于稳定）\n\n\n![](../images/019.jpg)\n### RM训练数据的打标探索\n一般从哪些角度评价一条response是“helpful/truthful/harmless”？[[PUBLIC] InstructGPT: Final labeling instructions](https://link.zhihu.com/?target=https%3A//docs.google.com/document/d/1MJCqDNjzD04UbcnVZ-LmeXJ04-TKEICDAepXyMCBUb8/edit)给出了标注指南\n  \n**打标流程**  \n对于每条输入指令，标签将由 3 部分组成：\n  1. **打标instruction** ： 标记指令属性，包括PII/Tag/Closed domain/User intent is unclear等，以便构建prompt库。\n  2. **打标AI 模型输出** ： 对于 AI 模型的每个输出，给出 1-7 的评分+判断其是否包含暴力或色情内容等。\n  3. **排序 AI 模型输出** ： 您将对输出从最好到最差进行排名，包括平局。\n\n\n![](../images/020.jpg)\n*具体细节详见标注指南\n  \n**采用人工or模型打标**  \n因为人类打标一致性统一存在难度， _[基础大模型能像人类一样标注数据吗？](https://link.zhihu.com/?target=https%3A//security.feishu.cn/link/safety%3Ftarget%3Dhttps%253A%252F%252Fhuggingface.co%252Fblog%252Fzh%252Fllm-leaderboard%26scene%3Dccm%26logParams%3D%257B%2522location%2522%253A%2522ccm_default%2522%257D%26lang%3Dzh-CN)_ 一文中探索了利用模型代替人类进行打标的表现\n  * 人工打标：\n\n\n![](../images/021.jpg)\n![](../images/022.jpg)\n  * 模型（GPT-4）打标：几个待评测模型的顺序不变，但相对的间隔变了。存在位置偏差\n\n\n![](../images/023.jpg)\n![](../images/024.jpg)\n》使用的prompt：\n\n```\nQuestion\n{question}\n\nThe Start of Assistant 1's Answer\n{answer_1}\nThe End of Assistant 1's Answer\n\nThe Start of Assistant 2's Answer\n{answer_2}\nThe End of Assistant 2's Answer\n\nSystem\nWe would like to request your feedback on the performance of two AI assistants in response to the user question displayed above.\nPlease compare the helpfulness, relevance, accuracy, level of details of their responses.\nThe rating[](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=rating&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJyYXRpbmciLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.iYad3wZ4uL33Rc5Lg3PTfFPTtorS4XJ5VqgfREp4LK4&zhida_source=entity) should be from the set of 1, 2, 3, 4, 5, 6, 7, or 8, where higher numbers indicated that Assistant 2 was better than Assistant 1.\nPlease first output a single line containing only one value indicating the preference between Assistant 1 and 2.\nIn the subsequent line, please provide a brief explanation of your evaluation, avoiding any potential bias and ensuring that the order in which the responses were presented does not affect your judgment.\n```\n\n论文 __[How Far Can Camels Go?](https://link.zhihu.com/?target=https%3A//arxiv.org/abs/2306.04751)__ 展示了导致GPT-4 过高打分的潜在迹象: 多样性和回答的长度\n问题发现小结：\n  * GPT-4 存在**位置偏差** ，当我们使用 1 到 8 分 范围，两两对比模型偏差时，GPT-4 倾向于给第一个模型更高分。\n  * 在提示语中要求 GPT-4 不要保留这种位置偏差，会导致模型偏向另一边，但不会像上述情况那么差。\n  * 针对事实性和有用性的回答上，**GPT-4 更倾向于偏好那些用 InstructGPT、GPT-4、ChatGPT 生成的数据训练的模型。** 比如，在人类手写的输出方面，GPT-4 更倾向 Vicuna 和 Alpaca。\n  * GPT-4 和人工评价者在评价非编程任务时，有着 0.5 左右的正相关性; 而对于编程任务，仍保持正相关，但数值远没有那么高。\n  * 如果我们按任务类型看，**人类和 GPT-4 的相关性在”高熵“任务 (如头脑风暴和生成类任务) 中相关性最高** ，而在编程类任务中相关性低。\n\n\n### 更多RLHF框架  \n多粒度RLHF\nInstruct GPT的reward是response粒度的，但一段回答质量的好坏有时不是整体评估的，比如敏感词不该出现，回复中某段存在事实性错误。将reward全部delay到response尾部再给出会增加RL的学习难度。  \n[ FINE-GRAINED RLHF](https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2306.01693.pdf)\n![](../images/025.jpg)\n![](../images/026.jpg)\n  * **注** ：采取细粒度的RLHF时，RM需要细粒度的训练。\n  * **注** ：多粒度，该论文是做了sentence级别的粒度。其实，token粒度/span粒度/response粒度都可以做，但需要关注下细粒度RM的推理耗时，对应打标方式也需对齐，注意RL优化时reward的位置和log-prob的位置对齐（如TRLX/trlx/trainer/accelerate_ppo_trainer.py中start&ends）！\n\n\n**多目标RLHF**\n由于不同场景有不同的业务目标（回答质量/安全性/业务逻辑等），方案：\n  1. 解耦不同RM单独学习，然后RL时同时调用，并进行加权\n    1. 优：单独RM可在不同场景下复用，只需要调节RM之间的权重；\n    2. 缺：需要再开GPU存放更多的RM，以及gpu之间通讯同步。\n  2. 多目标的打标，训rm时直接使用加权分，每个场景需要单独训练。\n\n\n## RLHF是必须的吗？\n强化学习的短板：\n  1. 基于反馈进行学习训练，可能存在“**奖励破解** ”的问题，即通过卡reward设计上的漏洞，导致虽然获取更高的奖赏，但效果并没有真正的优化。\n  2. 在训练过程中，代理模型需要和生成式模型进行不断交互，而这一过程可能非常**耗时且效率不高** 。\n  3. **价值模型本身并无和人类思考模型上明显的对应** 。我们脑海中并没有一个单独的打分模型，而且实际上长期维护一个固定的打分标准也非常困难。相反，我们的成长过程中价值判断的形成大部分来自每天的交互 —— 通过对相似场景的不同交互反馈的分析，我们逐渐意识到什么是会被鼓励的，什么是不允许的。\n\n\n### RRHF\n[源码链接](https://link.zhihu.com/?target=https%3A//github.com/GanjinZero/RRHF)，[论文链接](https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2304.05302.pdf)\n![](../images/body-8aed97b3cf03a7fb8057.jpg)\n    1. **整体训练流程：**\n      1. 基于prompt库，生成得到多个表现不一的回复。\n      2. 对多条回复进行RM inference得到具体反馈。\n      3. rank loss：按照反馈优劣构造对比pair作为训练数据；ft loss：选取最优回复作为训练数据。\n    2. **损失函数设计：**\n\n\n  * rank loss function\n\n\n![](../images/body-1011bf2be7acd7f61da8.jpg)\n![](../images/body-f446ea4e9d917c8862c0.jpg)\n    * fine-tuning loss function （sft）\n\n\n![](../images/027.jpg)\n    * total loss\n\n\n![](../images/body-27b219136b138971e276.jpg)\n    * **loss function 特点分析：**\n      * 优点：rank loss function 做为一种对比学习方式和sft loss function结合，以期望达到align到最优回复的同时，拉低较差回复的生成概率。\n      * 缺点：但与可以细粒度奖赏的RL方式不同，这种对比学习的方式无法细粒度的区分出具体哪句话导致整体回复较差，优化方向需要模型自行根据训练数据比对分析，较不直接。\n\n\n### **Stable Alignment**\n[源码链接](https://link.zhihu.com/?target=https%3A//github.com/agi-templar/Stable-Alignment)，[论文链接](https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2305.16960.pdf)，[模型下载](https://link.zhihu.com/?target=https%3A//huggingface.co/agi-css)   \n讲解：[10行代码媲美RLHF，用社交游戏数据训练社会对齐模型](https://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s/ee_GqiJtnJwgWS-3zw0qmA)\n![](../images/028.jpg)\n  * 目标函数：\n\n\n![](../images/body-104580508263fe569484.jpg)\n    * 中心思想：**SFT** 的同时，**拉开最优回复和其他回复的分布** ，且加入**动态margin** ，迫使分数差别越大的两条回复，loss需要拉的更大\n\n\n> the margin between the SFT loss and the loss from lower-rated responses increases proportionally to the distance from the highest rating. This implies the model must strive harder to unlearn lower-rated responses, while simultaneously learning from the highest-rated ones.\n      * 注意，一个mini-batch下，只有一条prompt，才能保证rating的可比性\n  * 算法流程：\n\n\n![](../images/029.jpg)\n### **DPO**\n![](../images/030.jpg)\n[rookiemango：天下苦RLHF久矣！来看看不同的训练方式！Direct Preference Optimization, Your Language Model is Secretly a Reward Model](https://zhuanlan.zhihu.com/p/633539131)\n![](../images/body-316bf06406f79a2dee27.jpg)\n### 小结\n以上的方法其中心思想都是利用对比学习代替交互式的强化学习来拉开优劣回复的概率分布，整体思想与[Generative adversarial imitation learning](https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1606.03476.pdf)（NIPS 2016）的主要motivation大体相似，GAIL有给出相应的理论证明其有效性。\n![](../images/body-dbc8e3099ccafcab0cb3.jpg)\n但是上述的方案还是按照response的粒度进行拉开好坏结果的生成分布，而无法像RL那样做进一步细粒度的优化。主要成本在于细粒度对比学习需要细粒度的改写，标注成本较大。\n## 参考\n  1. [lecture16-guest.pdf](https://link.zhihu.com/?target=https%3A//web.stanford.edu/class/archive/cs/cs224n/cs224n.1184/lectures/lecture16-guest.pdf)\n  2. [ [PUBLIC] InstructGPT: Final labeling instructions](https://link.zhihu.com/?target=https%3A//docs.google.com/document/d/1MJCqDNjzD04UbcnVZ-LmeXJ04-TKEICDAepXyMCBUb8/edit%23heading%3Dh.21o5xkowgmpj)\n  3. [ [External] Open LLM Leaderboard Human Labeling Instructions](https://link.zhihu.com/?target=https%3A//docs.google.com/document/d/1c5-96Lj-UH4lzKjLvJ_MRQaVMjtoEXTYA4dvoAYVCHc/edit%23heading%3Dh.bffss2ayx8qg)\n  4. [Can foundation models label data like humans?](https://link.zhihu.com/?target=https%3A//huggingface.co/blog/zh/llm-leaderboard)\n  5. [Let’s Verify Step by Step](https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2305.20050.pdf)\n\n\n发布于 2023-11-29 15:42・浙江\n[深度学习（Deep Learning）](https://www.zhihu.com/topic/19813032)\n[自然语言处理](https://www.zhihu.com/topic/19560026)\n[强化学习 (Reinforcement Learning)](https://www.zhihu.com/topic/20039099)\n​赞同 56​​5 条评论​83 ​11 \n​分享\n​申请转载​\n​\n![](../images/body-7e064b35ba4350074989.jpeg)\n未登录用户\n  \n\n5 条评论\n默认\n最新\n[![Yuuu](../images/031.jpg)](https://www.zhihu.com/people/d3a631972c67924e1d335c8993f08d5b)\n[Yuuu](https://www.zhihu.com/people/d3a631972c67924e1d335c8993f08d5b)\n补充一个参考链接：[俞扬：DPO替代RLHF可造成多一倍的性能损失](https://zhuanlan.zhihu.com/p/673047773)\n2023-12-20 · 北京\n​回复​1\n[![Autumn](../images/032.jpg)](https://www.zhihu.com/people/981eddd0b6d2ea7d262ee1e2cd2d1360)\n[Autumn](https://www.zhihu.com/people/981eddd0b6d2ea7d262ee1e2cd2d1360)\n学习了，“无法细粒度的区分出具体哪句话导致整体回复较差”，那么是不是可以人工标注出具体那一段比较差，然后用一种方式去训练模型会更好呢？\n2023-11-30 · 北京\n​回复​喜欢\n[![许婧](../images/033.jpg)](https://www.zhihu.com/people/0bda6a3615e0277d5694acf44022b62a)\n[许婧](https://www.zhihu.com/people/0bda6a3615e0277d5694acf44022b62a)\n作者​![](../images/body-ce088339e12c259915b9.png)\n嗯嗯是的，不过细粒度的标注就需要对应细粒度的rlhf。相当于从response reward回归到rl原来的step reward了，或者改为多粒度奖赏的rl。\n2023-11-30 · 浙江\n​回复​喜欢\n展开其他 1 条回复​\n[![何枝](../images/034.jpg)](https://www.zhihu.com/people/61ce0376d0bc91b39ea4b06ae95a871d)\n[何枝](https://www.zhihu.com/people/61ce0376d0bc91b39ea4b06ae95a871d)\n赞![\\[赞同\\]](https://pic2.zhimg.com/v2-419a1a3ed02b7cfadc20af558aabc897.png)\n2023-11-30 · 北京\n​回复​喜欢\n关于作者\n[![许婧](../images/035.jpg)](https://www.zhihu.com/people/xu-jing-11-59)\n[许婧](https://www.zhihu.com/people/xu-jing-11-59)\n程序员\n[​](https://zhuanlan.zhihu.com/p/96956163)\n北京大学 数据科学硕士\n[ 回答 **1** ](https://www.zhihu.com/people/xu-jing-11-59/answers)[ 文章 **1** ](https://www.zhihu.com/people/xu-jing-11-59/posts)[ 关注者 **59** ](https://www.zhihu.com/people/xu-jing-11-59/followers)\n​关注她​发私信\n大家都在搜\n换一换\n[江歌妈妈发长文尘埃终将落定706 万](https://www.zhihu.com/search?q=%E6%B1%9F%E6%AD%8C%E5%A6%88%E5%A6%88%E5%8F%91%E9%95%BF%E6%96%87%E5%B0%98%E5%9F%83%E7%BB%88%E5%B0%86%E8%90%BD%E5%AE%9A&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[中国男足 0-5 巴勒斯坦564 万](https://www.zhihu.com/search?q=%E4%B8%AD%E5%9B%BD%E7%94%B7%E8%B6%B3+0-5+%E5%B7%B4%E5%8B%92%E6%96%AF%E5%9D%A6&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[原央视主持人阿丘回应被通报422 万](https://www.zhihu.com/search?q=%E5%8E%9F%E5%A4%AE%E8%A7%86%E4%B8%BB%E6%8C%81%E4%BA%BA%E9%98%BF%E4%B8%98%E5%9B%9E%E5%BA%94%E8%A2%AB%E9%80%9A%E6%8A%A5&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[华为与赛力斯达成新五年合作411 万](https://www.zhihu.com/search?q=%E5%8D%8E%E4%B8%BA%E4%B8%8E%E8%B5%9B%E5%8A%9B%E6%96%AF%E8%BE%BE%E6%88%90%E6%96%B0%E4%BA%94%E5%B9%B4%E5%90%88%E4%BD%9C&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[迪拜航空确认航班发生事故400 万](https://www.zhihu.com/search?q=%E8%BF%AA%E6%8B%9C%E8%88%AA%E7%A9%BA%E7%A1%AE%E8%AE%A4%E8%88%AA%E7%8F%AD%E5%8F%91%E7%94%9F%E4%BA%8B%E6%95%85&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[东航回应网传空姐跪地道歉327 万](https://www.zhihu.com/search?q=%E4%B8%9C%E8%88%AA%E5%9B%9E%E5%BA%94%E7%BD%91%E4%BC%A0%E7%A9%BA%E5%A7%90%E8%B7%AA%E5%9C%B0%E9%81%93%E6%AD%89&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)\n[王楚钦：不知道为什么就是感觉累320 万](https://www.zhihu.com/search?q=%E7%8E%8B%E6%A5%9A%E9%92%A6%EF%BC%9A%E4%B8%8D%E7%9F%A5%E9%81%93%E4%B8%BA%E4%BB%80%E4%B9%88%E5%B0%B1%E6%98%AF%E6%84%9F%E8%A7%89%E7%B4%AF&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[江苏高考作文《衬衫的价格为 9 磅 15 便士》爆火268 万](https://www.zhihu.com/search?q=%E6%B1%9F%E8%8B%8F%E9%AB%98%E8%80%83%E4%BD%9C%E6%96%87%E3%80%8A%E8%A1%AC%E8%A1%AB%E7%9A%84%E4%BB%B7%E6%A0%BC%E4%B8%BA+9+%E7%A3%85+15+%E4%BE%BF%E5%A3%AB%E3%80%8B%E7%88%86%E7%81%AB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)\n[女装网店开始用防拆带了265 万](https://www.zhihu.com/search?q=%E5%A5%B3%E8%A3%85%E7%BD%91%E5%BA%97%E5%BC%80%E5%A7%8B%E7%94%A8%E9%98%B2%E6%8B%86%E5%B8%A6%E4%BA%86&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)\n[孕妇骑车别车被司机踹翻258 万](https://www.zhihu.com/search?q=%E5%AD%95%E5%A6%87%E9%AA%91%E8%BD%A6%E5%88%AB%E8%BD%A6%E8%A2%AB%E5%8F%B8%E6%9C%BA%E8%B8%B9%E7%BF%BB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)\n### 推荐阅读\n# [强化学习和NLP 在上一篇文章讲 文字存储到大模型量化之后，本来想写多模态或者损失函数的内容，但是最近因为DeepSeek R1的原因，我又去找了之前学RL的视频，记录了点强化学习的内容。想说写下来以后就不容… 钱慕 ](https://zhuanlan.zhihu.com/p/28906249122)[ ![强化学习在NLP和推荐系统中的应用简介](../images/037.jpg)强化学习在NLP和推荐系统中的应用简介 最AI的小...发表于平安寿险A... ](https://zhuanlan.zhihu.com/p/143403724)[ ![LSTM之父最新力作：颠倒强化学习，用监督学习解决RL问题](../images/039.jpg)LSTM之父最新力作：颠倒强化学习，用监督学习解决RL问题 新智元发表于AI前沿研... ](https://zhuanlan.zhihu.com/p/96767839)[ ![RL突破通用领域推理瓶颈！清华NLP实验室提出基于参考概率奖励的强化学习RLPR](../images/body-e303f8bc3bb6ca0c4e9e.jpg)RL突破通用领域推理瓶颈！清华NLP实验室提出基于参考概率奖励的强化学习RLPR 青稞AI发表于青稞·论文... ](https://zhuanlan.zhihu.com/p/1921229017350148129) \n\n_想来知乎工作？请发送邮件到 jobs@zhihu.com_\n打开知乎App\n在「我的页」右上角打开扫一扫\n![](../images/body-0f9788d006ab0f4da762.png)\n其他扫码方式：微信\n下载知乎App\n无障碍模式\n验证码登录\n密码登录\n[开通机构号](https://zhuanlan.zhihu.com/org/signup)\n中国 +86\n获取短信验证码\n忘记密码\n登录/注册\n其他方式登录\n未注册手机验证后自动登录，注册即代表同意[《知乎协议》](https://www.zhihu.com/term/zhihu-terms)[《隐私保护指引》](https://www.zhihu.com/term/privacy)\n扫码下载知乎 App\n关闭二维码\n",
  "metadata": {
    "title": "RL in NLP：强化学习在自然语言处理下的应用 - 知乎",
    "description": "本文目标强化学习简介：从相关RL理论出发，介绍RLHF中PPO的loss function各项意义RLHF in NLP：介绍instruct GPT训练流程，关注RLHF部分的开源代码/数据集构造指南/其他框架向优化（多粒度/多目标）RLHF是必须的吗…",
    "keywords": "深度学习（Deep Learning）,自然语言处理,强化学习 (Reinforcement Learning)",
    "author": null,
    "og:title": "RL in NLP：强化学习在自然语言处理下的应用",
    "og:url": "https://zhuanlan.zhihu.com/p/669524673",
    "og:description": "本文目标强化学习简介：从相关RL理论出发，介绍RLHF中PPO的loss function各项意义RLHF in NLP：介绍instruct GPT训练流程，关注RLHF部分的开源代码/数据集构造指南/其他框架向优化（多粒度/多目标）RLHF是必须的吗…",
    "og:image": "https://pic1.zhimg.com/v2-16677042e2c00440b27b4f6c9a11f858_720w.jpg?source=172ae18b",
    "og:type": "article",
    "og:site_name": "知乎专栏"
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": true,
    "status_code": 200,
    "error": ""
  },
  "code_blocks": [
    {
      "language": "txt",
      "file": "attachments/828ac3ce8634/code/block_000.txt",
      "chars": 1581
    },
    {
      "language": "txt",
      "file": "attachments/828ac3ce8634/code/block_001.txt",
      "chars": 1279
    }
  ],
  "images": [
    {
      "status": "http_403",
      "url": "https://zhuanlan.zhihu.com/p/669524673",
      "src": "https://zhuanlan.zhihu.com/p/669524673",
      "alt": "",
      "downloaded": false,
      "discovery": "saved_markdown",
      "retried_at": "2026-10-20T17:36:16Z"
    }
  ],
  "audio": [],
  "videos": [],
  "links": [
    {
      "type": "internal",
      "href": "https://www.zhihu.com"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/signin?next=%2Ffollow"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/signin?next=%2F"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/signin?next=%2Fhot"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/signin?next=%2Fcolumn-square"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/signin?next=%2Fring-feeds"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/project-square"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/fiore/h5/vip-web"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/column/c_1713923411963916288"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/people/xu-jing-11-59"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/question/48510028"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=PPO&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJQUE8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.U55w204W9yRXYQX52f3BErhtsM4bbcqdrNa0ia3p1c8&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=instruct+GPT&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJpbnN0cnVjdCBHUFQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.WBH31rihpkyYRGujYgDSJdeTO7evxEqcwSlhWsOQDxc&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E5%A4%9A%E7%9B%AE%E6%A0%87&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLlpJrnm67moIciLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.t6V8k_kRu9tXt4dsDpia7L8WFo69eCezjJSEgXMjuRA&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E7%AE%97%E6%B3%95&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLnrpfms5UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.bTY0CP0ka4fW4md8dNsb3Ljv3F9q7MbD54mbUdmAFxw&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E5%AE%8C%E7%BE%8E%E4%BF%A1%E6%81%AF&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLlroznvo7kv6Hmga8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.eOFvwTAeePxyE_MPf6fUE09rKwY6Rk6YHX8M8xLQK7I&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E9%A2%84%E6%9C%9F%E6%94%B6%E7%9B%8A&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLpooTmnJ_mlLbnm4oiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.Py-LevMQAuw62zNSOvRoNpL1kEUIPu8BpzOslWoxeuM&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E6%9C%80%E4%BC%98%E7%AD%96%E7%95%A5&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLmnIDkvJjnrZbnlaUiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.VFe3oHTXG6NG9UgzHjpzvI5HWzLA2-q2ANuVYvlFYq8&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E8%B4%9D%E5%B0%94%E6%9B%BC%E6%96%B9%E7%A8%8B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLotJ3lsJTmm7zmlrnnqIsiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.jOdk6FplBAdxDNMzO0fqZU8dHj9SlINlmf77c0dJvUY&zhida_source=entity"
    },
    {
      "type": "external",
      "href": "javascript:void(0)"
    }
  ],
  "repair_version": 2,
  "repaired_at": "2026-10-20T17:23:09Z",
  "source_url": "https://zhuanlan.zhihu.com/p/669524673",
  "delivery_status": "unverified",
  "discovery_status": "http_403",
  "missing_reason": "源页面未重新核验:http_403；已按保留正文补采图片",
  "repair_error": "",
  "actual_video_files": [],
  "expected_saved_body_images": 1,
  "image_discovery": "saved_markdown",
  "source_body_markdown": "[![](https://zhuanlan.zhihu.com/p/669524673)](javascript:void\\(0\\))\n![ZhiHu logo](https://static.zhihu.com/heifetz/assets/wechat-share-logo.39ea9ecd.png)\n[](https://www.zhihu.com)\n[关注](https://www.zhihu.com/signin?next=%2Ffollow)[推荐](https://www.zhihu.com/signin?next=%2F)[热榜](https://www.zhihu.com/signin?next=%2Fhot)[专栏](https://www.zhihu.com/signin?next=%2Fcolumn-square)[圈子](https://www.zhihu.com/signin?next=%2Fring-feeds)[AI WorksBeta ](https://www.zhihu.com/project-square)[故事](https://www.zhihu.com/fiore/h5/vip-web)\n​\n[直答](https://zhida.zhihu.com/)\n切换模式\n登录/注册\nRL in NLP：强化学习在自然语言处理下的应用\n首发于[许婧的学习笔记](https://www.zhihu.com/column/c_1713923411963916288)\n切换模式\n![RL in NLP：强化学习在自然语言处理下的应用](https://pic1.zhimg.com/70/v2-16677042e2c00440b27b4f6c9a11f858_1440w.image?source=172ae18b&biz_tag=Post)\n# RL in NLP：强化学习在自然语言处理下的应用\n[![许婧](https://picx.zhimg.com/v2-69863ff56ea7dd5cc4d92ae9a4ce97d2_l.jpg?source=32738c0c&needBackground=1)](https://www.zhihu.com/people/xu-jing-11-59)\n[许婧](https://www.zhihu.com/people/xu-jing-11-59)\n[​![](https://picx.zhimg.com/v2-2ddc5cc683982648f6f123616fb4ec09_l.png?source=32738c0c)](https://www.zhihu.com/question/48510028)\n北京大学 数据科学硕士\n[收录于 · 许婧的学习笔记](https://www.zhihu.com/column/c_1713923411963916288)\n56 人赞同了该文章\n​\n目录\n## 本文目标\n  * **强化学习简介** ：从相关RL理论出发，介绍RLHF中[PPO](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=PPO&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJQUE8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.U55w204W9yRXYQX52f3BErhtsM4bbcqdrNa0ia3p1c8&zhida_source=entity)的loss function各项意义\n  * **RLHF in NLP** ：介绍[instruct GPT](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=instruct+GPT&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJpbnN0cnVjdCBHUFQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.WBH31rihpkyYRGujYgDSJdeTO7evxEqcwSlhWsOQDxc&zhida_source=entity)训练流程，关注RLHF部分的开源代码/数据集构造指南/其他框架向优化（多粒度/[多目标](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E5%A4%9A%E7%9B%AE%E6%A0%87&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLlpJrnm67moIciLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.t6V8k_kRu9tXt4dsDpia7L8WFo69eCezjJSEgXMjuRA&zhida_source=entity)）\n  * **RLHF是必须的吗？** ：介绍RLHF的“竞对”/“SL替身”[算法](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E7%AE%97%E6%B3%95&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLnrpfms5UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.bTY0CP0ka4fW4md8dNsb3Ljv3F9q7MbD54mbUdmAFxw&zhida_source=entity)\n\n\n## 强化学习简介\n强化学习（Reinforcement Learning）是一种时序决策学习框架，通过智能体和环境交互 at=π(ot)a_t=\\pi({o_t}) ，得到的奖励 rt=r(ot,at)r_t=r({o_t, a_t}) ，从而来优化策略 π\\pi ，使其能够在环境中自主学习。\n![](https://pic1.zhimg.com/v2-74e86ddbca825e89f36df96bd700c558_1440w.jpg)\n### 回顾关键概念\n以单智能体时序决策问题为例\n  * States and Observations\n    * 状态S：对于世界状态的完整描述\n    * 观测O：对于一个状态的部分描述，可能会缺失一些信息。当O=S时，称O为[完美信息](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E5%AE%8C%E7%BE%8E%E4%BF%A1%E6%81%AF&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLlroznvo7kv6Hmga8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.eOFvwTAeePxyE_MPf6fUE09rKwY6Rk6YHX8M8xLQK7I&zhida_source=entity)/**fully observed** ；O<S时，称O为非完美信息/**partially observed** 。\n  * Action Spaces 动作空间\n    * 离散动作空间：当智能体只能采取有限的动作，如下棋/文本生成\n    * 连续动作空间：当智能体的动作是实数向量，如机械臂转动角度\n\n\n其区别会影响policy网络的实现方式。\n  * Policy策略\n    * 确定性策略Deterministic Policy： a_t=\\mu(s_t) ，连续动作空间\n    * 随机性策略Stochastic Policy： a_t\\sim \\pi(\\cdot|s_t) ，离散动作空间\n  * 轨迹：指的是状态和行动的序列 \\tau=(s_0,a_0,s_1,a_1,...)\n    * **状态转换函数（transition function）：** s_{t+1}\\sim P(\\cdot|s_t,a_t)\n    * 初始状态是从初始状态分布中采样的，一般表示为 s_{0}\\sim \\rho(\\cdot)\n  * 奖赏函数： r_{t}\\sim R(s_t,a_t,s_{t+1}) / r_{t}\\sim R(s_t,a_t)\n    * 智能体的目标是**最大化行动轨迹的累计奖励** ： R(\\tau)=\\sum_{t=0}^{\\infty}\\gamma^tr_t\n  * 强化学习问题：选择一种策略从而最大化 **[预期收益](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E9%A2%84%E6%9C%9F%E6%94%B6%E7%9B%8A&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLpooTmnJ_mlLbnm4oiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.Py-LevMQAuw62zNSOvRoNpL1kEUIPu8BpzOslWoxeuM&zhida_source=entity) **\n    * 假设环境转换和策略都是随机的，则T步行动轨迹概率： P(\\tau \\mid \\pi)=\\rho_0\\left(s_0\\right) \\prod_{t=0}^{T-1} P\\left(s_{t+1} \\mid s_t, a_t\\right) \\pi\\left(a_t \\mid s_t\\right)\n    * 预期收益： J(\\pi)=\\int_\\tau P(\\tau \\mid \\pi) R(\\tau)=\\underset{\\tau \\sim \\pi}{\\mathrm{E}}[R(\\tau)]\n    * 核心优化问题：找到[最优策略](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E6%9C%80%E4%BC%98%E7%AD%96%E7%95%A5&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLmnIDkvJjnrZbnlaUiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.VFe3oHTXG6NG9UgzHjpzvI5HWzLA2-q2ANuVYvlFYq8&zhida_source=entity) \\pi^*=\\arg \\max _\\pi J(\\pi)\n\n\n### RL发展路径（至PPO）\n![](https://pic3.zhimg.com/v2-acf8d9dd1ed633efba208b45c563593c_1440w.jpg)\n**Value-based**\n状态的值 V(s)或者状态行动对(state-action pair)的值Q(s,a) ，作为一种累积奖赏的估计，可以通过最大化值函数来优化得到最优策略，这种优化方法称为value-based。所以，\n  * 最优值函数（Optimal Value Function）：\n    * V^*(s)=\\max _\\pi \\underset{\\tau \\sim \\pi}{\\mathrm{E}}\\left[R(\\tau) \\mid s_0=s\\right]\n  * 最优动作-值函数（Optimal Action-Value Function）：\n    * Q^*(s, a)=\\max _\\pi \\underset{\\tau \\sim \\pi}{\\mathrm{E}}\\left[R(\\tau) \\mid s_0=s, a_0=a\\right]\n    * 最优动作： a^*(s)=\\arg \\max _a Q^*(s, a)\n\n\n》两者的关系： V^\\pi(s)=\\underset{a \\sim \\pi}{\\mathrm{E}}\\left[Q^\\pi(s, a)\\right] ； V^*(s)=\\max _a Q^*(s, a)\n**[贝尔曼方程](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E8%B4%9D%E5%B0%94%E6%9B%BC%E6%96%B9%E7%A8%8B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLotJ3lsJTmm7zmlrnnqIsiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.jOdk6FplBAdxDNMzO0fqZU8dHj9SlINlmf77c0dJvUY&zhida_source=entity)**\n中心思想：当前值估计=当前奖赏+未来值估计  \n\\begin{aligned} V^\\pi(s) & =\\underset{\\substack{a \\sim \\pi \\\\\\ s^{\\prime} \\sim P}}{\\mathrm{E}}\\left[r(s, a)+\\gamma V^\\pi\\left(s^{\\prime}\\right)\\right] \\\\\\ Q^\\pi(s, a) & =\\underset{s^{\\prime} \\sim P}{\\mathrm{E}}\\left[r(s, a)+\\gamma \\underset{a^{\\prime} \\sim \\pi}{\\mathrm{E}}\\left[Q^\\pi\\left(s^{\\prime}, a^{\\prime}\\right)\\right]\\right] \\end{aligned}   \n所以，最优值函数的贝尔曼公式为：  \n\\begin{aligned} V^*(s) & =\\max _a \\underset{s^{\\prime} \\sim P}{\\mathrm{E}}\\left[r(s, a)+\\gamma V^*\\left(s^{\\prime}\\right)\\right] \\\\\\ Q^*(s, a) & =\\underset{s^{\\prime} \\sim P}{\\mathrm{E}}\\left[r(s, a)+\\gamma \\max _{a^{\\prime}} Q^*\\left(s^{\\prime}, a^{\\prime}\\right)\\right] \\end{aligned}\n**优势函数Advantage Functions**\n强化学习中，有时不需要知道一个行动的绝对好坏，而只需要知道它相对于其他action的相对优势。即，  \nA^\\pi(s, a)=Q^\\pi(s, a)-V^\\pi(s)\n**Policy-based**\n  * RL核心优化问题：找到最优策略 \\pi^*=\\arg \\max _\\pi J(\\pi) ， J(\\pi)=\\int_\\tau P(\\tau \\mid \\pi) R(\\tau)=\\underset{\\tau \\sim \\pi}{\\mathrm{E}}[R(\\tau)]\n  * 基础策略梯度求导\n\n\n\\begin{array}{rlr} \\nabla_\\theta J\\left(\\pi_\\theta\\right) & =\\nabla_\\theta \\underset{\\tau \\sim \\pi_\\theta}{\\mathrm{E}}[R(\\tau)] & \\\\\\ & =\\nabla_\\theta \\int_\\tau P(\\tau \\mid \\theta) R(\\tau) & \\text { Expand expectation } \\\\\\ & =\\int_\\tau \\nabla_\\theta P(\\tau \\mid \\theta) R(\\tau) & \\text { Bring gradient under integral } \\\\\\ & =\\int_\\tau P(\\tau \\mid \\theta) \\nabla_\\theta \\log P(\\tau \\mid \\theta) R(\\tau) & \\text { Log-derivative trick } \\\\\\ & =\\underset{\\tau \\sim \\pi_\\theta}{\\mathrm{E}}\\left[\\nabla_\\theta \\log P(\\tau \\mid \\theta) R(\\tau)\\right] & \\text { Return to expectation form } \\\\\\ \\therefore \\nabla_\\theta J\\left(\\pi_\\theta\\right) & =\\underset{\\tau \\sim \\pi_\\theta}{\\mathrm{E}}\\left[\\sum_{t=0}^T \\nabla_\\theta \\log \\pi_\\theta\\left(a_t \\mid s_t\\right) R(\\tau)\\right] & \\text { Expression for grad-log-prob } \\end{array}\n  * Log-derivative trick: \\nabla_\\theta \\log P=\\nabla_\\theta P/P\n  * 轨迹的log-prob梯度与log-pi梯度的关系： \\begin{aligned} \\nabla_\\theta \\log P(\\tau \\mid \\theta) =\\sum_{t=0}^T \\nabla_\\theta \\log \\pi_\\theta\\left(a_t \\mid s_t\\right) \\end{aligned}\n  * 【策略梯度公式的直观解释】\n\n\n\\nabla_\\theta J\\left(\\pi_\\theta\\right) =\\underset{\\tau \\sim \\pi_\\theta}{\\mathrm{E}}\\left[\\nabla_\\theta \\log P(\\tau \\mid \\theta) R(\\tau)\\right]\n    * 第一项： \\nabla_\\theta \\log P(\\tau \\mid \\theta) 是一个方向向量，其方向是 \\log P(\\tau \\mid \\theta) 对于参数 \\theta 变化最快的方向，参数在这个方向上更新可以增大或者降低 \\log P(\\tau \\mid \\theta) ，也就是能增大或者降低轨迹 \\tau 的概率 P(\\tau \\mid \\theta) 。\n    * 第二项： R(\\tau) 是一个标量，在策略梯度中作为向量 \\nabla_\\theta \\log P(\\tau \\mid \\theta) 的更新幅值， R(\\tau) 越大，向量的幅值越大，轨迹 \\tau 出现的概率 P(\\tau \\mid \\theta) 在参数更新后会更大。因此，策略梯度的直观含义是通过增大高回报轨迹的概率+降低低回报轨迹的概率，来最大化累计回报。\n\n\n**[Actor-Critic框架](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=Actor-Critic%E6%A1%86%E6%9E%B6&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJBY3Rvci1Dcml0aWPmoYbmnrYiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.Nz7JPlWjPjXhilixYr2_oWpF8Z6o4K_UHxYxatiNb18&zhida_source=entity) （以PPO为例）**\n  * \\nabla_\\theta J\\left(\\pi_\\theta\\right) =\\underset{\\tau \\sim \\pi_\\theta}{\\mathrm{E}}\\left[\\sum_{t=0}^T \\nabla_\\theta \\log \\pi_\\theta\\left(a_t \\mid s_t\\right) R(\\tau)\\right] 中的轨迹回报R(\\tau) 的计算方式：\n\n\n  1. 轨迹的总回报： \\Sigma_{t=0}^{\\infty} r_t\n  2. 动作后的回报： \\Sigma_{t^{\\prime}=t}^{\\infty} r_{t^{\\prime}}\n  3. 加入基线的形式： \\Sigma_{t^{\\prime}=t}^{\\infty} r_{t^{\\prime}}-b\\left(s_t\\right) 【Expected Grad-Log-Prob (EGLP) 引理，合理的b可减小方差】\n  4. 状态-行为值函数： Q^\\pi\\left(s_t, a_t\\right)\n  5. 优势函数： A^\\pi\\left(s_t, a_t\\right)\n  6. TD残差： r_t+V^\\pi\\left(s_{t+1}\\right)-V^\\pi\\left(s_t\\right)\n\n\n1~3：直接应用轨迹的回报累积回报，无偏，但是由于需要累积多步的回报，因此**方差大** 。  \n4~6: 利用动作值函数，优势函数、TD偏差、GAE代替累积回报，其优点是方差小，但是这三种方法都属于用近似函数估计值，因此计算出来的策略梯度都存在**偏差** 。\n    * GAE（ _generalized advantage estimator_ ）：**平衡TD方法引入的偏差与MC方法带来的方差** ，公式如下\n\n\n![](https://picx.zhimg.com/v2-c91071a2f1cb23e6d035a478d47f944f_1440w.jpg)\n      * **近似的GAE** ，对k步的估计做了加权\n\n\n这种结合了近似估计轨迹回报的策略优化方式称为AC方法，此时， \\pi_\\theta\\left(a_t \\mid s_t\\right) 称为Actor, 对 R(\\tau) 的估计函数称为Critic。\n  * PPO(Proximal Policy Optimization)：  \n\n    * TRPO，一种基于[信赖域](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E4%BF%A1%E8%B5%96%E5%9F%9F&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLkv6HotZbln58iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9._CRN-9vxIIXflly_SqulqJwMEiYH1U35z62lLlfdTUA&zhida_source=entity)的策略优化算法，解决普通的策略梯度算法无法保证**性能单调非递减** 而提出来的方法。也就是说，**普通的策略梯度算法无法解决更新步长的问题** ，对于普通的策略梯度方法，如果更新步长太大，则容易发散；如果更新步长太小，即使收敛，收敛速度也很慢。  \n\n      * 解决方案：替代损失函数（Surrogate loss），约束了策略更新，更稳收敛\n\n\n![](https://pic2.zhimg.com/v2-a42bfd11f8339b64db0b82e6ae07be29_1440w.jpg)\n    * PPO在具体实现上做了简化：  \n\n      * L^{C P I}(\\theta)=\\hat{\\mathbb{E}}_t\\left[\\frac{\\pi_\\theta\\left(a_t \\mid s_t\\right)}{\\pi_{\\theta_{\\text {old }}}\\left(a_t \\mid s_t\\right)} \\hat{A}_t\\right]=\\hat{\\mathbb{E}}_t\\left[r_t(\\theta) \\hat{A}_t\\right] with **ratio 裁剪**  \n\n        * ratio: \\frac{\\pi_\\theta\\left(a_t \\mid s_t\\right)}{\\pi_{\\theta_{\\text {old }}}\\left(a_t \\mid s_t\\right)} 作为importance sampling系数，矫正由于不同策略下优势函数估计分布的偏差，当两分布差异过大时，importance sampling的近似估计会有较大误差。\n\n\n![](https://pica.zhimg.com/v2-d3a0838d60156d4d0858f327bbeed2e0_1440w.jpg)\n![](https://pic3.zhimg.com/v2-faeea1d66fb031fb120fe7625027b9bc_1440w.jpg)\n      * L^{C L I P}(\\theta)=\\hat{\\mathbb{E}}_t\\left[\\min \\left(r_t(\\theta) \\hat{A}_t, \\operatorname{clip}\\left(r_t(\\theta), 1-\\epsilon, 1+\\epsilon\\right) \\hat{A}_t\\right)\\right]\n\n\n![](https://picx.zhimg.com/v2-cb1e1b0b48ae0e12ae50aa2857cf563f_1440w.jpg)\n    * 代码实现\n\n\n\n```\n    def actor_loss_fn(self, logprobs, old_logprobs, advantages, mask):\n        ## policy gradient loss\n        log_ratio = (logprobs - old_logprobs) * mask\n        ratio = torch.exp(log_ratio)\n        pg_loss1 = -advantages * ratio\n        pg_loss2 = -advantages * torch.clamp(ratio, 1.0 - self.cliprange,\n                                             1.0 + self.cliprange)\n        pg_loss = torch.sum(torch.max(pg_loss1, pg_loss2) * mask) / mask.sum()\n        return pg_loss\n\n    def get_advantages_and_returns(self, values, rewards, start):\n        lastgaelam = 0\n        advantages_reversed = []\n        length = rewards.size()[-1]\n        for t in reversed(range(start, length)):\n            nextvalues = values[:, t + 1] if t < length - 1 else 0.0\n            delta = rewards[:, t] + self.gamma * nextvalues - values[:, t] # TD 残差\n            lastgaelam = delta + self.gamma * self.lam * lastgaelam  # GAE\n            advantages_reversed.append(lastgaelam)\n        advantages = torch.stack(advantages_reversed[::-1], dim=1)\n        returns = advantages + values[:, start:]\n        return advantages.detach(), returns\n    def critic_loss_fn(self, values, old_values, returns, mask):\n        ## value loss\n        values_clipped = torch.clamp(\n            values,\n            old_values - self.cliprange_value,\n            old_values + self.cliprange_value,\n        )\n        vf_loss1 = (values - returns)**2\n        vf_loss2 = (values_clipped - returns)**2\n        vf_loss = 0.5 * torch.sum(\n            torch.max(vf_loss1, vf_loss2) * mask) / mask.sum()\n        return vf_loss\n```\n\nPPO小结：  \n[ppo](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=ppo&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJwcG8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.B0xHOxtCDTcVRB77_JG42EJUcF-beQTlvKNTltcbuLk&zhida_source=entity)(proximal policy optimization)通过优化一个upper bound来更新策略，在保证performance接近的情况下，限制步长的移动，对子问题逐步优化，理论上更容易得到单调递增的策略。\n### RL应用场景适合性判断\n  1. 是否有**reward delay/sparse reward** 问题？\n    1. 如果每次预测都有非常准确的密集反馈（**dense reward** ）作为Ground Truth，**单步的最优解就是全局最优解时，一般SL便能解决问题** ；反之，如果GT反馈信号存在delay问题，即当前决策的好坏由未来的某个反馈评估，则适合尝试RL。\n  2. GT的标注成本过大？\n    1. 某些情况下，虽然可以枚举GT，但**枚举空间过大** ，需要人工逐字逐句改写，但**评估GT好坏的准则较为简单、可实现** ，则可以通过构建RM（准召要够），基于RL的流程逐步引导最优策略的学习。\n\n\n## RLHF in NLP\nNatural Language Policy Optimization (NLPO) 自然语言策略优化\n![](https://pic4.zhimg.com/v2-a3a297209a9dfb09e6cd95d4eec362cd_1440w.jpg)\n更大的语言模型并不意味着更服从用户意图，可能生成不真实、有毒或对用户毫无帮助的输出。这是因为最近许多大型 LM 使用的语言建模目标“从互联网预测网页上的下一个token”与“有效且安全地遵循用户的指令”的目标不同，常用的评估指标基于规则的文本生成指标 (如 _[BLEU](https://link.zhihu.com/?target=https%3A//en.wikipedia.org/wiki/BLEU)_ 和 _[ROUGE](https://link.zhihu.com/?target=https%3A//en.wikipedia.org/wiki/ROUGE_%28metric%29)_)，没有显式地引入人的偏好和主观意见，导致目标没对齐（objective _[misaligned](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=misaligned&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJtaXNhbGlnbmVkIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM2OTEzNjI2LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.pdEZT2w_StsFd4DjkaG4kEe_5Y8KFTZ3q5_4Rmfp_i4&zhida_source=entity)_ ）。   \n研究者尝试使用更主观的人类评价作为优化引导，基于RL去优化LLM中的alignment问题，使模型生成内容的流畅性和语法的正确性的同时，兼顾到人类对生成内容的有用性、真实性和无害性的偏好。\n### InstructGPT原理与训练流程\n![](https://picx.zhimg.com/v2-7c868f46b5529a6d4d9533b6d70fa535_1440w.jpg)\n![](https://pic3.zhimg.com/v2-02c657dfebc3c487224d86c8940352ee_1440w.jpg)\n1、监督式微调LM（SFT）\n![](https://pic3.zhimg.com/v2-3330fd308479fdccece614625ed20d74_1440w.jpg)\n  * 注：instruct gpt实操时，是根据验证集上的 RM 分数进行最终的 SFT 模型挑选。 因为实验发现我们的 SFT 模型在 1 个[epoch](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=epoch&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJlcG9jaCIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzNjkxMzYyNiwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.rodqKbAJ5JLr69-rznvu9en2VedMJ2XIP2-5MuTA_0Q&zhida_source=entity)后对验证损失过拟合；尽管过拟合，但更多epoch的训练对 RM 得分和人类偏好都有帮助。\n\n\n2、Reward 建模（RM) \n![](https://pic2.zhimg.com/v2-2bf88ff586711ffda7b3405cf7467669_1440w.jpg)\n    1. 注：instruct gpt实操采用6B RM，因为这样可以节省大量计算量，并发现 175B RM 训练可能不稳定，因此也不太适合用作 RL 的价值函数\n    2. 比较数据集收集方式：生成 C^2_K 对回复共人类打标，并将一条prompt对应的pair作为一个batch的元素。从而使得只训一个epoch时，K对比较数据只会过一次RM，进而避免模型过拟合，实验验证效果较好。\n    3. Loss function of RM：\n\n\n![](https://pic4.zhimg.com/v2-16028e891ee098e775a7b616d3c468ed_1440w.jpg)\n  * **注1** ：由于 RM 损失不会因为奖励的shift而变化，因此在RL使用RM前需要对reward 做normalization，以便打标数据的均值为0。\n  * **注2** ：RM的选择一般基于LLM改造，例如 OpenAI 【 175B 的 LM 和 6B 的 RM】，Anthropic 【 10B 到 52B 的LM 和 RM 】，DeepMind 【70B 的 Chinchilla 模型分别作为 LM 和 RM】。一种直觉是，偏好模型和生成模型需要具有类似的能力来理解提供给它们的文本。\n\n\n3、PPO微调 LM（RL）\n  \n\n![](https://pic2.zhimg.com/v2-0d2904a9be0bf8d5c7bbce38d75f5545_1440w.jpg)\n    1. 关键概念对齐\n      1. 策略 (policy) ：一个接受prompt并返回一系列文本 (或文本的[概率分布](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=%E6%A6%82%E7%8E%87%E5%88%86%E5%B8%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiLmpoLnjofliIbluIMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.4XjjlNZG7zK7TL2LX24VUFf4yJsRmc8pq9onutYTNVk&zhida_source=entity)) 的 LM\n      2. 行动空间 (action space) ： LM 的词表对应的所有token\n      3. 观察空间 (observation space) ：可能的输入token序列\n      4. 奖励函数（reward model）：偏好模型和**策略转变约束 (Policy shift constraint)** 的结合\n    2. PPO-ptx与PPO的不同：\n      1. **reward上加了约束惩罚** ，以避免策略过于发散；\n      2. **加了pretrain loss** 以保证LM被RL之后在原始benchmark上的表现不要掉。\n      3. 实践体感：pretrain loss对alignment没有太大帮助（有问题欢迎指出）\n    3. 损失函数\n\n\n\\begin{aligned} \\text { objective }(\\phi)= & E_{(x, y) \\sim D_{\\pi_\\phi^{\\mathrm{RL}}}}\\left[r_\\theta(x, y)-\\beta \\log \\left(\\pi_\\phi^{\\mathrm{RL}}(y \\mid x) / \\pi^{\\mathrm{SFT}}(y \\mid x)\\right)\\right]+ \\\\\\ & \\gamma E_{x \\sim D_{\\text {pretrain }}}\\left[\\log \\left(\\pi_\\phi^{\\mathrm{RL}}(x)\\right)\\right] \\end{aligned}\n### RLHF主流代码库\n**[TRLX](https://link.zhihu.com/?target=https%3A//github.com/CarperAI/trlx)（**使用前建议确认下最新版实现方式是否有修改&&是否满足自身需求**）**  \n该代码库之前没有完全按照InstructGPT思路来，主要体现在：\n  1. RM和Critic模型没有同质：在InstructGPT中，是使用RM来初始化Critic网络，SFT model初始化Actor网络；但在TRLX具体实现中，使用了SFT model同时作为Actor和Critic的初始化。\n    1. Tips：训练时需要注意将critic loss的权重适当加大，保证RL训练初期主要是在优化critic网络。在Critic学习到较稳定后，再学习Actor网络，从而避免前期Critic还未稳定下对Actor有优化上的太大误导。\n  2. 没有加入Pretrain Loss：但实践之下没有太大的影响Policy的训练收敛性。\n\n\n实践时出现的现象：\n  * 曾使用该代码库有在几种应用场景下都曾出现训练后期**reward分数骤降** 问题，但不影响训练中期reward的正常收敛。考虑有可能是因为没有附加pretrain loss的问题，如果有同学遇到相似问题或者有任何其他考虑，欢迎讨论～\n\n\n**DeepSpeed-Chat**  \n该代码库是微软官方出的，整体思路选择和InstructGPT基本一致  \n\n![](https://pic2.zhimg.com/v2-4c7e56d890b4e20ae7e1c883e953569b_1440w.jpg)\n**其他**\n  * PKU：[https://github.com/PKU-Alignment/safe-rlhf/tree/main](https://link.zhihu.com/?target=https%3A//github.com/PKU-Alignment/safe-rlhf/tree/main)\n  * MOSS：[https://github.com/OpenLMLab/MOSS-RLHF](https://link.zhihu.com/?target=https%3A//github.com/OpenLMLab/MOSS-RLHF)\n  * ColossalAI：[https://github.com/hpcaitech/ColossalAI](https://link.zhihu.com/?target=https%3A//github.com/hpcaitech/ColossalAI) （更新逐渐趋于稳定）\n\n\n![](https://pic4.zhimg.com/v2-a24fed97217e5edf031e79c738a2dfb7_1440w.jpg)\n### RM训练数据的打标探索\n一般从哪些角度评价一条response是“helpful/truthful/harmless”？[[PUBLIC] InstructGPT: Final labeling instructions](https://link.zhihu.com/?target=https%3A//docs.google.com/document/d/1MJCqDNjzD04UbcnVZ-LmeXJ04-TKEICDAepXyMCBUb8/edit)给出了标注指南\n  \n**打标流程**  \n对于每条输入指令，标签将由 3 部分组成：\n  1. **打标instruction** ： 标记指令属性，包括PII/Tag/Closed domain/User intent is unclear等，以便构建prompt库。\n  2. **打标AI 模型输出** ： 对于 AI 模型的每个输出，给出 1-7 的评分+判断其是否包含暴力或色情内容等。\n  3. **排序 AI 模型输出** ： 您将对输出从最好到最差进行排名，包括平局。\n\n\n![](https://pic3.zhimg.com/v2-f0c9883bad5e540afbb84473a527a888_1440w.jpg)\n*具体细节详见标注指南\n  \n**采用人工or模型打标**  \n因为人类打标一致性统一存在难度， _[基础大模型能像人类一样标注数据吗？](https://link.zhihu.com/?target=https%3A//security.feishu.cn/link/safety%3Ftarget%3Dhttps%253A%252F%252Fhuggingface.co%252Fblog%252Fzh%252Fllm-leaderboard%26scene%3Dccm%26logParams%3D%257B%2522location%2522%253A%2522ccm_default%2522%257D%26lang%3Dzh-CN)_ 一文中探索了利用模型代替人类进行打标的表现\n  * 人工打标：\n\n\n![](https://pic3.zhimg.com/v2-4d2978c6dc2f889e7bd4d9223a8aab76_1440w.jpg)\n![](https://pica.zhimg.com/v2-d9af21f5f08f9f019d9fad88f4e19dc2_1440w.jpg)\n  * 模型（GPT-4）打标：几个待评测模型的顺序不变，但相对的间隔变了。存在位置偏差\n\n\n![](https://pic1.zhimg.com/v2-4c5391bd8fa14de7d110df4a33da88a0_1440w.jpg)\n![](https://picx.zhimg.com/v2-9c4b9c3c2dcc991abed283bce6eeb469_1440w.jpg)\n》使用的prompt：\n\n```\nQuestion\n{question}\n\nThe Start of Assistant 1's Answer\n{answer_1}\nThe End of Assistant 1's Answer\n\nThe Start of Assistant 2's Answer\n{answer_2}\nThe End of Assistant 2's Answer\n\nSystem\nWe would like to request your feedback on the performance of two AI assistants in response to the user question displayed above.\nPlease compare the helpfulness, relevance, accuracy, level of details of their responses.\nThe rating[](https://zhida.zhihu.com/search?content_id=236913626&content_type=Article&match_order=1&q=rating&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxMTMsInEiOiJyYXRpbmciLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzY5MTM2MjYsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.iYad3wZ4uL33Rc5Lg3PTfFPTtorS4XJ5VqgfREp4LK4&zhida_source=entity) should be from the set of 1, 2, 3, 4, 5, 6, 7, or 8, where higher numbers indicated that Assistant 2 was better than Assistant 1.\nPlease first output a single line containing only one value indicating the preference between Assistant 1 and 2.\nIn the subsequent line, please provide a brief explanation of your evaluation, avoiding any potential bias and ensuring that the order in which the responses were presented does not affect your judgment.\n```\n\n论文 __[How Far Can Camels Go?](https://link.zhihu.com/?target=https%3A//arxiv.org/abs/2306.04751)__ 展示了导致GPT-4 过高打分的潜在迹象: 多样性和回答的长度\n问题发现小结：\n  * GPT-4 存在**位置偏差** ，当我们使用 1 到 8 分 范围，两两对比模型偏差时，GPT-4 倾向于给第一个模型更高分。\n  * 在提示语中要求 GPT-4 不要保留这种位置偏差，会导致模型偏向另一边，但不会像上述情况那么差。\n  * 针对事实性和有用性的回答上，**GPT-4 更倾向于偏好那些用 InstructGPT、GPT-4、ChatGPT 生成的数据训练的模型。** 比如，在人类手写的输出方面，GPT-4 更倾向 Vicuna 和 Alpaca。\n  * GPT-4 和人工评价者在评价非编程任务时，有着 0.5 左右的正相关性; 而对于编程任务，仍保持正相关，但数值远没有那么高。\n  * 如果我们按任务类型看，**人类和 GPT-4 的相关性在”高熵“任务 (如头脑风暴和生成类任务) 中相关性最高** ，而在编程类任务中相关性低。\n\n\n### 更多RLHF框架  \n多粒度RLHF\nInstruct GPT的reward是response粒度的，但一段回答质量的好坏有时不是整体评估的，比如敏感词不该出现，回复中某段存在事实性错误。将reward全部delay到response尾部再给出会增加RL的学习难度。  \n[ FINE-GRAINED RLHF](https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2306.01693.pdf)\n![](https://picx.zhimg.com/v2-70d6cb23a7f37f7e864d3a7ba458af47_1440w.jpg)\n![](https://pic2.zhimg.com/v2-8511097dbeb13f98ab5d4ed75807a2c9_1440w.jpg)\n  * **注** ：采取细粒度的RLHF时，RM需要细粒度的训练。\n  * **注** ：多粒度，该论文是做了sentence级别的粒度。其实，token粒度/span粒度/response粒度都可以做，但需要关注下细粒度RM的推理耗时，对应打标方式也需对齐，注意RL优化时reward的位置和log-prob的位置对齐（如TRLX/trlx/trainer/accelerate_ppo_trainer.py中start&ends）！\n\n\n**多目标RLHF**\n由于不同场景有不同的业务目标（回答质量/安全性/业务逻辑等），方案：\n  1. 解耦不同RM单独学习，然后RL时同时调用，并进行加权\n    1. 优：单独RM可在不同场景下复用，只需要调节RM之间的权重；\n    2. 缺：需要再开GPU存放更多的RM，以及gpu之间通讯同步。\n  2. 多目标的打标，训rm时直接使用加权分，每个场景需要单独训练。\n\n\n## RLHF是必须的吗？\n强化学习的短板：\n  1. 基于反馈进行学习训练，可能存在“**奖励破解** ”的问题，即通过卡reward设计上的漏洞，导致虽然获取更高的奖赏，但效果并没有真正的优化。\n  2. 在训练过程中，代理模型需要和生成式模型进行不断交互，而这一过程可能非常**耗时且效率不高** 。\n  3. **价值模型本身并无和人类思考模型上明显的对应** 。我们脑海中并没有一个单独的打分模型，而且实际上长期维护一个固定的打分标准也非常困难。相反，我们的成长过程中价值判断的形成大部分来自每天的交互 —— 通过对相似场景的不同交互反馈的分析，我们逐渐意识到什么是会被鼓励的，什么是不允许的。\n\n\n### RRHF\n[源码链接](https://link.zhihu.com/?target=https%3A//github.com/GanjinZero/RRHF)，[论文链接](https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2304.05302.pdf)\n![](https://pic2.zhimg.com/v2-044e7d8513337b96e740c998d1958783_1440w.jpg)\n    1. **整体训练流程：**\n      1. 基于prompt库，生成得到多个表现不一的回复。\n      2. 对多条回复进行RM inference得到具体反馈。\n      3. rank loss：按照反馈优劣构造对比pair作为训练数据；ft loss：选取最优回复作为训练数据。\n    2. **损失函数设计：**\n\n\n  * rank loss function\n\n\n![](https://pic4.zhimg.com/v2-72effe90a2d41092282f31dd59f0e217_1440w.jpg)\n![](https://pic2.zhimg.com/v2-1ad3b33e44da7625f07930ad69ee5429_1440w.jpg)\n    * fine-tuning loss function （sft）\n\n\n![](https://picx.zhimg.com/v2-dbdaf18a93153ce044b36c0db05829f1_1440w.jpg)\n    * total loss\n\n\n![](https://pic2.zhimg.com/v2-7ad8edc42e0b88f62a436db651585d65_1440w.jpg)\n    * **loss function 特点分析：**\n      * 优点：rank loss function 做为一种对比学习方式和sft loss function结合，以期望达到align到最优回复的同时，拉低较差回复的生成概率。\n      * 缺点：但与可以细粒度奖赏的RL方式不同，这种对比学习的方式无法细粒度的区分出具体哪句话导致整体回复较差，优化方向需要模型自行根据训练数据比对分析，较不直接。\n\n\n### **Stable Alignment**\n[源码链接](https://link.zhihu.com/?target=https%3A//github.com/agi-templar/Stable-Alignment)，[论文链接](https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2305.16960.pdf)，[模型下载](https://link.zhihu.com/?target=https%3A//huggingface.co/agi-css)   \n讲解：[10行代码媲美RLHF，用社交游戏数据训练社会对齐模型](https://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s/ee_GqiJtnJwgWS-3zw0qmA)\n![](https://pic3.zhimg.com/v2-ad2e714b62b9ed59f944fae80a73f998_1440w.jpg)\n  * 目标函数：\n\n\n![](https://picx.zhimg.com/v2-ec70f2c4bf9e6456542823a1b3d23fd5_1440w.jpg)\n    * 中心思想：**SFT** 的同时，**拉开最优回复和其他回复的分布** ，且加入**动态margin** ，迫使分数差别越大的两条回复，loss需要拉的更大\n\n\n> the margin between the SFT loss and the loss from lower-rated responses increases proportionally to the distance from the highest rating. This implies the model must strive harder to unlearn lower-rated responses, while simultaneously learning from the highest-rated ones.\n      * 注意，一个mini-batch下，只有一条prompt，才能保证rating的可比性\n  * 算法流程：\n\n\n![](https://pic3.zhimg.com/v2-9ede6d17e7473dc1001aa443a3b23eb8_1440w.jpg)\n### **DPO**\n![](https://pica.zhimg.com/v2-35307a506aa91947cda4e89ee9bf9a60_1440w.jpg)\n[rookiemango：天下苦RLHF久矣！来看看不同的训练方式！Direct Preference Optimization, Your Language Model is Secretly a Reward Model](https://zhuanlan.zhihu.com/p/633539131)\n![](https://pica.zhimg.com/v2-fe19c4dffa4ac16a0449270fbccba8bc_1440w.jpg)\n### 小结\n以上的方法其中心思想都是利用对比学习代替交互式的强化学习来拉开优劣回复的概率分布，整体思想与[Generative adversarial imitation learning](https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/1606.03476.pdf)（NIPS 2016）的主要motivation大体相似，GAIL有给出相应的理论证明其有效性。\n![](https://pic3.zhimg.com/v2-04ddcceba1291b92c42b52b4f9f16b20_1440w.jpg)\n但是上述的方案还是按照response的粒度进行拉开好坏结果的生成分布，而无法像RL那样做进一步细粒度的优化。主要成本在于细粒度对比学习需要细粒度的改写，标注成本较大。\n## 参考\n  1. [lecture16-guest.pdf](https://link.zhihu.com/?target=https%3A//web.stanford.edu/class/archive/cs/cs224n/cs224n.1184/lectures/lecture16-guest.pdf)\n  2. [ [PUBLIC] InstructGPT: Final labeling instructions](https://link.zhihu.com/?target=https%3A//docs.google.com/document/d/1MJCqDNjzD04UbcnVZ-LmeXJ04-TKEICDAepXyMCBUb8/edit%23heading%3Dh.21o5xkowgmpj)\n  3. [ [External] Open LLM Leaderboard Human Labeling Instructions](https://link.zhihu.com/?target=https%3A//docs.google.com/document/d/1c5-96Lj-UH4lzKjLvJ_MRQaVMjtoEXTYA4dvoAYVCHc/edit%23heading%3Dh.bffss2ayx8qg)\n  4. [Can foundation models label data like humans?](https://link.zhihu.com/?target=https%3A//huggingface.co/blog/zh/llm-leaderboard)\n  5. [Let’s Verify Step by Step](https://link.zhihu.com/?target=https%3A//arxiv.org/pdf/2305.20050.pdf)\n\n\n发布于 2023-11-29 15:42・浙江\n[深度学习（Deep Learning）](https://www.zhihu.com/topic/19813032)\n[自然语言处理](https://www.zhihu.com/topic/19560026)\n[强化学习 (Reinforcement Learning)](https://www.zhihu.com/topic/20039099)\n​赞同 56​​5 条评论​83 ​11 \n​分享\n​申请转载​\n​\n![](https://pic1.zhimg.com/v2-d41c2ceaed8f51999522f903672a521f_l.jpeg)\n未登录用户\n  \n\n5 条评论\n默认\n最新\n[![Yuuu](https://pic1.zhimg.com/v2-628c991e9eceb8843195409b24bc22f8_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/d3a631972c67924e1d335c8993f08d5b)\n[Yuuu](https://www.zhihu.com/people/d3a631972c67924e1d335c8993f08d5b)\n补充一个参考链接：[俞扬：DPO替代RLHF可造成多一倍的性能损失](https://zhuanlan.zhihu.com/p/673047773)\n2023-12-20 · 北京\n​回复​1\n[![Autumn](https://pica.zhimg.com/v2-abed1a8c04700ba7d72b45195223e0ff_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/981eddd0b6d2ea7d262ee1e2cd2d1360)\n[Autumn](https://www.zhihu.com/people/981eddd0b6d2ea7d262ee1e2cd2d1360)\n学习了，“无法细粒度的区分出具体哪句话导致整体回复较差”，那么是不是可以人工标注出具体那一段比较差，然后用一种方式去训练模型会更好呢？\n2023-11-30 · 北京\n​回复​喜欢\n[![许婧](https://pic1.zhimg.com/v2-69863ff56ea7dd5cc4d92ae9a4ce97d2_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/0bda6a3615e0277d5694acf44022b62a)\n[许婧](https://www.zhihu.com/people/0bda6a3615e0277d5694acf44022b62a)\n作者​![](https://pic1.zhimg.com/v2-2ddc5cc683982648f6f123616fb4ec09_l.png?source=32738c0c)\n嗯嗯是的，不过细粒度的标注就需要对应细粒度的rlhf。相当于从response reward回归到rl原来的step reward了，或者改为多粒度奖赏的rl。\n2023-11-30 · 浙江\n​回复​喜欢\n展开其他 1 条回复​\n[![何枝](https://pic1.zhimg.com/v2-fbc9c0a8c562b7515e41825ff2a1d4f8_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/61ce0376d0bc91b39ea4b06ae95a871d)\n[何枝](https://www.zhihu.com/people/61ce0376d0bc91b39ea4b06ae95a871d)\n赞![\\[赞同\\]](https://pic2.zhimg.com/v2-419a1a3ed02b7cfadc20af558aabc897.png)\n2023-11-30 · 北京\n​回复​喜欢\n关于作者\n[![许婧](https://picx.zhimg.com/v2-69863ff56ea7dd5cc4d92ae9a4ce97d2_l.jpg?source=32738c0c&needBackground=1)](https://www.zhihu.com/people/xu-jing-11-59)\n[许婧](https://www.zhihu.com/people/xu-jing-11-59)\n程序员\n[​](https://zhuanlan.zhihu.com/p/96956163)\n北京大学 数据科学硕士\n[ 回答 **1** ](https://www.zhihu.com/people/xu-jing-11-59/answers)[ 文章 **1** ](https://www.zhihu.com/people/xu-jing-11-59/posts)[ 关注者 **59** ](https://www.zhihu.com/people/xu-jing-11-59/followers)\n​关注她​发私信\n大家都在搜\n换一换\n[江歌妈妈发长文尘埃终将落定706 万](https://www.zhihu.com/search?q=%E6%B1%9F%E6%AD%8C%E5%A6%88%E5%A6%88%E5%8F%91%E9%95%BF%E6%96%87%E5%B0%98%E5%9F%83%E7%BB%88%E5%B0%86%E8%90%BD%E5%AE%9A&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[中国男足 0-5 巴勒斯坦564 万](https://www.zhihu.com/search?q=%E4%B8%AD%E5%9B%BD%E7%94%B7%E8%B6%B3+0-5+%E5%B7%B4%E5%8B%92%E6%96%AF%E5%9D%A6&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[原央视主持人阿丘回应被通报422 万](https://www.zhihu.com/search?q=%E5%8E%9F%E5%A4%AE%E8%A7%86%E4%B8%BB%E6%8C%81%E4%BA%BA%E9%98%BF%E4%B8%98%E5%9B%9E%E5%BA%94%E8%A2%AB%E9%80%9A%E6%8A%A5&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[华为与赛力斯达成新五年合作411 万](https://www.zhihu.com/search?q=%E5%8D%8E%E4%B8%BA%E4%B8%8E%E8%B5%9B%E5%8A%9B%E6%96%AF%E8%BE%BE%E6%88%90%E6%96%B0%E4%BA%94%E5%B9%B4%E5%90%88%E4%BD%9C&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[迪拜航空确认航班发生事故400 万](https://www.zhihu.com/search?q=%E8%BF%AA%E6%8B%9C%E8%88%AA%E7%A9%BA%E7%A1%AE%E8%AE%A4%E8%88%AA%E7%8F%AD%E5%8F%91%E7%94%9F%E4%BA%8B%E6%95%85&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[东航回应网传空姐跪地道歉327 万](https://www.zhihu.com/search?q=%E4%B8%9C%E8%88%AA%E5%9B%9E%E5%BA%94%E7%BD%91%E4%BC%A0%E7%A9%BA%E5%A7%90%E8%B7%AA%E5%9C%B0%E9%81%93%E6%AD%89&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)\n[王楚钦：不知道为什么就是感觉累320 万](https://www.zhihu.com/search?q=%E7%8E%8B%E6%A5%9A%E9%92%A6%EF%BC%9A%E4%B8%8D%E7%9F%A5%E9%81%93%E4%B8%BA%E4%BB%80%E4%B9%88%E5%B0%B1%E6%98%AF%E6%84%9F%E8%A7%89%E7%B4%AF&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)热\n[江苏高考作文《衬衫的价格为 9 磅 15 便士》爆火268 万](https://www.zhihu.com/search?q=%E6%B1%9F%E8%8B%8F%E9%AB%98%E8%80%83%E4%BD%9C%E6%96%87%E3%80%8A%E8%A1%AC%E8%A1%AB%E7%9A%84%E4%BB%B7%E6%A0%BC%E4%B8%BA+9+%E7%A3%85+15+%E4%BE%BF%E5%A3%AB%E3%80%8B%E7%88%86%E7%81%AB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)\n[女装网店开始用防拆带了265 万](https://www.zhihu.com/search?q=%E5%A5%B3%E8%A3%85%E7%BD%91%E5%BA%97%E5%BC%80%E5%A7%8B%E7%94%A8%E9%98%B2%E6%8B%86%E5%B8%A6%E4%BA%86&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)\n[孕妇骑车别车被司机踹翻258 万](https://www.zhihu.com/search?q=%E5%AD%95%E5%A6%87%E9%AA%91%E8%BD%A6%E5%88%AB%E8%BD%A6%E8%A2%AB%E5%8F%B8%E6%9C%BA%E8%B8%B9%E7%BF%BB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=01501ff6-b5d2-4b63-ab9e-a3fe003aa00e)\n### 推荐阅读\n# [强化学习和NLP 在上一篇文章讲 文字存储到大模型量化之后，本来想写多模态或者损失函数的内容，但是最近因为DeepSeek R1的原因，我又去找了之前学RL的视频，记录了点强化学习的内容。想说写下来以后就不容… 钱慕 ](https://zhuanlan.zhihu.com/p/28906249122)[ ![强化学习在NLP和推荐系统中的应用简介](https://pica.zhimg.com/v2-bd3e48a64e212be6827cebb7600b5881_250x0.jpg?source=172ae18b)强化学习在NLP和推荐系统中的应用简介 最AI的小...发表于平安寿险A... ](https://zhuanlan.zhihu.com/p/143403724)[ ![LSTM之父最新力作：颠倒强化学习，用监督学习解决RL问题](https://pic1.zhimg.com/v2-db08f02e3cd595d659021c29077e6020_250x0.jpg?source=172ae18b)LSTM之父最新力作：颠倒强化学习，用监督学习解决RL问题 新智元发表于AI前沿研... ](https://zhuanlan.zhihu.com/p/96767839)[ ![RL突破通用领域推理瓶颈！清华NLP实验室提出基于参考概率奖励的强化学习RLPR](https://pic1.zhimg.com/v2-780c49bc56ac11ffe14c8efdc33915a9_250x0.jpg?source=172ae18b)RL突破通用领域推理瓶颈！清华NLP实验室提出基于参考概率奖励的强化学习RLPR 青稞AI发表于青稞·论文... ](https://zhuanlan.zhihu.com/p/1921229017350148129) \n\n_想来知乎工作？请发送邮件到 jobs@zhihu.com_\n打开知乎App\n在「我的页」右上角打开扫一扫\n![](https://picx.zhimg.com/v2-9e41ea16bdfbe9cf4896617ecad5b4ca.png)\n其他扫码方式：微信\n下载知乎App\n无障碍模式\n验证码登录\n密码登录\n[开通机构号](https://zhuanlan.zhihu.com/org/signup)\n中国 +86\n获取短信验证码\n忘记密码\n登录/注册\n其他方式登录\n未注册手机验证后自动登录，注册即代表同意[《知乎协议》](https://www.zhihu.com/term/zhihu-terms)[《隐私保护指引》](https://www.zhihu.com/term/privacy)\n扫码下载知乎 App\n关闭二维码\n",
  "body_base_path": "attachments/828ac3ce8634/pages/",
  "body_markdown_path": "attachments/828ac3ce8634/pages/archived-body.md",
  "local_html": "attachments/828ac3ce8634/pages/archived-body.html",
  "body_source": "prior_capture"
}