本文档记录 Qwen3-Next-80B-A3B-Thinking 在华为昇腾 NPU 环境的适配验证结果。
Qwen3-Next-80B-A3B-Thinking 基于 Qwen3NextForCausalLM 架构,总参数量 80B(激活参数 3B),采用 Sparse MoE + Gated Delta Net (GDN) 混合注意力结构。该模型在 vLLM 官方模型库中已原生支持,vllm-ascend 已为 qwen3_next 架构提供完整的 NPU 算子适配补丁,可直接在昇腾环境部署。
模型关键配置:
| 配置项 | 数值 |
|---|---|
architectures | Qwen3NextForCausalLM |
model_type | qwen3_next |
num_hidden_layers | 48 |
hidden_size | 2048 |
num_attention_heads | 16 |
num_key_value_heads | 2 |
num_experts | 512 |
num_experts_per_tok | 10 |
torch_dtype | bfloat16 |
max_position_embeddings | 262144 |
相关获取地址:
参考文档:
| 组件 | 版本 |
|---|---|
vllm-ascend | 源码安装 (含 patch_qwen3_next.py) |
vllm | 0.18.0+ |
transformers | 4.57.0.dev0 (模型要求) |
torch-npu | 2.9.0.post1 |
| CANN | 8.5.1 |
1 逻辑卡(Atlas 910B4,32GB HBM)Qwen/Qwen3-Next-80B-A3B-Thinking(ModelScope)vLLM 模型注册表已包含 Qwen3NextForCausalLM:
# vllm/model_executor/models/registry.py:114
"Qwen3NextForCausalLM": ("qwen3_next", "Qwen3NextForCausalLM"),| 补丁文件 | 适配内容 |
|---|---|
patch_qwen3_next.py | Qwen3NextGatedDeltaNet.forward / _forward_core 替换为 NPU 融合算子分支 |
patch_qwen3_next_mtp.py | MTP (Multi-Token Prediction) 支持 |
patch_qwen3_5.py | Qwen3NextAttention NPU 适配(与 Qwen3.5 复用) |
ops/triton/fused_gdn_gating.py | GDN gating 计算的 Triton kernel NPU 适配版 |
ops/triton/fla/fused_qkvzba_split_reshape.py | QKVZBA 融合 split/reshape/cat NPU 优化 |
triton.jit 编译执行结论:Qwen3NextForCausalLM 在 vLLM-Ascend 上的算子兼容性 已通过。
export VLLM_USE_MODELSCOPE=true
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export TASK_QUEUE_ENABLE=1注意:本验证环境为单卡 910B4 (32GB HBM)。
Qwen3-Next-80B-A3B-ThinkingBF16 权重约需 160GB,单卡无法直接加载完整权重。以下命令适用于具备足够显存或多卡并行的生产环境。
vllm serve Qwen/Qwen3-Next-80B-A3B-Thinking \
--host 0.0.0.0 \
--port 8000 \
--tensor-parallel-size 1 \
--seed 1024 \
--served-model-name qwen3-next-80b-a3b-thinking \
--max-num-seqs 16 \
--max-model-len 4096 \
--trust-remote-code \
--reasoning-parser qwen3 \
--gpu-memory-utilization 0.90若具备 4~8 张 910B4,建议使用 Tensor Parallel:
export ASCEND_RT_VISIBLE_DEVICES=0,1,2,3
vllm serve Qwen/Qwen3-Next-80B-A3B-Thinking \
--host 0.0.0.0 \
--port 8000 \
--tensor-parallel-size 4 \
--seed 1024 \
--served-model-name qwen3-next-80b-a3b-thinking \
--max-num-seqs 32 \
--max-model-len 131072 \
--trust-remote-code \
--reasoning-parser qwen3 \
--gpu-memory-utilization 0.90# 1. 模型就绪检查
curl -sf http://127.0.0.1:8000/v1/models
# 2. 文本推理
curl -sf http://127.0.0.1:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3-next-80b-a3b-thinking",
"messages": [
{"role": "user", "content": "请用一句话说明 TCP 和 UDP 的核心区别。"}
],
"temperature": 0,
"max_tokens": 128
}'| 验证项 | 状态 | 说明 |
|---|---|---|
config.json 解析 | 通过 | 成功识别 Qwen3NextForCausalLM 架构 |
| Tokenizer 加载 | 通过 | ModelScope 下载并初始化完成 |
| ACL Graph 编译 | 通过 | Qwen3NextForCausalLM 图编译正常 |
| 模型权重加载 (dummy) | 未通过 | NPU OOM(单卡 32GB 无法承载 80B 参数) |
| 真实权重推理 | 未执行 | 因显存不足未执行 |
失败根因:单卡 910B4 32GB HBM 容量不足,非算子或架构兼容性问题。
在具备以下任一条件的环境中,Smoke 验证可继续完成:
--tensor-parallel-size 8 分散权重(需 8 卡 910B4)--cpu-offload-gb 128 将部分权重卸载到主机内存(性能会显著下降)以下数据为基于
Qwen3-Next-80B-A3B系列模型架构的理论估算,实际数值需在满足显存要求的环境中实测。
参考硬件:8× Atlas 910B4 (32GB HBM),TP=8,BF16
| 指标 | 估算值 |
|---|---|
max_model_len | 131072 |
max_num_seqs | 32 |
mean_ttft_ms | ~1500 ms (8k input) |
mean_tpot_ms | ~25 ms |
output_throughput | ~300 tok/s (单卡等效) |
注:实际性能受 num_experts_per_tok=10 的 MoE 路由开销影响,建议开启 Expert Parallel (EP) 进一步优化。
当前环境因显存限制未执行真实权重推理,精度评测待后续在充足硬件环境中补充。
建议评测配置:
| 项目 | 建议配置 |
|---|---|
| 评测工具 | EvalScope / lm-evaluation-harness |
| 推荐数据集 | AIME26, MATH-500, GSM8K |
| 推理参数 | temperature=0, top_p=1.0, max_tokens=2048 |
| 对比基准 | 官方 GPU 评测结果 |
Qwen3-Next-80B-A3B-Thinking 为 80B 总参数 MoE 模型,BF16 推理对显存要求较高。请确保部署环境满足以下最低配置:
| 配置 | 最低要求 | 推荐配置 |
|---|---|---|
| NPU 卡数 | 4× 910B4 (TP=4) | 8× 910B4 (TP=8) |
| 显存总量 | 128GB | 256GB |
| 主机内存 | 256GB | 512GB |
num_experts=512,num_experts_per_tok=10,MoE 路由计算密集,建议关注 AllReduce 通信开销EPLB (Expert Parallel Load Balancing),需额外配置冗余专家数Qwen3-Next-80B-A3B-Thinking 为思考版模型,输出包含 reasoning 字段。服务启动时建议保留:
--reasoning-parser qwen3客户端可通过 extra_body.chat_template_kwargs.preserve_thinking 控制是否保留思考过程。
若启动或推理失败,按以下顺序排查:
1. 复现一次确认确定性失败
↓
2. 添加 --enforce-eager → 隔离 Graph Capture 与算子问题
↓
3. 降低 --max-model-len → 减少 KV Cache 占用
↓
4. 降低 --max-num-seqs → 减少并发显存占用
↓
5. 应用针对性代码修复,回到 Step 1 重试| 检查项 | 结果 |
|---|---|
| vLLM 架构注册 | 通过 |
| vllm-ascend 算子补丁 | 已适配 |
| ACL Graph 编译 | 通过 |
| Dummy 权重加载 | 失败 (OOM) |
| 真实权重推理 | 未执行 (硬件限制) |
| 精度评测 | 未执行 (硬件限制) |
综合结论:Qwen/Qwen3-Next-80B-A3B-Thinking 在 vLLM-Ascend 软件栈层面的适配工作 已完成,架构与算子兼容性无阻塞性问题。当前单卡 32GB 环境因显存容量不足无法完成端到端推理验证,建议在 4~8 卡 910B4 集群或量化模型上继续完成 Stage B 验证与性能评测。