股票
板块
用户
资讯
首页
天眼
自选
发现
开户
首页
天眼
自选
发现
我的

AReaL v1.0.5 x 昇腾RL全能力解读(一):Qwen3.6 Code Agent 64K RL——THD Packing 与MTP驯服长序列训练



近期,AReaL社区发布AReaL-Ascend v1.0.5版本。该版本在Ascend NPU上进一步完善了大模型强化学习后训练能力,带来Qwen3.6 Code Agent 64K RL、训推共卡、MOPD与LoRA RL四大核心升级,聚焦Agentic RL与高效后训练两大主线。当前,强化学习后训练正在从实验室走向真实应用场景,我们将通过系列文章深入解读这些最前沿的技术及其工程实践。


AReaL-Ascend v1.0.5完善AReaL在Ascend NPU上的大模型强化学习后训练能力,并围绕当前最重要的 Agentic RL与高效后训练场景进行了多项升级。


本次版本的四个重点能力包括:


Qwen3.6系列模型支持进一步完善:完成Qwen3.6-27B在Code Agent 场景下的64K长序列、多机Agentic RL训练验证,并通过THD Sequence Packing、MTP Speculative Decoding 等能力进一步优化训练效率。

新增训推共卡(Colocated Training & Rollout)部署形态:训练与推理复用同一组NPU,在训练阶段结束后offload训练权重并原地拉起 vLLM rollout,通过AWEX+IPC零拷贝权重映射实现高效切换。对于资源紧缺、强调严格on-policy、稳定复现与快速调试的场景,共卡模式提供了一种非常有吸引力的部署选择。

支持Multi-Teacher On-Policy Distillation(MOPD):面向多领域能力融合,支持多个领域专家Teacher对Student的on-policy trajectory提供稠密蒸馏信号。

支持LoRA RL:覆盖FSDP2 / Megatron训练后端与vLLM rollout,进一步降低大模型RL后训练的显存与资源门槛,并支持跨节点及Dense / MoE场景。


Get Started:


如果你希望直接开始使用,可以优先参考下面两个入口:


Ascend NPU安装指南:

https://areal-ai.io/AReaL/en/tutorial/installation_npu.html


AReaL NPU镜像:

https://github.com/HwVanICI/AReaL/pkgs/container/areal_npu


# 昇腾A2系列产品docker pull ghcr.io/hwvanici/areal_npu:v1.0.5-a2# 昇腾A3系列产品docker pull ghcr.io/hwvanici/areal_npu:v1.0.5-a3


昇腾A2系列产品:

ghcr.io/hwvanici/areal_npu:v1.0.5-a2


昇腾A3系列产品:

ghcr.io/hwvanici/areal_npu:v1.0.5-a3Source Branch


Source Branch


git clone https://github.com/areal-project/AReaLcd AReaLgit checkout ascend-v1.0.5


当前AReaL v1.0.5镜像已经集成了面向NPU RL训练的一套完整软件栈,包括CANN 9.0.1、PyTorch 2.10.0、torch_npu 2.10.0.post2、vLLM 0.23.0、vLLM-Ascend、Megatron-Core、MindSpeed与Megatron-Bridge 等组件,用户可以直接基于镜像启动单机或Ray多机训练。


欢迎开发者基于最新版本体验AReaL在Ascend NPU上的RL后训练能力。


接下来深入解析AReaL-Ascend v1.0.5中,Qwen3.6-27B在Code Agent场景下的64K长序列RL训练能力,揭秘THD Sequence Packing与MTP Speculative Decoding两大核心技术如何协同优化训练效率。


AReaL-Ascend v1.0.5重点完成了Qwen3.6系列模型在Ascend NPU上的 RL训练支持与优化。


除了常规的数学、推理类RL场景,我们进一步将Qwen3.6-27B验证到了更加接近真实Agent工作负载的Code Agent场景。



训练场景

本次验证采用:




THD Sequence Packing:
减少长短不一trajectory的Padding浪费


Agentic RL中,不同样本的response length往往差异非常大。


传统padded batch会按照batch内最长sequence补齐:


Trajectory A: ███████████████████████████Trajectory B: ███████????????????????????Trajectory C: █████████████??????????????Trajectory D: ████???????????????????????


其中大量 ? 都是padding token。


开启THD Sequence Packing后:FFD装箱将四条trajectory拼满同一microbatch,cu_seqlens记录各段边界、块对角掩码保证段间互不可见——有效token利用率从约48%(52/(27x4)≈0.48)提升至100%(52/52=100%)。



THD Sequence Packing的目标是把多个有效token序列compact到更紧凑的token layout中,尽量避免padding带来的无效Attention / MLP计算,从而提升训练侧的有效token利用率。


AReaL当前同时维护不同模型所需的packing路径:


对于文本模型,继续支持wrapper-owned THD packing;

在v1.0.5 相关演进中,进一步增加了Qwen3-VL Dense / MoE + Megatron-Bridge的model-owned THD;

模型可以在内部完成视觉embedding merge后再进行packing,同时 AReaL将输出重新映射回统一的packed token layout。

相关实现:


