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

2024-06-17 21:12
文章标签 函数 怎么 目标 ppo gpt3.5 ptx

本文主要是介绍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 ∈ [ 0 , 1 ] Q π S F T ( s , a ) ] = max ⁡ E ( s , a ) ∼ R L [ r ( s , a ) − π ( a ∣ s ) π S F T ( a ∣ s ) ∫ a ∈ [ 0 , 1 ] 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\in[0,1]} Q^{\pi_{SFT}}(s,a)]\\=\max E_{(s,a)\sim RL}[r(s,a)-\frac{\pi(a|s)}{\pi_{SFT}(a|s)}\int_{a\in[0,1]} 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)a[0,1]QπSFT(s,a)]=maxE(s,a)RL[r(s,a)πSFT(as)π(as)a[0,1]r(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的优化目标基本一致:
在这里插入图片描述

这篇关于GPT3.5的PPO目标函数怎么来的:From PPO to PPO-ptx的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1070499

相关文章

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

MySql死锁怎么排查的方法实现

《MySql死锁怎么排查的方法实现》本文主要介绍了MySql死锁怎么排查的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录前言一、死锁排查方法1. 查看死锁日志方法 1:启用死锁日志输出方法 2:检查 mysql 错误

MySQL数据库函数之JSON_EXTRACT示例代码

《MySQL数据库函数之JSON_EXTRACT示例代码》:本文主要介绍MySQL数据库函数之JSON_EXTRACT的相关资料,JSON_EXTRACT()函数用于从JSON文档中提取值,支持对... 目录前言基本语法路径表达式示例示例 1: 提取简单值示例 2: 提取嵌套值示例 3: 提取数组中的值注意

Rsnapshot怎么用? 基于Rsync的强大Linux备份工具使用指南

《Rsnapshot怎么用?基于Rsync的强大Linux备份工具使用指南》Rsnapshot不仅可以备份本地文件,还能通过SSH备份远程文件,接下来详细介绍如何安装、配置和使用Rsnaps... Rsnapshot 是一款开源的文件系统快照工具。它结合了 Rsync 和 SSH 的能力,可以帮助你在 li

Java function函数式接口的使用方法与实例

《Javafunction函数式接口的使用方法与实例》:本文主要介绍Javafunction函数式接口的使用方法与实例,函数式接口如一支未完成的诗篇,用Lambda表达式作韵脚,将代码的机械美感... 目录引言-当代码遇见诗性一、函数式接口的生物学解构1.1 函数式接口的基因密码1.2 六大核心接口的形态学

电脑密码怎么设置? 一文读懂电脑密码的详细指南

《电脑密码怎么设置?一文读懂电脑密码的详细指南》为了保护个人隐私和数据安全,设置电脑密码显得尤为重要,那么,如何在电脑上设置密码呢?详细请看下文介绍... 设置电脑密码是保护个人隐私、数据安全以及系统安全的重要措施,下面以Windows 11系统为例,跟大家分享一下设置电脑密码的具体办php法。Windo

怎么关闭Ubuntu无人值守升级? Ubuntu禁止自动更新的技巧

《怎么关闭Ubuntu无人值守升级?Ubuntu禁止自动更新的技巧》UbuntuLinux系统禁止自动更新的时候,提示“无人值守升级在关机期间,请不要关闭计算机进程”,该怎么解决这个问题?详细请看... 本教程教你如何处理无人值守的升级,即 Ubuntu linux 的自动系统更新。来源:https://

Ubuntu系统怎么安装Warp? 新一代AI 终端神器安装使用方法

《Ubuntu系统怎么安装Warp?新一代AI终端神器安装使用方法》Warp是一款使用Rust开发的现代化AI终端工具,该怎么再Ubuntu系统中安装使用呢?下面我们就来看看详细教程... Warp Terminal 是一款使用 Rust 开发的现代化「AI 终端」工具。最初它只支持 MACOS,但在 20

LinuxMint怎么安装? Linux Mint22下载安装图文教程

《LinuxMint怎么安装?LinuxMint22下载安装图文教程》LinuxMint22发布以后,有很多新功能,很多朋友想要下载并安装,该怎么操作呢?下面我们就来看看详细安装指南... linux Mint 是一款基于 Ubuntu 的流行发行版,凭借其现代、精致、易于使用的特性,深受小伙伴们所喜爱。对