NVIDIA提出用于强化学习权重refit的Reshard集合通信:自家基准中refit延迟降低2.7至5.7倍,但只测refit延迟、不是端到端训练,NeMo RL中的功能仍为实验性且限Megatron训练后端
2026年11月6日,NVIDIA发表技术文章,介绍加速强化学习后训练中权重refit(把新权重从训练GPU传到推理GPU)的Reshard集合通信,以及开源参考实现NCCL M2N Reshard。它把refit看成DTensor到DTensor的重新切分,只传重叠部分。在NeMo RL的四组测量中,DGX H100和DGX GB200上的refit延迟降低2.7到5.7倍,例如DeepSeek v3 671B从14.9秒降到2.6秒;这些是NVIDIA自测的refit延迟,不是端到端训练速度。NeMo RL文档把该功能标为实验性,要求Megatron训练后端以及vLLM或Megatron生成后端。
2026年11月6日,NVIDIA的工程师发表了一篇技术文章,介绍Reshard集合通信,它想加速强化学习(RL)后训练中的一个步骤:把新的模型权重从训练GPU复制到推理GPU。作者把这一步叫作refit。文章还介绍了NCCL M2N Reshard,这是放在NVIDIA/nccl-extensions仓库里的开源参考实现,并说明它在NeMo RL框架中的接入路径。所有耗时都是NVIDIA自己的数字,在它自己的系统上测得。
问题出在体量。在训练与推理分离的RL设置里,训练和推理跑在不同的GPU上,推理一侧必须频繁收到更新后的策略。两侧切分模型的方式不同,数据、张量、专家和流水线并行都不一样。通常的方法是先汇集再广播:训练GPU汇集每个完整参数并广播出去,每个推理GPU只留下自己需要的分片。NVIDIA估算这会搬运大约两倍于模型权重大小的数据。按BF16权重算,Kimi K3(2.8万亿参数)是5.6 TB,Qwen 3.8 2.4T A95B是4.8 TB,逻辑流量分别约11.2 TB和9.6 TB,文章说这在每个训练步都要发生。
做法是把两种布局都描述成PyTorch的DTensor(设备网格加放置方式),把refit看成把一个DTensor重新切分成另一个。Reshard只发送源分片与目的分片重叠的部分。NCCL M2N Reshard还按NVLink域给目的副本分组:在图示的四个目的GPU同属一个NVLink域时,每个分片只跨网络一次,接收的GPU再通过NVLink交换其余部分;若跨多个域,则需逐域转发,两步流水线进行。在NeMo RL里,NVIDIA采用混合设计。前馈投影权重(它说在近期模型里约占参数的95%)走reshard路径,QKV投影或Mamba权重等较小的权重继续用先汇集再广播,以保证覆盖完整。
报告的结果是在NeMo RL中测得的四组refit延迟。在NVIDIA DGX H100上,Qwen 3 235B从6.4秒降到1.9秒,DeepSeek v3 671B从14.9秒降到2.6秒。在NVIDIA DGX GB200上,DeepSeek v3 671B从6.1秒降到2.3秒,Nemotron Ultra v3从8.2秒降到2.3秒。文章给出2.7倍到5.7倍的加速,表中的数字与这个范围一致。另一个只测refit的微基准用4.3秒搬运了Qwen3.8 2.4T的BF16模型,但文章没有给出该模型先汇集再广播的时间,所以没有它的比值。 原表的训练→推理布局分别是:H100 NVL8的Qwen 3 235B TP4×PP8×EP16→TP8×DP16(6.4→1.9秒);H100 NVL8的DeepSeek v3 PP16×EP16→TP32×DP8(14.9→2.6秒);GB200 NVL72同一DeepSeek布局(6.1→2.3秒);GB200 NVL72的Nemotron Ultra v3 TP8×EP32×PP2→TP8×DP8(8.2→2.3秒)。
读数字时要看它测的是什么。它们是refit延迟,不是训练吞吐,也不是达到目标奖励的时间,文章也没有说每个RL步中refit占多少,所以我们无法把2.7倍到5.7倍换算成端到端加速。比较对象是NVIDIA自己的常规路径,而不是其他框架中的其他refit方法。两套NVIDIA系统上的四种配置是很小的样本,文章没有给出多次运行的波动,我们也没有复现其中任何一项。
NeMo RL文档补充了限制。它把`nccl_reshard_refit`标为实验性。设置是`refit_transport: nccl_reshard`,并把`policy.generation.colocated.enabled`设为false,因为它只适用于训练与生成非colocated资源配置。它要求Megatron训练后端,以及vLLM或Megatron生成后端,并说SGLang和TRTLLM暂不支持。vLLM目的端仍要求专家张量并行大小为1。文章补充说,当节点在故障恢复中加入或离开时,NeMo RL目前是销毁并重建通信组,使用NCCL的shrink和grow接口留待以后更新。
背景说明:强化学习后训练里,模型一边生成回答(推理),一边根据奖励更新参数(训练);refit就是把训练得到的新参数送回推理端,让下一轮回答用上最新的策略。DTensor是PyTorch里描述张量如何分布在多块GPU上的方式。NVLink是同一台服务器或机架内GPU之间的高速互联,在文中拓扑设计里用于目的域内复制,减少跨机网络的重复传输;单次网络传输只适用于所示的单目的域例子。混合专家(MoE)模型的参数分散在许多专家子网络中,所以并行布局更复杂,refit也更难。对没有训练这类超大模型的团队来说,这篇文章更重要的价值是思路:当通信模式不规则时,把它抽象成一个可以独立改进的集合通信,应用只需描述源和目的布局,底层算法可以随时间演进,而不用改框架代码。实际采用前还应注意,文章只测了refit这一个环节;训练系统里还有生成、奖励计算和优化器更新等部分,它们各自的耗时,决定了refit优化最终能换来多少整体收益,这需要在自己的配置上测量,而不能从文章里推出。
我们的判断:这是一个可信的工程思路,有真实数字,而且这个抽象很有用,因为refit的成本随模型规模增长。用Megatron和vLLM在训练与生成资源非colocated的配置上训练超大混合专家模型的团队可以试一试,从实验性开关开始。其他团队应等待更广的后端支持,先测出refit占自己步骤时间的比例,并把头条的加速数字当作最好情况的提示,而不是保证。
Sources
FAQ
2.7到5.7倍的加速是整个强化学习训练的加速吗?
不是。NVIDIA仅测了NeMo RL中把权重传到推理GPU的refit延迟,四种配置、两套系统;博客未报告重复运行的离散程度。它没说refit占每个RL步的比重,无法推算端到端训练速度,我们也没有复现。
要用这个功能需要什么条件?
功能仍属实验性。设refit_transport: nccl_reshard和训练/生成非colocated配置;Megatron训练、vLLM或Megatron生成。SGLang与TRTLLM未支持,vLLM目的端专家张量并行需为1。
为什么refit的开销会这么大?
因为每个训练步都要把约等于整个模型的权重传到推理GPU,而两侧的并行切分不同。按BF16估算,Kimi K3是5.6 TB、Qwen 3.8 2.4T A95B是4.8 TB,先汇集再广播的逻辑流量约为其两倍,也就是约11.2 TB和9.6 TB。