THD Sequence Packing PR:
https://github.com/areal-project/AReaL/pull/1608


对于64K Code Agent RL这类长序列场景,减少padding带来的浪费尤其重要:优化目标不只是“能跑64K”,而是尽可能让每一次训练计算都花在真实trajectory token上。



MTP Speculative Decoding:
直接加速Agent Rollout


除了训练侧优化,v1.0.5还重点增强了rollout侧性能。


针对Qwen3.5 / Qwen3.6,AReaL已支持通过vLLM启用MTP(Multi-Token Prediction)Speculative Decoding。


相关实现:


MTP Speculative Decoding:
https://github.com/HwVanICI/AReaL/commit/fd35cc8f28a8ba9775691f50b203e9791e66a2d6


传统自回归解码:

每个decode step只产出1个token,每step必须等上一步结束。串行步数=生成token数,如下图所示5步共生成5个tokens。



MTP投机解码:

如下图所示,在rollout时,MTP head可以一次预测3个候选tokens,再由主模型进行验证;当候选tokens全被接受时,2个steps可生成4个tokens可以减少自回归解码的所需的串行decode step。



对于Code Agent这种rollout token数量巨大、生成阶段占比高的workload,这一能力可以直接作用于端到端RL step time。


AReaL对MTP的支持还特别考虑了RL场景下的可观测性:


支持通过vLLMConfig.speculative_config 将speculative decoding 配置透传给vLLM;

支持Qwen3.5 / Qwen3.6的MTP rollout;

MTP head在rollout server启动时加载,并保持frozen,不参与后续RL policy weight update;

自动采集speculative decoding指标:

acceptance_rate

mean_accepted_len

将这些指标统一记录到训练statistics中。

随着RL训练持续更新policy model,当前policy与初始frozen MTP head 之间可能逐渐发生分布变化,因此speculative decoding的接受率也可能随训练发生变化。通过acceptance rate与mean accepted length,我们可以持续观察MTP的实际收益。



训练效果与性能


在Qwen3.6-27B + Mini-SWE-Agent v2 + R2E Gym + 64K 的Code Agent RL训练中,整体训练过程稳定,Reward持续提升,同时异步训练下的训推一致性保持良好。


关键性能指标



当前每步Rollout时间约2000s。


当前每步Training时间约1300s。


当前每步Weight Update时间约25s。


异步训练下的训推一致性


为什么要关注训推一致性:异步RL以“训练与 rollout 流水线重叠”换取吞吐——训练引擎持续更新policy,rollout引擎却只能用若干步之前的旧权重生成数据,由此产生off-policy偏差。


业界难点在于:偏差若不加处理,importance ratio方差放大、优势估计失真,轻则收敛变慢、重则训练崩溃;若用同步阻塞(每步等待权重完全同步)换取一致性,吞吐又大幅折损。


AReaL的解法是Decoupled PPO Loss:训练引擎收到trajectory后先用当前权重重算logprob(recompute_logprob,得到 π_proximal),把重要性比分解为“本轮可训练的更新(π_θ/π_proximal,交给 PPO clip 约束)”与“异步已发生的偏移(behave_imp_weight = π_proximal/π_behave,作为常量修正项显式补偿)”两部分——既保住异步吞吐,又把off-policy偏差记账并补偿;behave_imp_weight同时作为监控指标,持续接近1.0即训推一致性良好。


AReaL推荐在异步训练中开启Decoupled PPO Loss(use_decoupled_loss=true),其中:


behave_imp_weight = π_proximal / π_behave

behave_imp_weight应尽量接近1.0,当前实验中,behave_imp_weight稳定在0.9995左右,说明rollout behavior policy与训练侧proximal policy 高度一致,异步执行带来的policy mismatch很小。


behave_imp_weight ≈ 0.9995,训推一致性保持良好。


训练效果


经过约120 steps RL训练,Rollout Reward从 0.56 提升至 0.94,表现出清晰且稳定的收敛趋势。


Reward:0.56 → 0.94 / 120 steps


整体来看,AReaL-Ascend v1.0.5已能够稳定支撑Qwen3.6-27B、64K Code Agent RL,同时兼顾训练效率、异步训推一致性与最终收敛效果。


本期总结:AReaL-Ascend v1.0.5在Ascend NPU上完成了Qwen3.6-27B Code Agent场景的64K长序列RL训练验证——THD Sequence Packing提升训练侧有效token利用率,MTP Speculative Decoding直接加速Agent rollout;训练全程Reward 0.56→0.94、behave_imp_weight≈0.9995,训练效率、训推一致性与收敛效果三者兼顾。


下期预告:我们将深入解读“训推共卡”部署形态与Multi-Teacher On-Policy Distillation,敬请期待!



◆往期推荐◆


             
           
             
           

昇腾原生支持星火开源模型X2.5-4B和1.7B训推全流程,探索端侧模型智能体能力上限


                                                                    

原文链接
多空观点 观点仅供交流,不构成投资建议
点赞
踩一踩
收藏
分享

评论 (0)

0/200
声明:社区内容仅代表用户个人观点,不构成任何投资建议。投资有风险,入市需谨慎。