LLMs: 近端策略优化PPO Proximal policy optimization

news2024/11/19 11:19:14

在这里插入图片描述

Dr. Ehsan Kamalinejad,通常简称为EK,是一位机器学习应用科学家。他目前是亚马逊NLP开发中的精英科学家。以前,他共同创办了Visual One,一家Y Combinator计算机视觉初创公司。在此之前,他曾担任苹果的首席机器学习工程师,参与了诸如“回忆”等项目。EK还是加州州立大学东湾分校的数学副教授。EK,感谢您今天加入我们讨论PPO强化学习算法。谢谢您的邀请。
在这里插入图片描述

PPO代表什么,这些术语在强化学习的背景下是什么意思?PPO代表近端策略优化,这是一种解决强化学习问题的强大算法。正如名称所示,PPO优化策略,在这种情况下是LLM,以更符合人类偏好。在许多迭代中,PPO对LLM进行更新。这些更新很小,并且在有界区域内,导致更新的LLM接近先前版本,因此得名为近端策略优化。将更改保持在这个小区域内可以实现更稳定的学习。

目标是更新策略,使奖励最大化。您可以讨论一下在大语言模型的特定背景下,这是如何工作的吗?是的,很高兴。您首先使用初始指导Instruct LLM启动PPO,然后从高层次来看,PPO的每个周期都经历两个阶段。
在这里插入图片描述

在第一阶段中,LLM用于执行多个实验,完成给定的提示。
在这里插入图片描述

这些实验允许您根据第二阶段的奖励模型更新LLM。请记住,奖励模型捕捉了人类的偏好。例如,奖励可以定义响应的有用性、无害性和诚实性。完成的预期奖励是PPO目标中使用的重要数量。我们通过LLM的一个称为价值函数的独立头部来估计这个数量。

在这里插入图片描述

让我们更仔细地看看价值函数和价值损失。假设给出了一些提示。首先,您生成提示的LLM响应,然后使用奖励模型计算提示完成的奖励。例如,这里显示的第一个提示完成可能会获得1.87的奖励。接下来的提示可能会获得-1.24的奖励,依此类推。

在这里插入图片描述

您有一组提示完成和相应的奖励。价值函数估计了给定状态S的预期总奖励。换句话说,当LLM生成完成的每个令牌时,您希望根据当前的令牌序列来估计未来的总奖励。您可以将其视为根据对齐标准评估完成的质量的基线。假设在完成的这一步,估计的未来总奖励是0.34。通过下一个生成的令牌,估计的未来总奖励增加到1.23。目标是最小化价值损失,即实际未来总奖励(在本例中为1.87)与其对价值函数的近似(在本例中为1.23)之间的差异。
在这里插入图片描述

价值损失使未来奖励的估计更加准确。然后,价值函数在第二阶段的优势估计中使用,我们稍后会讨论。这类似于当您开始写一篇文章时,甚至在撰写之前就对其最终形式有了大致的想法。

您提到了第1阶段确定的损失和奖励在第2阶段用于更新权重,从而生成更新的LLM。您能更详细地解释一下这个过程吗?当然。在第2阶段,您对模型进行小的更新,并评估这些更新对模型的对齐目标的影响。
在这里插入图片描述

模型权重的更新受提示完成、损失和奖励的指导。PPO还确保将模型更新保持在称为信任区域的某个小区域内。这是PPO近端方面的地方。理想情况下,一系列小的更新将使模型朝着更高的奖励方向前进。PPO策略目标是这种方法的主要组成部分。请记住,目标是找到一个期望奖励很高的策略。换句话说,您试图对LLM权重进行更新,以便生成更符合人类偏好且因此获得更高奖励的完成。

策略损失是PPO算法在培训过程中试图优化的主要目标。我知道数学看起来很复杂,但实际上比看起来简单。让我们逐步分解。
在这里插入图片描述

首先,将重点放在最重要的表达式上,现在忽略其余部分。
在这里插入图片描述

在LLM的这种情况下,Pi(At | St)是给定当前提示St的情况下下一个令牌At的概率。行动At是下一个令牌,状态St是截止到令牌t的完成提示。
在这里插入图片描述

分母是使用初始版本的LLM(已冻结)的下一个令牌的概率。
在这里插入图片描述

分子是通过更新的LLM(我们可以改进奖励)计算的下一个令牌的概率。
在这里插入图片描述

A-hat_t被称为给定一种行动选择的估计优势项。优势项估计当前行动与数据状态下所有可能行动相比更好或更差的程度。
在这里插入图片描述

我们查看了完成后的新令牌的未来奖励的预期值,并估计了这个完成相对于其他完成的优势。有一个用于基于我们之前讨论的价值函数估计这个数量的递归公式。在这里,我们关注直观的理解。

这是我刚才所描述的内容的可视化表示。您有一个提示S,有不同的路径来完成它,由图上的不同路径表示。优势项告诉您当前令牌A_t与所有可能令牌相比是更好还是更差。在这个可视化中,向上走的顶部路径是更好的完成,获得更高的奖励。底部路径下降,这是最差的完成。在这里插入图片描述

