verl二次开发

参考视频:b站--使用verl实现code-r1(agent-rl,verl二次开发)

一、强化学习的两个流程:

  1. 加载模型(无需修改)(verl使用ray进行调度)

  2. 训练过程

get_data_batch(无需修改)

生成序列的过程:

generate_sequences(normal-rl和agent-rl)

normal-rl:单轮交互

agent-rl:多轮交互 与环境交互 获得反馈(prompt-->model-->response-->env(tool call, code exec, etc)--> model-->response)

reward(无需修改)

log_probs

adv(优势 需要修改 强化学习方法之间的差异主要体现在adv的计算方式)

compute_loss

normal_rl: 无需和环境交互

angent_rl:计算损失时需要对其进行mask

二、ray_trainer部分代码详解

1. verl中数据传递

通过数据类实现 batch+元数据,其中batch是张量字典tensordict

batch: DataProto = DataProto.from_single_dict(batch_dict)

2. dataproto

DataProtoMMEngine(OpenMMLab 2.0 生态的核心引擎) 中定义的一个数据原型类 ,用于统一封装模型训练 / 推理过程中的批量数据(如图像、标签、元信息等),并提供标准化的接口供模型、数据集和数据加载器之间交互。

在 OpenMMLab 框架(如 MMDet、MMCls、MMSeg 等)中,数据从数据集读取后,会通过 DataLoader 组装成批量数据(batch_dict,字典格式),再通过 DataProto.from_single_dict(batch_dict) 转换为 DataProto 实例。

相关推荐
初心未改HD1 小时前
深度学习之感知机详解
人工智能·深度学习
2zcode2 小时前
基于深度学习的车辆品牌与类型智能识别系统设计与实现
人工智能·深度学习·智能交通
广州灵眸科技有限公司2 小时前
瑞芯微(EASY EAI)RV1126B 模型部署API说明
linux·开发语言·网络·人工智能·深度学习·算法·yolo
金融小师妹3 小时前
基于AI通胀风险识别模型与联储决策框架的政策分歧研究:鹰派权重上升后的全球流动性再定价分析
大数据·深度学习·逻辑回归·线性回归
AI周红伟3 小时前
RTX 5090 24G 部署 DeepSeek-V4-Flash 全攻略
人工智能·深度学习
数智工坊3 小时前
【BLIP论文阅读】:统一视觉语言理解与生成的自举式预训练范式
论文阅读·人工智能·深度学习·算法·transformer
这张生成的图像能检测吗3 小时前
(论文速读)MDRS-GAN:基于多尺度密集残余收缩GAN的旋转机械故障诊断
人工智能·深度学习·生成对抗网络·故障诊断
AI医影跨模态组学12 小时前
Lancet Digit Health(IF=24.1)广东省人民医院刘再毅&南方医科大学南方医院梁莉等团队:基于可解释深度学习模型预测胶质瘤分子改变
人工智能·深度学习·论文·医学·医学影像·影像组学
CSND74012 小时前
YOLO resume断点续训(不能用官方的权重,是自己训练一半生成的last.pt)
深度学习·yolo·机器学习