当前位置: 首页 > news >正文

OpenAI RLHF的理解

OpenAI RLHF的理解1. RLHF 的优化目标objectiveE(x,y)∼DπθRL[rθ(x,y)−βlog⁡πθ(y∣x)πref(y∣x)]γ Ex∼Dpretrain[log⁡πθRL(x)] \text{objective} \mathbb{E}_{(x,y) \sim D_{\pi_\theta^{RL}}} \left[ r_\theta(x, y) - \beta \log \frac{\pi_\theta(y \mid x)}{\pi_{\text{ref}}(y \mid x)} \right] \gamma \, \mathbb{E}_{x \sim D_{\text{pretrain}}} \left[ \log \pi_\theta^{RL}(x) \right]objectiveE(x,y)∼DπθRL​​​[rθ​(x,y)−βlogπref​(y∣x)πθ​(y∣x)​]γEx∼Dpretrain​​[logπθRL​(x)]2. 用 PPO-clip 来优化上述目标arg⁡max⁡θ E(x,y)∼Dπold[min⁡(πnew(y∣x)πold(y∣x)A, clip ⁣(πnew(y∣x)πold(y∣x), 1−ε, 1ε)A)] \arg\max_{\theta} \, \mathbb{E}_{(x,y) \sim D_{\pi_{old}}} \left[ \min \left( \frac{\pi_{\text{new}}(y \mid x)}{\pi_{\text{old}}(y \mid x)} A,\; \text{clip}\!\left( \frac{\pi_{\text{new}}(y \mid x)}{\pi_{\text{old}}(y \mid x)},\, 1-\varepsilon,\, 1\varepsilon \right) A \right) \right]argθmax​E(x,y)∼Dπold​​​[min(πold​(y∣x)πnew​(y∣x)​A,clip(πold​(y∣x)πnew​(y∣x)​,1−ε,1ε)A)]3. 为此需要计算如下变量需要估计以下三个量πnew(y∣x)\pi_{\text{new}}(y \mid x)πnew​(y∣x)当前策略在给定xxx下生成yyy的概率πold(y∣x)\pi_{\text{old}}(y \mid x)πold​(y∣x)旧策略在给定xxx下生成yyy的概率AAA优势函数Advantage变量说明在上述表达式中xxx是用户 promptyyy是生成的 tokenπ(y∣x)\pi(y \mid x)π(y∣x)是在策略π\piπ下promptxxx生成yyy的概率。优势函数定义AR−Value(x) A R - \text{Value}(x)AR−Value(x)其中Value\text{Value}Value是一个神经网络结构价值网络。4. 完整 RLHF 流程示例用一个具体例子描述完整的 RLHF 流程变量值xxx用户问“如何减肥”yyy回答“每天控制饮食并运动”πθ(y∣x)\pi_\theta(y \mid x)πθ​(y∣x)当前策略下已知xxx生成yyy的概率0.4πSFT(y∣x)\pi_{SFT}(y \mid x)πSFT​(y∣x)当SFT模型下已知xxx生成yyy的概率0.3Reward Model 打分rθ(x,y)0.8r_\theta(x, y) 0.8rθ​(x,y)0.8价值网络打分Value(x)0.2\text{Value}(x) 0.2Value(x)0.2计算 AdvantageKLlog⁡πθ(y∣x)πSFT(y∣x) KL \log \frac{\pi_{\theta}(y \mid x)}{\pi_{SFT}(y \mid x)}KLlogπSFT​(y∣x)πθ​(y∣x)​Arθ(x,y)−β∗KL−Value(x) A r_\theta(x, y) - \beta* KL -\text{Value}(x)Arθ​(x,y)−β∗KL−Value(x)至此πθ(y∣x)\pi_{\theta}(y \mid x)πθ​(y∣x)、πSFT(y∣x)\pi_{\text{SFT}}(y \mid x)πSFT​(y∣x)以及AAA全部就绪结合 Advantage 引入到 PPO-clip 中的所有变量均已确定。其中初始时令πnewπ训练时候(y∣x) \pi_{\text{new}} \pi_{\text{训练时候}}(y \mid x)πnew​π训练时候​(y∣x)πoldπrollout时模型(y∣x) \pi_{\text{old}} \pi_{\text{rollout时模型}}(y \mid x)πold​πrollout时模型​(y∣x)5. 用工程语言描述 RLHF 的完整流程涉及的模型模型作用输入输出Actor Model训练目标模型生成回复x→Actoryx \xrightarrow{\text{Actor}} yxActor​y输出P(y)P(y)P(y)的概率分布Reward Model打分模型(x,y)→Rewardr∼(0,1)(x, y) \xrightarrow{\text{Reward}} r \sim (0, 1)(x,y)Reward​r∼(0,1)Reference ModelSFT 基准模型用于计算 KL 散度x→Refyx \xrightarrow{\text{Ref}} yxRef​y输出P(y)P(y)P(y)概率Critic ModelValue 价值网络估计状态价值x→CriticV∼(0,1)x \xrightarrow{\text{Critic}} V \sim (0, 1)xCritic​V∼(0,1)Pretrain ModelOpenAI 的底层语言模型—步骤输入 prompt: “如何减肥”通过 Actor Model 生成 response“每天控制饮食并运动”得到πθ(y∣x)\pi_{\theta}(y \mid x)πθ​(y∣x)用 Reward Model 打分(x,y)→Reward Modelr(x, y) \xrightarrow{\text{Reward Model}} r(x,y)Reward Model​r计算 KL 散度用 Reference Model 算出rθ(x,y)r_\theta(x,y)rθ​(x,y),用sft模型得到πSFT(y∣x)\pi_{\text{SFT}}(y \mid x)πSFT​(y∣x)按 OpenAI 方式计算FinalRewardrθ(x,y)−β⋅KL ⁣(πθ∥πSFT)LLM \text{FinalReward} r_\theta(x,y) - \beta \cdot \text{KL}\!\left(\pi_\theta \| \pi_{\text{SFT}}\right) \mathcal{L}_{\text{LM}}FinalRewardrθ​(x,y)−β⋅KL(πθ​∥πSFT​)LLM​用 Critic Model 估算 Value 值VCritic(x)V \text{Critic}(x)VCritic(x)计算优势函数AAAAFinalReward−Critic Model 的值 A \text{FinalReward} - \text{Critic Model 的值}AFinalReward−Critic Model的值用 PPO-clip 更新策略loopπnew\pi_{\text{new}}πnew​训练时候一个epoch的更新后的模型用这个模型得到的这个 token 的输出概率πold\pi_{\text{old}}πold​Rollout时候的token输出概率参考[1] Ouyang, L., Wu, J., Jiang, X., Almeida, D., Wainwright, C. L., Mishkin, P., Zhang, C., Agarwal, S., Slama, K., Ray, A., Schulman, J., Hilton, J., Kelley, F., Miller, L., Simens, M., Askell, A., Welinder, P., Christiano, P., Leike, J., Lowe, R. (2022). Training language models to follow instructions with human feedback.Advances in Neural Information Processing Systems, 35, 27730–27744. https://arxiv.org/abs/2203.02155
http://www.zskr.cn/news/1374727.html