所以我有一个问题EK,为什么最大化这个项会导致更高的奖励?让我们考虑一下,如果建议的令牌的优势是正的情况。正的优势意味着建议的令牌比平均水平更好。因此,增加当前令牌的概率似乎是一种导致更高奖励的好策略。这意味着最大化我们这里的表达式。如果建议的令牌比平均水平差,优势将为负。同样,最大化表达式将降低令牌,这是正确的策略。因此,总的结论是最大化这个表达式会导致更好对齐的LLM。

太好了。那么我们就直接最大化这个表达式吧。直接最大化表达式会导致问题,因为我们的计算是在优势估计有效的假设下可靠的。只有当旧策略和新策略彼此接近时,优势估计才有效。这就是其余术语发挥作用的地方。因此,回过头来再看整个方程,这里发生的情况是选择两个术语中较小的那个。
在这里插入图片描述

我们刚刚讨论过的一个术语
在这里插入图片描述

和它的第二个修改版本。
在这里插入图片描述

请注意,第二个表达式定义了一个区域,在这个区域内,两个策略彼此接近。这些额外的术语是防护栏,只是定义了一个在LLM附近的区域,我们的估计有小误差。这称为信任区域。
在这里插入图片描述

这些额外的术语确保我们不太可能离开信任区域。
在这里插入图片描述

总之,优化PPO策略目标可以在稳定的方式下更新模型,使其符合人类偏好。

还有其他附加组件吗?是的。还有熵损失。虽然策略损失将模型推向对齐目标,熵允许模型保持创造力。如果您保持熵低,可能最终会像这里所示一样总是以相同的方式完成提示。更高的熵引导LLM朝着更富创造力的方向发展。
在这里插入图片描述

这类似于您在第1周中看到的LLM的温度设置。不同之处在于,温度影响模型在推理时的创造力,而熵则影响模型在培训期间的创造力。

将所有术语作为加权总和放在一起,我们得到了我们的PPO目标,它以稳定的方式更新模型以符合人类的偏好。这是整体的PPO目标。
在这里插入图片描述

C1和C2系数是超参数。
在这里插入图片描述

PPO目标通过反向传播在多个步骤上更新模型权重。一旦模型权重被更新,PPO开始一个新的周期。
在这里插入图片描述

对于下一次迭代,LLM将替换为更新的LLM,并开始一个新的PPO周期。
在这里插入图片描述

经过多次迭代,您将获得与人对齐的LLM。
在这里插入图片描述

那么,还有其他用于RLHF的强化学习技术吗?是的。例如,Q-Learning是一种通过RL微调LLM的替代技术,但目前PPO是最流行的方法。在我看来,PPO之所以流行,是因为它在复杂性和性能之间有着适当的平衡。尽管如此,通过人类或AI反馈微调LLM仍然是一个活跃的研究领域。在不久的将来,我们可以预期在这个领域会有更多的发展。

例如,在录制这段视频之前不久,斯坦福的研究人员发表了一篇论文,描述了一种称为直接偏好优化的技术,这是RLHF的一个更简单的替代方法。像这样的新方法仍在积极开发中,还需要更多的工作来更好地了解它们的好处,但我认为这是一个非常令人兴奋的研究领域。

同意。非常感谢EK分享有关PPO和强化学习的见解。谢谢,安德烈亚。感谢您。

Reference

https://www.coursera.org/learn/generative-ai-with-llms/lecture/1iZJO/optional-video-proximal-policy-optimization

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

WPS/word 表格跨行如何续表、和表的名称

1:具体操作: 将光标定位在跨页部分的第一行任意位置,按下快捷键ctrlshiftenter,就可以在跨页的表格上方插入空行(在空行可以写,表1-3 xxxx(续)) 在空行中输入…

NUWA论文阅读

论文链接:NUWA: Visual Synthesis Pre-training for Neural visUal World creAtion 文章目录 摘要引言相关工作视觉自回归模型视觉稀疏自注意 方法3D数据表征3D Nearby Self-Attention3D编码器-解码器训练目标 实验实现细节与SOTA比较T2I微调T2V微调V2V微调Sketch-t…

高效的ProtoBuf

一、背景 Google ProtoBuf介绍 这篇文章我们讲了怎么使用ProtoBuf进行序列化,但ProtoBuf怎么做到最高效的,它的数据又是如何压缩的,下面先看一个例子,然后再讲ProtoBuf压缩机制。 二、案例 网上有各种序列化方式性能对比&#…

elment以及elementPlus选中组件出现黑框问题解决!!

目录 问题: 图示: 解决方案: 问题: 使用elementPlus的按钮组件,点击按钮后会出现黑框,除非点击其他地方才能取消掉(之前使用elment-ui其它组件时也出现过) 图示: 解决方案…

2023网络安全工程师可以考哪些证书?只学习不考证怎么行呢?

想入网安行业的小可爱们,如果你在疯狂学习知识技能的同时,也计划着考取一些证书当做入门的金钥匙🔑。 先别急,如果还没有进入网络安全工作岗位,那么,首要任务是打好基础,学好网络安全技术。若是…

