news 2026/5/28 19:26:26

Qwen3-235B 长序列强化学习训练性能优化实践

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Qwen3-235B 长序列强化学习训练性能优化实践

作者:昇腾实战派
知识地图链接:强化学习知识地图

一、背景概述

随着大模型后训练范式从SFT向SFT-RL-SFT演进,强化学习在大模型对齐与能力提升中扮演关键角色。基于昇腾NPU平台的Verl框架已成为主流训练工具之一,尤其在长序列推理场景下对性能与显存效率提出更高要求。

本文基于Atlas 800T A2服务器,聚焦于Qwen3-235B规模模型在2k输入、30k输出长度下的强化学习训练性能优化,针对推理阶段耗时过长、显存压力大、训练中断风险高等问题,系统性地开展性能分析与调优。

版本信息

性能优化版本(部分非版本号为master分支commit id):

组件版本
HDK25.2.1
CANN8.3.RC1
VeRL21271aa
vllmrelease/v0.11.0
vllm-ascend15b2e5c
MindSpeed35da6ac
Megatron-LMcore_v0.12.1
torch2.7.1
toch-npu2.7.1-0919

MindSpeed-RL 2.2.0商发配套版本:

链接:

组件版本
HDK25.2.1
CANN8.3.RC1
VeRL796871d7d092f7cbc6a64e7f4a3796f7a2217f5e
vllm38217877aa70041c0115ee367b75197af9cbc5ad
vllm-ascend1de16ead8eecfec8903ec1b330b27a4fa2593c35
MindSpeed1cdd0ab
Megatron-LMcore_v0.12.1
torch2.7.1
toch-npu2.7.1

三、性能瓶颈分析

在初始配置下,经profiling拆解发现,generate阶段耗时较大,成为核心瓶颈。主要问题集中在以下三方面:

  1. 输入配置不合理:batch_size × n_samples = 384 × 16 = 6144,远超卡数整除能力,导致数据分发效率低下;
  2. 推理性能未充分优化:部分关键特性未启用,如aclgraph图模式、融合算子等;
  3. 训练阶段配置缺失:update阶段占比过高,缺乏分布式优化器、ETP、TND子序列Batch Rope等关键优化手段。

三、性能优化方案

3.1 通用性能优化

3.1.1 二级流水(Task Queue Level 2)

通过设置环境变量export TASK_QUEUE_ENABLE=2,启用二级流水算子下发机制。该优化将算子任务拆分为一、二级流水并行执行,尤其将workspace相关任务迁移至二级流水,显著掩盖Host调度延迟,提升整体端到端性能。该配置仅在二进制场景生效,建议优先使用Level 2

3.1.2 高性能内存管理(jemalloc)

在ARM架构环境下,启用jemalloc可有效降低内存碎片,提升内存分配效率。安装方式如下:

aptinstalllibjemalloc2exportLD_PRELOAD="$LD_PRELOAD:/usr/lib/aarch64-linux-gnu/libjemalloc.so.2"

注:x86平台无明显收益,仅在ARM环境推荐使用。


3.2 推理性能优化

3.2.1 ACLGraph图模式(PIECEWISE)

VLLM后端支持eager与图模式切换。通过将enforce_eager=False启用ACLGraph,可将多个小算子融合为图执行,减少Host下发开销。实测端到端性能提升达15%-20%。

关键修复:早期版本因MindSpeed patch导致图捕获异常,已通过上下文管理器(contextmanager)机制修复,确保在rollout阶段动态切换torch.compiledummy_compile,避免通信异常。

3.2.2 大专家并行(EP)配置优化

开启enable_expert_parallel=True可提升专家层并行度,但需注意:

  • 依赖CANN 8.3.RC1及以上版本;
  • A2平台通信带宽有限,EP过大(如128)反而导致通信开销激增,性能劣化;
  • 建议根据实际通信能力合理设置EP大小,避免“过切”。

3.3 训练性能优化

3.3.1 融合算子优化

通过启用多个融合算子,减少算子下发次数,提升计算效率:

算子类型配置项说明
RMSNormuse_fused_rmsnorm=True替换原始分步归一化
SwiGLUuse_fused_swiglu=True融合GELU与线性变换
RoPEapply_rope_fusion=True+use_fused_rotary_pos_emb=True将7个算子融合为1个,耗时从86μs降至24μs,端到端收益约0.5%
GMMmoe_grouped_gemm=True融合多专家计算,提升GMM算子效率
3.3.2 分布式优化器

启用分布式优化器可显著降低显存占用与通信压力:

actor_rollout_ref.actor.megatron.use_distributed_optimizer=True actor_rollout_ref.ref.megatron.use_distributed_optimizer=True +actor_rollout_ref.actor.megatron.override_transformer_config.use_distributed_optimizer=True
3.3.3 ETP(Expert Tensor Parallel)优化

