GPT3.5的PPO目标函数怎么来的:From PPO to PPO-ptx

给定当前优化的大模型 π \pi π,以及SFT模型 π S F T \pi_{SFT} πSFT

原始优化目标为: max ⁡ E ( s , a ) ∼ R L [ π ( s , a ) π S F T ( s , a ) A π S F T ( s , a ) ] \max E_{(s,a)\sim RL}[\frac{\pi(s,a)}{\pi_{SFT}(s,a)}A^{\pi_{SFT}}(s,a)] maxE(s,a)RL[πSFT(s,a)π(s,a)AπSFT(s,a)]

假设型 π \pi π,以及SFT模型 π S F T \pi_{SFT} πSFT的KL散度很小即 π ( s , a ) π S F T ( s , a ) = 1 \frac{\pi(s,a)}{\pi_{SFT}(s,a)}=1 πSFT(s,a)π(s,a)=1

给定奖励模型 r ( s , a ) ∈ [ 0 , 1 ] r(s,a)\in [0,1] r(s,a)[0,1],

假设整个事件的时间范围就1步所以 Q ( s , a ) = R ( s , a ) = r ( s , a ) Q(s,a)=R(s,a)=r(s,a) Q(s,a)=R(s,a)=r(s,a)

可以得到:

max ⁡ E ( s , a ) ∼ R L [ π ( s , a ) π S F T ( a ∣ s ) A π S F T ( a ∣ s ) ] = max ⁡ E ( s , a ) ∼ R L [ π ( a ∣ s ) π S F T ( a ∣ s ) ( Q π S F T ( s , a ) − V π S F T ( s ) ) ] = max ⁡ E ( s , a ) ∼ R L [ π ( a ∣ s ) π S F T ( a ∣ s ) ( r ( s , a ) − V π S F T ( s ) ) ] = max ⁡ E ( s , a ) ∼ R L [ r ( s , a ) − π ( a ∣ s ) π S F T ( a ∣ s ) V π S F T ( s ) ] = max ⁡ E ( s , a ) ∼ R L [ r ( s , a ) − π ( a ∣ s ) π S F T ( a ∣ s ) ∫ a Q π S F T ( s , a ) ] = max ⁡ E ( s , a ) ∼ R L [ r ( s , a ) − π ( a ∣ s ) π S F T ( a ∣ s ) ∫ a r ( s , a ) ] = max ⁡ E ( s , a ) ∼ R L [ r ( s , a ) − π ( a ∣ s ) π S F T ( a ∣ s ) ] \max E_{(s,a)\sim RL}[\frac{\pi(s,a)}{\pi_{SFT}(a|s)}A^{\pi_{SFT}}(a|s)] \\=\max E_{(s,a)\sim RL}[\frac{\pi(a|s)}{\pi_{SFT}(a|s)}(Q^{\pi_{SFT}}(s,a)-V^{\pi_{SFT}}(s))]\\=\max E_{(s,a)\sim RL}[\frac{\pi(a|s)}{\pi_{SFT}(a|s)}(r(s,a)-V^{\pi_{SFT}}(s))]\\=\max E_{(s,a)\sim RL}[r(s,a)-\frac{\pi(a|s)}{\pi_{SFT}(a|s)} V^{\pi_{SFT}}(s)]\\=\max E_{(s,a)\sim RL}[r(s,a)-\frac{\pi(a|s)}{\pi_{SFT}(a|s)}\int_{a} Q^{\pi_{SFT}}(s,a)]\\=\max E_{(s,a)\sim RL}[r(s,a)-\frac{\pi(a|s)}{\pi_{SFT}(a|s)}\int_{a} r(s,a)]\\=\max E_{(s,a)\sim RL}[r(s,a)-\frac{\pi(a|s)}{\pi_{SFT}(a|s)}] maxE(s,a)RL[πSFT(as)π(s,a)AπSFT(as)]=maxE(s,a)RL[πSFT(as)π(as)(QπSFT(s,a)VπSFT(s))]=maxE(s,a)RL[πSFT(as)π(as)(r(s,a)VπSFT(s))]=maxE(s,a)RL[r(s,a)πSFT(as)π(as)VπSFT(s)]=maxE(s,a)RL[r(s,a)πSFT(as)π(as)aQπSFT(s,a)]=maxE(s,a)RL[r(s,a)πSFT(as)π(as)ar(s,a)]=maxE(s,a)RL[r(s,a)πSFT(as)π(as)]
此外为了约束模型 π \pi π π S F T \pi_{SFT} πSFT之间不要差得太远还需要使用SFT的数据训练 π \pi π,等价于 max ⁡ E ( s , a ) ∼ π S F T [ π ( a ∣ s ) ] \max E_{(s,a)\sim \pi_{SFT}}[\pi(a|s)] maxE(s,a)πSFT[π(as)]。因此优化目标就变成了:
max ⁡ E ( s , a ) ∼ R L [ r ( s , a ) − π ( a ∣ s ) π S F T ( a ∣ s ) ] + E ( s , a ) ∼ π S F T [ π ( a ∣ s ) ] \max E_{(s,a)\sim RL}[r(s,a)-\frac{\pi(a|s)}{\pi_{SFT}(a|s)}]+E_{(s,a)\sim \pi_{SFT}}[\pi(a|s)] maxE(s,a)RL[r(s,a)πSFT(as)π(as)]+E(s,a)πSFT[π(as)]
这一项和GPT3.5的优化目标基本一致:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/353252.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么牌子的灯好不伤眼?带你了解什么灯对眼睛伤害最小