docker容器启动成功外部访问不到

1.重启docker服务 systemctl restart docker

9张图深入剖析ConcurrentHashMap

前言 在日常的开发中,我们经常使用key-value键值对的HashMap,其使用哈希表实现,用空间换取时间,提升查询性能 但在多线程的并发场景中,HashMap并不是线程安全的 如果想使用线程安全的,可以使用Concurren…

Swing程序设计(5)绝对布局,流布局

文章目录 前言一、布局管理器二、介绍 1.绝对布局2.流布局总结 前言 Swing窗体中,每一个组件都有大小和具体的位置。而在容器中摆放各种组件时,很难判断其组件的具体位置和大小。即一个完整的界面中,往往有多个组件,那么如何将这…

R函数optim()最小化或者最大化多参数函数

一、optimize()最小化或者最大化单参数函数 1.1函数介绍 函数功能描述:给定一个单参数函数f,需要找到使得f达到其最小值或者最大值的点。 使用optimize()函数最小化单参数函数时,需要指定最小化的函数f及其定义域(x的上界和下界…

Seata 源码篇之AT模式启动流程 - 中 - 03

Seata 源码篇之AT模式启动流程 - 中 - 03 数据源代理会话代理锁定查询执行器本地事务提交本地事务回滚 更新执行器删除执行器插入执行器 小节 本系列文章: Seata 源码篇之核心思想 - 01Seata 源码篇之AT模式启动流程 - 上 - 02 数据源代理 当我们的数据源被代理后&#xff0c…

[C]嵌入式中变量存储方案

#include<stdio.h>#define uint8_t unsigned char #define uint16_t unsigned short #define uint24_t unsigned int #define uint32_t unsigned int #define uint64_t unsigned long long//用户自定义变量名字&#xff0c;用于存储 typedef enum {first_run 0,//…

Linux: tcpdump抓包示例

文章目录 1. 前言2. TCP 状态机3. tcpdump 抓包示例3.1 抓连接握手包&#xff1a;三次握手3.2 抓数据包示例3.3 抓终结连接&#xff1a;四次挥手 4. 参考资料 1. 前言 限于作者能力水平&#xff0c;本文可能存在谬误&#xff0c;因此而给读者带来的损失&#xff0c;作者不做任…

【面试HOT100】哈希双指针滑动窗口

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于LeetCodeHot100进行的&#xff0c;每个知识点的修正和深入主要参考…

创建vue3工程

一、新建工程目录E:\vue\projectCode\npm-demo用Visual Studio Code 打开目录 二、点击新建文件夹按钮&#xff0c;新建vue3-01-core文件夹 三、右键vue3-01-core文件夹点击在集成终端中打开 四、初始化项目&#xff0c;输入npm init 一直敲回车直到创建成功如下图 npm init 五…

The directory ‘*‘ or its parent directory is not owned by the current user

python安装编译时出现如下错误 The directory /home/admin/.cache/pip/http or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may …

【办公软件】案例:电路中计算出的电阻值为5欧,怎么通过Excel匹配到仓库里最接近的电阻值?

在实际工作中&#xff0c;比如我们计算出一个电阻值为46欧&#xff0c;那么我们的库里到底是有哪个电阻值最接近呢&#xff1f;可能有一些有经验的工程师会说当然是47欧呀。 但是如果我们计算出来的是80.2欧呢&#xff1f;是不是得去查一下表格看看到底哪个最接近&#xff0c;…

PyTorch入门之【tensor】

目录 tensor的创建tensor的相关信息tensor的运算 tensor的创建 1.手动创建 import torch test1torch.tensor([1,2,3])#一维时为向量 test2torch.tensor([[1,2,3]])#二维时为矩阵 test3torch.tensor([[[1,2,3]]])#三维及以上统称为tensor print(test1) print(test2) print(tes…

C++ 类和对象篇(四) 构造函数

目录 一、概念 1. 构造函数是什么&#xff1f; 2. 为什么C要引入构造函数&#xff1f; 3. 怎么用构造函数&#xff1f; 3.1 创建构造函数 3.2 调用构造函数 二、构造函数的特性 三、构造函数对成员变量初始化 0. 对构造函数和成员变量分类 1. 带参构造函数对成员变量初始化 2. …

云存储解决方案-阿里云OSS

1. 阿里云OSS简介 阿里云对象存储服务&#xff08;Object Storage Service&#xff0c;简称OSS&#xff09;为用户提供基于网络的数据存取服务。使用OSS&#xff0c;用户可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种非结构化数据文件。 阿里云OSS将数据…

练[BJDCTF2020]Easy MD5

[BJDCTF2020]Easy MD5 文章目录 [BJDCTF2020]Easy MD5掌握知识解题思路关键paylaod 掌握知识 ​ 强等于和弱等于的MD5绕过&#xff0c;数据库查询的MD5加密绕过&#xff0c;代码审计 解题思路 打开题目链接&#xff0c;发现是一个post提交框&#xff0c;提交完了也就是url发…