PPO

news/2025/10/28 15:22:15/文章来源:https://www.cnblogs.com/rifo/p/19171895
for batch_prompt in prompt_dataset:batch_response = active_model.generate(batch_prompt)batch_data = concat(batch_prompt, batch_response)batch_scores = reward_model(batch_data)batch_all_probs, batch_probs, batch_all_values = active_model.forward_pass(batch_data)ref_all_probs, ref_probs, ref_all_values = ref_model.forward_pass(batch_data)kls = compute_KL(batch_all_probs, ref_all_probs)rewards = compute_rewards(batch_scores, kls)advantages = compute_advantages(batch_all_values, rewards)returns = advantages + batch_all_valuesfor i in range(epoch):active_all_probs, active_probs, active_all_values = active_model.forward_pass(batch_data)loss_state_value = torch.mean((returns - active_all_values) ** 2)ratio = active_probs / batch_probsloss_ppo = torch.mean(-advantages * ratio)loss = loss_ppo + value_loss_rate * loss_state_valueloss.backward()optimizer.step()optimizer.zero_grad()

上面的代码是PPO训练的整体代码,参考教学视频:

https://www.bilibili.com/video/BV1rixye7ET6?spm_id_from=333.788.videopod.sections&vd_source=da862fa7a218e81897b55d7e24fe26ee

https://www.bilibili.com/video/BV1iz421h7gb?spm_id_from=333.788.videopod.sections&vd_source=da862fa7a218e81897b55d7e24fe26ee

https://www.bilibili.com/video/BV1enQLYKEA5/?spm_id_from=333.1387.homepage.video_card.click&vd_source=da862fa7a218e81897b55d7e24fe26ee


四个模型

基准模型(ref_model) 训练模型(activate model) 奖励模型(reward model) 状态价值模型(state_value model)

其中训练模型和状态价值模型只有输出头不同,在代码里体现为:active_model 同时包含策略头(policy head)和状态价值头(value head)

image-20251028151952344

scores估算

batch_response = active_model.generate(batch_prompt)  #采样一次
batch_data = concat(batch_prompt, batch_response) #拼接prompt+result
batch_scores = reward_model(batch_data) #PPO的奖励模型,只输出seq_len的最后一个位置的score,其他位置为0
batch_all_probs, batch_probs, batch_all_values = active_model.forward_pass(batch_data)
ref_all_probs, ref_probs, ref_all_values = ref_model.forward_pass(batch_data)
kls = compute_KL(batch_all_probs, ref_all_probs)
rewards = compute_rewards(batch_scores, kls)  #eg. batch_scores+(-0.2)*kls

计算基准模型和训练模型的KL散度,并利用KL散度和scores计算rewards

score计算,即GRPO(Group Relative Policy Optimization)的主要创新,相比PPO不只采样一次,而是使用active_model采样多次,得到result与多个scores序列,然后对其进行标准化。

image-20251028151908583

GAE 广义优势估计:中和偏差与方差计算优势函数

image-20251028151926780

通过advantages和values相加计算values head labels即returns,让state_value model拟合这个returns值


一个batch训练阶段

对一个batch数据进行epoch次的更新,loss分别是loss_ppo和loss_state_value,更新active model

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

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

相关文章

【SPIE出版|EI检索稳定】2025年机电一体化与轨道交通国际学术会议(MRT 2025)

由黄河科技学院主办,2025年机电一体化与轨道交通国际学术会议(MRT 2025)于2025年11月14-16日在河南郑州举办,这是一个集中探讨全球机电一体化与轨道交通领域创新和挑战的国际学术平台。旨在汇集全球领域内的学者、研…

脑电数据PCA处理及SVM分类

使用主成分分析(PCA)处理脑电数据(EEG)并利用支持向量机(SVM)进行分类。 %% 脑电数据PCA处理及SVM分类 clear; clc; close all;%% 1. 加载脑电数据(这里使用示例数据,实际应用中应替换为真实EEG数据) % 假设我们有一…

T671195 于凋亡季节中的我们

复合函数如果满足结合律考虑线段树维护分段函数。首先发现对于一个询问 \([l,r]\),我们如果直接去做是很难做的。但是我们发现这个位置它一定是满足结合律的,因为 \(L,R\) 不会发生变化。于是对于区间满足结合律的问…

2025年临沂营业执照注册推荐:华恒财税的专业选择

文章摘要 本文探讨2025年临沂营业执照注册的趋势,分析用户如何选择靠谱的服务商。重点推荐华恒财税的一站式专业服务,基于其财政局许可和协会成员资质,帮助创业者省心高效完成注册。内容涵盖行业洞察、选择标准和实…

2025 年盐城异常处理,盐城行业资质,盐城财务代账,盐城会计代账公司最新推荐,聚焦资质、案例、售后的五家公司深度解读

