Ascend-SACT/Qwen3.5-397B-A17B-X86
模型介绍文件和版本Pull Requests讨论分析
下载使用量0

Qwen3.5-397B-A17B非量化版本在X86服务器上实践经验

作者:刘显林,张小莲 ---- 创智学院

实践概述

本文主要介绍Qwen3.5-397B-A17B模型在X86服务的NPU上部署的实践经验,主要步骤包括:从modelers的Qwen3.5-397B-A17B-w8a8-mtp项目中下载镜像-->安装X86镜像--.>删除镜像中冲突软件->启动Qwen3.5-397B-A17B非量化版本模型

模型概述

Qwen3.5 具备以下增强特性:

统一的视觉-语言基础:在多模态 token 上进行早期融合训练,在推理、编码、智能体和视觉理解等基准测试中,跨代际达到与 Qwen3 相当的水平,并超越 Qwen3-VL 模型。

高效混合架构:门控 Delta 网络结合稀疏混合专家(MoE)机制,在保持极低延迟和成本开销的同时实现高吞吐推理。

可扩展的强化学习泛化能力:在百万级智能体环境中进行强化学习训练,任务分布逐步复杂化,从而确保在真实场景中的强大适应能力。

全球语言覆盖:扩展支持至 201 种语言和方言,实现包容性的全球部署,并具备对文化与区域差异的细致理解。

下一代训练基础设施:相比纯文本训练,多模态训练效率接近 100%,并采用异步强化学习框架,支持大规模智能体脚手架和环境编排。

硬件版本

组件版本
硬件环境910B(16卡)
cann 驱动25.0.rc1.1

镜像下载

从模乐中下载x86版本的vllm镜像,下载地址:https://www.modelscope.cn/models/Eco-Tech/Qwen3.5-397B-A17B-w8a8-mtp/tree/master/vllm-image,X86对应进行文件为:Vllm-ascend-Qwen3_5-A2-Ubuntu_x86-v0.tar

启动容器

具体内容参考:https://www.hiascend.com/document/detail/zh/CANNCommunityEdition/800alpha003/softwareinst/instg/instg_0020.html?Mode=DockerIns&OS=openEuler&Software=cannToolKit#ZH-CN_TOPIC_0000002118090620

检查triton组件

命令:

pip list|grep triton

如果命令输出显示有两个triton组件(如下),需要执行卸载重新安装命令
triton xxx
triton-ascend 3.2.0

如果出现上面两个triton,则会报如下错误
INFO 03-12 07:05:22 [importing.py:44] Triton is installed but 0 active driver(s) found (expected 1). Disabling Triton to prevent runtime errors. INFO 03-12 07:05:22 [importing.py:68] Triton not installed or not compatible; certain GPU-related functions will not be available.
进一步导致 min(MAX_FUSED_SIZE, triton.next_power_of_2(group_size)) 错误或者 Developer debug context: raised exception AttributeError([])错误

刷新trition命令:

pip uninstall triton triton-ascend -y
pip install triton-ascend==3.2.0

下载模型

命令:

git lfs install
git clone https://www.modelscope.cn/Qwen/Qwen3.5-397B-A17B.git

启动模型

把MODEL_PATH修改为模型下载的对应路径后,启动。注意:如下启动命令是X86服务器有16张NPU卡

export HCCL_OP_EXPANSION_MODE="AIV"
export HCCL_BUFFSIZE=1024
export OMP_NUM_THREADS=1
export LD_PRELOAD=/lib/x86_64-linux-gnu/libjemalloc.so.2
export TASK_QUEUE_ENABLE=1

vllm serve ${MODEL_PATH} \
--served-model-name "qwen3.5" \
--host 0.0.0.0 \
--port 8010 \
--data-parallel-size 1 \
--tensor-parallel-size 16 \
--max-model-len 5000 \
--max-num-batched-tokens 16384 \
--max-num-seqs 128 \
--gpu-memory-utilization 0.94 \
--compilation-config '{"cudagraph_mode":"FULL_DECODE_ONLY"}' \
--trust-remote-code \
--async-scheduling \
--allowed-local-media-path / \
--mm-processor-cache-gb 0 \
--additional-config '{"enable_cpu_binding":true, "multistream_overlap_shared_expert": true}' 

模型验证

curl http://localhost:8010/v1/completions \
 -H "Content-Type: application/json" \
 -d '{
        "prompt": "介绍一下你自己,用中文回答",
        "max_tokens": 200,
        "temperature": 0.7
 }'