相关文章:

  • 机器人异常检测实战:基于系统日志的LR、SVM与自编码器模型对比
  • 在Ubuntu 14.04上为老旧系统(如XP)搭建现代Web服务栈:Apache 2.4.59 + OpenSSL 1.1.1w + PHP 8.3.6 保姆级配置指南
  • 在Ubuntu 22.04上,用SSH和HTTPS两种方式搞定OpenHarmony 4.1 Release源码下载(附工具链配置)
  • 机器学习势能面验证:从静态点收敛性到全局拓扑评估
  • Gemini Omni Flash 完整指南:Google AI 视频生成器深度解析
  • 机器学习检测Chrome恶意扩展:概念漂移挑战与开放世界评估
  • 告别SSH连接玄学!用Finalshell管理多台Linux服务器时,如何一劳永逸搞定IP变动?
  • VMware17装CentOS踩过的那些坑:从镜像选择、密码设置到登录失败的完整避雷指南
  • 卷积神经网络在天文图像中自动搜寻双活动星系核的工程实践
  • Java中的接口
  • Rust Web框架对比:Axum、Rocket、Warp深度解析
  • YOLO26涨点改进| TIP 2025 |独家创新首发、特征融合改进篇|引入DFAM双特征聚合模块,通过局部纹理先验强化边缘、轮廓信息,助力小目标检测、RGB-D目标检测、多模态融合目标检测有效涨点
  • opencode 子代理配置
  • 国际半导体博览会汇总,适合企业出海参展的展会清单 - 品牌2025
  • AODV协议智能增强:多模型机器学习提升蓝牙Mesh网络路由可靠性
  • Java NIO.2 并发守卫:AcceptPendingException 源码深度剖析与异步状态机契约
  • PID算法从入门到进门
  • Java NIO 状态守卫:AlreadyBoundException 源码深度剖析与网络通道绑定契约
  • 未来趋势洞察:后端开发技术的前沿动态与发展方向
  • CentOS 7无线网络配置避坑指南:wpa_supplicant vs NetworkManager,我该选哪个?
  • 开源HARNode系统:高精度多设备可穿戴人体活动识别方案
  • 安卓So层Hook实战:ARM64函数定位与参数还原五步法
  • Vespucci Linter:专为机器学习笔记本设计的代码质量检查工具
  • 机器学习如何为Yannakakis算法打造智能开关,提升数据库查询性能
  • C++ 智能指针简介
  • 机器学习原子势能建模:深度集成与贝叶斯神经网络的不确定性估计对比
  • Kali NetHunter移动渗透实战:Magisk模块化部署与外设适配
  • 中国半导体行业展会详解,挑选适配企业的参展平台 - 品牌2025
  • oauthd:轻量级开源OAuth2.0授权中心与企业权限治理实践
  • AI驱动的红队渗透工具包:Nmap语义解析与Metasploit动态编排