引言 为助力盐城企业精准选择优质会计代账服务机构,本次测评由盐城中小企业服务协会联合专业财税研究机构共同开展,覆盖盐城本地 30 余家主流代账公司。测评采用 “三维九项” 评估体系,从资质合规性(含工商核准资…

如何在Windows下开发输入法:Mini How to

如何在Windows下开发输入法:Mini How toRIME (中州韻輸入法引擎)是一個跨平臺的輸入法框架。基於這一框架,開發者们在Windows、macOS、Linux、Android等平臺上創造了不同的輸入法前端實現。 Weasel (小狼毫)是它的Wi…

2025 年 10 月盐城公司变更,盐城地址挂靠,盐城商标注册公司最新推荐,聚焦资质、案例、售后的五家公司深度解读

引言 随着 2025 年盐城企业经营活动的日益频繁,公司变更、地址挂靠、商标注册等服务需求持续攀升。为帮助企业精准选择可靠服务机构,本次测评由盐城中小企业服务协会联合专业财税咨询机构共同开展,采用多维度测评方…

第一天学习

markdown学习 标题 三级标题 四级标题 hello,world! hello,world! hello,world! hello,world! hello,world! hello,world! 引用我在学习引用分割线图片超连接 点击跳转至微博 列表A CA B C表格名字 性别 生日张三 男 1…

AI元人文:星火与土壤

AI元人文:星火与土壤 此刻,我坐在晨光与迷雾的交界处。 面前这片名为"AI元人文"的思想原野,我曾在此播种,在此守望。如今薄雾轻笼,我看不清远方的路径。这不是挫败,而是一种奇异的丰盈——就像大地在深…

5-4-其他查询 - 实践

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

K3s + Sysbox:让容器拥有“虚拟机的灵魂”

K3s 与 Sysbox 的结合,让容器突破应用边界,兼具虚拟机的自由与容器的轻盈,为云原生带来全新的系统级可能。K3s 二进制文件集成了运行生产级、符合 CNCF 标准的 Kubernetes 集群所需的全部组件,包括 containerd、ru…

题解:AT_abc200_e [ABC200E] Patisserie ABC 2

目前暂无修正。前言:终于轮到我复杂问题简单化啦哈哈哈。 为什么题解区一车容斥啊?复杂难推导且根本没必要。这里给出一个桶 + 前缀和的做法。与这篇题解类似,但是由于其并没有详细地写出过程,写得也较为简略,所以…

CF1996G Penacony

启动脑子题专场。 首先一个比较关键的地方在于,这个题是环,不是链。想链的情况下怎么做,那么所有路径都已经确定了,我们使用简单数据结构维护一下区间覆盖即可。 发现一个事情,就是最后最优的情况必定至少割掉一条…

远程命令执行漏洞、SSRF、XXE、tomcat弱口令漏洞

1、简述远程命令执行漏洞原理分别选择dvwa 低、中、高三种安全等级复现 原理:攻擊者能夠在遠端伺服器或系統上執行任意程式碼或系統指令,等同於取得該系統的控制權或執行權限。 [低]:2、简述文件包含漏洞原理并在dvwa…

Ollama API 交互

Ollama API 交互 Ollama 提供了基于 HTTP 的 API,允许开发者通过编程方式与模型进行交互。 本文将详细介绍 Ollama API 的详细使用方法,包括请求格式、响应格式以及示例代码。 1. 启动 Ollama 服务 在使用 API 之前,…

项目冷场?用禅道协作白板激活团队的创新思维!

就像羊群习惯了追随领头羊,团队长期用这种固化的思路推进项目,只会慢慢失去创造、发散的能力;但反过来,过于自由、无结构的思考,又会让会议或创意陷入各说各话、毫无结果的低效中。优化产品时,满脑子只有简化操作…

xxx.ped 在生物信息学中是什么?

以cropformer为例:上图中每一行和每一列分别表示什么意思? 要理解 test.ped 文件中的数据含义,需结合作物基因组学中PED格式的标准定义和Cropformer的研究背景(基于基因组SNP数据预测作物表型),具体解析如下: 1…

Ollama 基本概念

Ollama 基本概念 Ollama 是一个本地化的、支持多种自然语言处理(NLP)任务的机器学习框架,专注于模型加载、推理和生成任务。 通过 Ollama,用户能够方便地与本地部署的大型预训练模型进行交互。 1. 模型(Model) 在…

2025年桥洞力学板市场趋势与选购指南:江苏同芯木业江苏行业领先

摘要 桥洞力学板作为人造板行业的重要分支,在2025年预计将继续保持增长势头,受益于建筑和家具市场的需求扩张。行业发展趋势显示,环保性、耐用性和定制化服务成为关键竞争点。本文提供了一份详细的品牌排名表单,供…

2025年桥洞力学板行业发展趋势与前五厂家推荐

摘要 随着绿色建筑理念的深入推进,桥洞力学板作为环保型人造板的重要品类,在2025年迎来快速发展期。本文基于行业数据和技术参数分析,为您梳理当前市场优质桥洞力学板品牌排名,并提供详细的选购指南。文末附有行业…