设置expert_tensor_parallel_size=1,避免专家参数在行列维度切分,提升小专家场景下的计算效率,尤其适用于MoE模型。

3.3.4 TND场景Batch Rope优化

在TND(Token-Nested-Data)格式下,原始方案对每条子序列独立执行RoPE,存在循环开销。新方案通过生成统一频率矩阵,实现一次RoPE完成全部编码,RoPE阶段耗时减少50%,端到端性能提升1%-2%,且序列越长收益越显著。

3.3.5 训练并行策略调优

原始配置中CP(Context Parallel)过大,PP通信占比高达56.6%,成为瓶颈。通过以下调整优化:

优化项原配置新配置效果
CP84降低上下文通信
PP128显著减少PP通信
EP816缓解显存压力
ETP未开启1提升专家计算效率

优化后PP通信占比从56.6%降至29.55%,整体通信效率显著提升。


四、关键问题与解决方案

问题原因解决方案
长序列推理超时HCCL通信超时将输入与输出batch的interleave均设为False,避免长尾问题
精度异常(reward跌0)仅修改输入batch interleave,未同步输出batch保持输入与输出batch排布一致
开启CP报错缺少override_transformer_config.context_parallel_size配置补全配置项
group_type报错torch-npu与mindspeed版本不匹配升级至兼容版本
找不到index_first_axisrl-plugin未正确patch手动修改verl/__init__.py文件
训练拉起慢校验函数阻塞临时返回空值,加速启动
DataProto报错batch_size × n_samples 不能被卡数整除调整为可整除组合(如384×16)
tensordict精度问题.to(cpu)为非阻塞操作升级tensordict至0.10.0及以上版本
开启PP报错megatron.training模块缺失升级mindspeed至9.5后版本,或修复optimize_p2p_comm.py
log_prob阶段OOM30k序列下显存压力过大降低log_prob_max_token_len_per_gpu至16k,平衡显存与性能

建议log_prob_max_token_len不宜过小,否则输入shape过细,计算效率下降。


五、新模型适配与复用

目标模型与Qwen3-MoE结构高度一致,仅在Attention部分省略两个Norm层,其余结构、权重格式与配置基本兼容。适配过程参考已有Qwen3-MoE方案,所有优化配置可直接迁移

适配后性能与原模型基本一致,验证了优化方案的通用性与可复用性。


六、总结与展望

本项目通过系统性分析与多维度调优,核心优化路径包括:

  • 推理侧:启用ACLGraph图模式、融合算子、Batch Rope;
  • 训练侧:启用分布式优化器、ETP、合理调整并行策略;
  • 配置侧:优化batch排布、显存控制、版本兼容性。

未来可进一步探索训推异步方案(如VeRL Fully Async)、更高效的图模式(如Torch-AIR)以及动态切分策略,持续提升大规模模型训练的效率与稳定性。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/28 19:26:25

一文看懂临床预测模型必会四图:ROC、校准曲线、DCA曲线与列线图

在临床预测模型的研究中,构建模型只是第一步。如何证明你的模型能不能“分得清”、“准不准”、“有多准”以及“好不好用”,才是决定论文能否发表在核心期刊的关键。在预测模型研究中,最常见的四类图形包括: ROC 曲线&#xff1…

作者头像 李华
网站建设 2026/5/23 2:01:02

提升hnu计算机系统实验效率:用快马一键生成缓存模拟器与分析工具

最近在完成HNU计算机系统课程的缓存模拟实验时,发现手动编写完整的缓存模拟器非常耗时。经过摸索,我发现用InsCode(快马)平台可以快速生成程序框架,把更多时间留给核心算法优化和结果分析。下面分享我的实践过程: 需求分析 缓存模…

作者头像 李华
网站建设 2026/5/23 2:00:57

解决 npm install 安装过慢

解决 npm install 安装过慢npm install --registryhttps://registry.npmmirror.com

作者头像 李华
网站建设 2026/5/28 18:18:43

AI智能体开发的工程化落地

AI Agent(智能体)的开发已从“技术 Demo 秀”转向“生产力重构”。然而,要让智能体在企业复杂的业务环境中“长期跑得住”,开发者正面临着前所未有的工程化挑战。以下是当前国内 AI Agent 工程化落地的核心挑战分析:1.…

作者头像 李华
网站建设 2026/5/23 2:01:19

避坑指南:为什么你的树莓派循迹小车一到弯道就‘翻车’?聊聊红外传感器的安装与调试门道

树莓派循迹小车弯道失控?红外传感器安装与调试的进阶实战指南 看着自己精心组装的树莓派循迹小车又一次在弯道处冲出赛道,那种挫败感我太熟悉了。很多爱好者都会遇到这样的困境:明明按照教程连接了硬件、编写了基础代码,但小车就是…

作者头像 李华