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

相关推荐
云和数据.ChenGuang9 小时前
fastapi的参数剖析
人工智能·深度学习·机器学习·语言模型·状态模式·fastapi
goodlook012311 小时前
LLaMa factory 大模型高效微调(二)
人工智能·深度学习·llama
Chasing__Dreams11 小时前
大模型应用开发--6--Transformer架构介绍
深度学习·架构·transformer
147API12 小时前
蒸馏模型版本升级怎么做,权重、评测器和服务配置一起管
人工智能·深度学习·蒸馏·模型蒸馏
chen_zn9518 小时前
《VLA 系列》π0.5 + KI | 知识隔离 | 离散与连续动作联合训练 | 论文与源码解析
人工智能·深度学习·注意力机制·vla
EasyGBS19 小时前
告别“通用AI”的三大痛点:国标GB28181公网平台EasyGBS+DLTM让企业拥有专属AI安防大脑
人工智能·深度学习·机器学习
就是一顿骚操作19 小时前
VGG:用小卷积块把 CNN 做深的经典解读
人工智能·深度学习·神经网络·cnn·论文解读
高洁0121 小时前
工信部教考中心证书
人工智能·深度学习·算法·机器学习·知识图谱
hhzz1 天前
《深度学习框架PyTorch入门与实践》系列:09-分布式与并行训练之DataParallel、DDP与Horovod
pytorch·分布式·深度学习
心运软件1 天前
基于深度学习的宝石图像分类系统
人工智能·python·深度学习·机器学习·分类·数据挖掘