当前位置:首页 > 报告详情

龚迪鸿-基于Verl框架的训练性能优化 (1).pdf

上传人: sec****ies 编号:734747 2025-07-26 19页 587.46KB

1、基于Verl框架的训练性能优化龚迪洪 腾讯金融科技OverviewVerl 简要介绍基于 Verl 提出 Megatron+Sglang 设计方案Parameter Sharding 算法Rollout 加速算法Verl1.VeRL就是一个主要面向RL的训练框架,支持例如REINFORCE/GRPO/DPO。2.使用 Ray 作为分布式计算框架,现在流行的RL框架如VeRL和OpenRLHF都依托Ray管理RL中复杂的Roles(比如PPO需要四个模型)和分配资源。3.RL即强化学习,是大模型领域的当红技术,提升模型推理能力的关键。4.RL 的与传统SFT关键差异在于训练样本是由被训练模型动态

2、采样生成的(Rollout),而SFT是预先准备好的QA对。强化学习算法示例Source:DeepSeekMath:Pushing the Limits of Mathematical Reasoning in Open Language ModelsMegatron+Sglang 设计方案Sglang 进程组1.从 verl 创建ActorRolloutWorker对象2.一共创建#Egines 个父进程3.每个父进程创建 tp_size 个子进程4.因此整个系统的子进程数量 world_size=#Engines*tp_sizeMegatron 进程组1.Megatron与Sglang共享

3、子进程组2.通过 init_process_group()来创建Megatron 通信组,以支持模型训练二二阶进阶进程程组组架构架构二二阶进阶进程程组组的的设计设计Motivations1.第一阶进程组兼容当前 verl 的架构,对应 ActorRolloutWorker。2.第二阶进程组的设计是为了支持 Megatron,因为 Sglang 的模型切片策略与 Megatron 不同,因此需要二阶进程组来分别处理 Sglang 与 Megatron。3.底层进程共享:虽然 sglang 与 megatron对应不同的进程分组,但是它们都由相同的底层进程,这种共享机制避免了参数同步的 时候不必要

4、的数据序列化。Megatron+Sglang 设计方案Rollout 的数据并行模式的数据并行模式1.在rollout阶段,数据被平均分成#Engines份,每个Sglang engine处理其中一份2.多个 Sglang engines 之间独立工作3.每个 engine 内部有多个分布式进程以支持tensor_parallel4.所有engines完成rollout之后再汇总返回driverMegatron+Sglang 设计方案分布式多机多卡分布式多机多卡 Rollout1.每个 engine 可能使用多台机器(例如 deepseek R1千亿大模型就需要多机器)2.通过模型切片克服单机

5、器不能容纳完整大模型的显存瓶颈3.Sglang 内部使用 tensor_parallel 来连接模型切片Megatron+Sglang 设计方案分布式分布式训练训练Actor1.使用 Megatron 作为训练引擎2.模型切片方式:tensor parallel+pipeline parallel+data parallel3.使用 alibaba/Pai-Megatron-Patch 来支持Megatron训练与模型转换Megatron+Sglang 设计方案训练训练数据构造数据构造Actor1.数据迭代器构造:构造一份全局 训练数据,同步到每个进程,然后每个进程根据自己的rank来获取正确

6、的数据切片。2.数据 packing:将不等长的训练数据pack到一个训练batch,不适用padding以提升有效计算的FLOPs。3.数据均衡:通过分配算法使得每个dp worker得到数量相近的packing数据。Megatron+Sglang 设计方案训练训练LossActor1.往 Megatron 移植了 verl 的 Loss 计算函数2.同时将 Loss 计算需要的变量都传入到每个 megatron worker3.各自 worker 根据自己的 rank(dp/pp/tp)来计算相应的 lossMegatron+Sglang 设计方案M

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了基于Verl框架的训练性能优化,提出了Megatron + Sglang设计方案,包括Parameter Sharding算法和Rollout加速算法。关键点如下: 1. Verl是一个面向强化学习(RL)的训练框架,使用Ray作为分布式计算框架。 2. Megatron + Sglang设计方案采用二阶进程组架构,支持数据并行、模型切片和权重格式转换。 3. 参数同步算法中,每个GPU需要接收其他所有GPU的切片数据,通信量较大。 4. Rollout Acceleration算法解决了推理模型输出长度差异导致的训练速度受限问题,通过设置最大响应长度和缓存机制,提高训练效率。 核心数据:模型更新步(GLOBAL_BATCH_SIZE@Megatron)、梯度累计步(MICRO_BATCH_SIZE@Megatron)、通信带宽(0.1TB/s和1.0TB/s)。
"VeRL框架有何独到之处?" "如何加速Rollout生成过程?" "Megatron+Sglang如何革新训练?"
客服
商务合作
小程序
服务号
折叠