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 实例。

相关推荐
其美杰布-富贵-李9 分钟前
为什么注意力分数要除以 $\sqrt{d_k}$
深度学习·注意力
ZENERGY-众壹21 分钟前
AI 诊断光伏组件热斑:从 10% 功率偏差到深度学习建模的实战复盘
人工智能·深度学习·光伏运维·逆变器api·能源数字化
今心上1 小时前
关于d2l中train_ch3以及softmax中图在pycharm中显示不出来的解决方案
深度学习·机器学习·pycharm
大鱼>18 小时前
深入Real-ESRGAN架构:RRDBNet设计精髓与ONNX/TensorRT部署优化
人工智能·深度学习·架构
2zcode19 小时前
项目文档:基于MATLAB深度卷积神经网络的肺癌CT影像智能检测系统设计与实现
深度学习·matlab·cnn
m沐沐19 小时前
【深度学习】卷积神经网络 数据增强、保存最优模型实现,详细解读
人工智能·python·深度学习·机器学习·cnn·数据增强
硅谷秋水19 小时前
PhyGround:生成式世界模型中的物理推理基准测试
人工智能·深度学习·机器学习·计算机视觉·语言模型
coder_zrx20 小时前
大语言模型训练范式:从 GPT 到 Llama 的 RLHF 演进
人工智能·深度学习
不懒不懒20 小时前
Windows 深度学习环境配置(CUDA12.8 + cuDNN9.x + PyTorch)最简避坑指南(2026 最新)
人工智能·pytorch·深度学习
Kobebryant-Manba20 小时前
Hugging Face中transformers库
人工智能·深度学习·机器学习·bert