AReaL v1.0.5 × 昇腾 RL 全能力解读(一):Qwen3.6 Code Agent 64K RL
摘要:近期,AReaL 社区发布 AReaL-Ascend v1.0.5 版本。该版本在 Ascend NPU 上进一步完善了大模型强化学习后训练能力,带来 Qwen3.6 Code Agent 64K RL、训推共卡、MOPD 与 LoRA RL 四大核心升级,聚焦 Agentic RL 与高效后训练两大主线。当前,强化学习后训练正在从实验室走向真实应用场景,我们将通过系列文章深入解读这些最前沿的技术及其工程实践。
近期,AReaL社区正式发布了 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-a3
-
Source Branch
git clone https://github.com/areal-project/AReaL
cd AReaL
git 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 场景。
1. 训练场景
本次验证采用:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. 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 上。
3. 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 的实际收益。
4. 训练效果与性能
在 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,训练效率、训推一致性与收敛效果三者兼顾。
作为昇腾原生的开源RL后训练框架,AReaL 的每一次技术突破,华为云团队都深度参与其中,并积极推动新特性在各行业落地。当前,华为云ModelArts已原生集成AReaL训练框架,开发者可一站式快速体验其核心能力。未来,华为云将基于AReaL技术体系构建大模型后训练能力,本次更新的THD序列打包、MTP投机解码等社区特性,也将逐步开放为云服务基础能力,让开发者开箱即享AReaL的技术红利。

关注魔方公众号,获取更多前沿资讯
- 点赞
- 收藏
- 关注作者
评论(0)