眼睛是人类获取信息最重要的感官器官之一,而近视则会导致视力模糊,进而影响学习效果和生活品质。因此,什么灯对眼睛伤害最小成为许多人迫切寻找的目标。本文将为各位家长解答目前许多家长选择为孩子保护视力的产品——护眼台灯。护眼台灯以其…

「小爱同学」接入豆包大模型;华为鸿蒙 OS 成为中国第二大操作系统丨 RTE 开发者日报 Vol.224

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real-Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

MySQL数据库入门

1、MySQL概述 MySQL官方网站 https://www.mysql.com/downloads/ MySQL被Oracle公司收购了,作者又重新编写了一个开源的数据库管理系统,Mariadb 2、MySQL产品&版本 2、数据库在网站架构中的角色 LAMP LNMP网站架构 3、安装MySQL-基于yum 查…

【记录46】【案例】echarts 柱状图

echarts环境4.1.0 <template><div id"threefour"></div> </template> <script> import * as echarts from "echarts" export default {name:"",components:{},data(){return {}},methods:{getdata(){var myChart…

找单身狗2

找单身狗2 之前遇到类似的题目的思路&#xff1a; 首先写出这些数的二进制形式&#xff1a; 核心原理 接下来的问题是怎么把5和6分开来&#xff1f; 这里是最后一位进行比较&#xff0c;按位异或是相同为0&#xff0c;相异为1&#xff0c;最后一位从上图看出是1&#xff0c;说…

Linux常用操作大全(上)

Linux常用操作 文章目录 Linux常用操作一、各类小技巧**1.ctrl c 强制停止****2.ctrl d 退出或登出**3.历史命令搜索4.光标移动快捷键5.清屏6.复制Ctrlshiftc7.粘贴Ctrlshiftv 二、软件安装1.概念2.yum与apt 三、systemctl控制服务四、软链接ln五、日期时区1.date查看日期2.修…

新能源汽车的能源动脉:中国星坤汽车电缆在新能源汽车电气化中的应用!

随着新能源汽车行业的蓬勃发展&#xff0c;汽车电缆组件作为汽车电气系统的核心组成部分&#xff0c;其重要性日益凸显。中国星坤汽车电缆组件以其卓越的性能和创新技术&#xff0c;为汽车的电能传输、信号传递和控制提供了坚实的保障。本文将深入解析星坤汽车电缆组件的特性、…

视频汇聚安防综合管理平台EasyCVR支持GA/T 1400视图库标准及设备接入配置

一、概述 视频汇聚安防综合管理平台EasyCVR视频监控系统已经与公安部GA/T 1400视图库标准协议实现了对接&#xff0c;即《公安视频图像信息应用系统》。 安防监控系统EasyCVR支持采用GA/T 1400进行对接&#xff0c;可实现人脸数据使用的标准化、合规化。其采用统一接口对接雪…

Linux C语言:指针和二维数组

一、一级指针和二维数组 二维数组的元素连续存储&#xff0c;按行优先存 二、数组指针和二维数组 1、二维数组名的理解 行指针&#xff08;数组指针&#xff09;存储行地址的指针变量&#xff0c;叫做行指针变量。形式如下&#xff1a; <数据类型> (*<指针变量名>…

字节豆包大模型API吞吐、函数调用能力、长上下文能力测试总结

离开模型能力谈API价格都是耍流氓&#xff0c;豆包大模型作为API最便宜的模型之一&#xff0c;最近向个人开发者开放了&#xff0c;花了300元和一些时间对模型的API吞吐、函数调用能力、长上下文能力等进行了深度测试&#xff0c;看看它的能力究竟适合做 AI 应用开发吗&#xf…

内部类介绍

内部类&#xff08;Inner Class&#xff09;是在另一个类的内部定义的类。它可以访问外部类的所有成员&#xff0c;包括私有成员。内部类有两种主要形式&#xff1a;局部内部类&#xff08;定义在方法内部&#xff09;和成员内部类&#xff08;定义在类的内部&#xff0c;但不在…

【随手记】贴一段matplotlib绘图的多图拼接代码

二维&#xff1a; import numpy as np import matplotlib.pyplot as pltpic_names ["pic1", "pic2", "pic3", "pic4", "pic5", "pic6", "pic7", "pic8", "pic9", "pic10&qu…

jupyter使用的一个奇怪bug——SyntaxError: invalid non-printable character U+00A0

bug来由&#xff1a;从其他部分例如kaggle里复制来的代码直接粘贴在jupyter notebook里&#xff0c;每一行代码都会出现&#xff1a; Cell In[5], line 1 warnings.filterwarnings(ignore) ^ SyntaxError: invalid non-printable character U00A0 单元格 In[5]&#xff0c;第 …

shell脚本编程(概念、编程和语句)

一、shell脚本概述 1、shell脚本概念 Shell 脚本是利用 shell 的功能所写的一个程序。这个程序是使用纯文本文件&#xff0c;将一些 shell 的语法与命令&#xff08;含外部命令&#xff09;写在里面&#xff0c;搭配正则表达式、管道命令与数据流重定向等功能。 2、Shell 脚…

【牛客面试必刷TOP101】Day33.BM70 兑换零钱(一)和BM71 最长上升子序列(一)

文章目录 前言一、BM70 兑换零钱(一)题目描述题目解析二、BM71 最长上升子序列(一)题目描述题目解析总结 前言 一、BM70 兑换零钱(一) 题目描述 描述&#xff1a; 给定数组arr&#xff0c;arr中所有的值都为正整数且不重复。每个值代表一种面值的货币&#xff0c;每种面值的货币…

STM32 proteus + STM32Cubemx仿真教程(第五课ADC光敏电阻采样教程)

文章目录 前言一、ADC概念二、光敏电阻的概念1. 光敏电阻的工作原理2. 光敏电阻的特性3. 光敏电阻的应用4. 光敏电阻的电路设计5. 实际使用中的注意事项总结 三、STM32Cubemx创建工程四、proteus仿真电路图五、代码编写1. HAL_ADC_Start 函数原型参数返回值功能描述示例 2. HAL…

【ARM Cache 及 MMU 系列文章 1.3 -- 如何判断 L2 Cache 是否实现?】

请阅读【ARM Cache 及 MMU/MPU 系列文章专栏导读】 及【嵌入式开发学习必备专栏】 文章目录 CPU Configuration Register代码实现CPU Configuration Register 在 Armv9 架构中,我们可以通过arm 提供的自定义寄存器IMP_CPUCFR_EL1 来判断当前系统中是否实现了 L2 Cache, 如下所…

Chromium 开发指南2024 Mac篇-Xcode安装(二)

1.引言 在开始编译和开发 Chromium 之前&#xff0c;确保开发环境的正确配置是至关重要的。对于 Mac 用户来说&#xff0c;Xcode 是不可或缺的工具&#xff0c;因为它不仅提供了必需的编译器和工具链&#xff0c;还包含了与 macOS 系统深度整合的开发资源。在本系列指南的第一…

LeetCode | 2879.显示前三行

在 pandas 中&#xff0c;可以使用 head() 方法来读取 DataFrame 的前几行数据。如果想读取指定数量的行&#xff0c;可以在 head() 方法中传入一个参数 n&#xff0c;读取前 n 行 import pandas as pddef selectFirstRows(employees: pd.DataFrame) -> pd.DataFrame:retur…

嵌入式中间件_3.嵌入式中间件的一般架构

根据嵌入式中间件的不同类型和其应用对象的不同&#xff0c;其架构也有所不同&#xff0c;通常嵌入式中间件没有统一的架构&#xff0c;这里仅仅列举两种中间件架构。 1.消息中间件 1.1消息中间件原理架构 消息中间件是消息传输过程中保存消息的一种容器。它将消息从它的源中…