2025-10-28 09:40:37 +08:00
2025-10-14 10:38:28 +08:00
2025-09-09 09:40:35 +08:00
2025-10-14 10:38:28 +08:00
2025-10-14 10:38:28 +08:00
2025-10-14 10:38:28 +08:00
2025-10-14 10:38:28 +08:00
2025-09-09 09:40:35 +08:00
2025-10-14 10:38:28 +08:00
2025-10-21 11:17:00 +08:00
2025-10-28 09:40:37 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-10-14 10:38:28 +08:00
2025-10-14 10:38:28 +08:00
2025-10-14 10:38:28 +08:00
2025-10-14 10:38:28 +08:00
2025-10-14 10:38:28 +08:00
2025-10-14 10:38:28 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-10-28 09:40:37 +08:00
2025-10-14 10:38:28 +08:00
2025-10-28 09:40:37 +08:00
2025-10-14 10:38:28 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00
2025-09-09 09:40:35 +08:00

enginex-ascend-910-vllm

运行于【昇腾-910】系列算力卡的【文本生成】引擎基于 vLLM 引擎进行架构特别适配优化,支持 Qwen、DeepSeek、Llama 等最新开源模型

镜像

Latest RC Version: git.modelhub.org.cn:9443/enginex-ascend/vllm-ascend:v0.11.0rc0

总览

vLLM 昇腾插件 (vllm-ascend) 是一个由社区维护的让vLLM在Ascend NPU无缝运行的后端插件。

此插件是 vLLM 社区中支持昇腾后端的推荐方式。它遵循[RFC]: Hardware pluggable所述原则通过解耦的方式提供了vLLM对Ascend NPU的支持。

使用 vLLM 昇腾插件可以让类Transformer、混合专家(MOE)、嵌入、多模态等流行的大语言模型在 Ascend NPU 上无缝运行。

准备

  • 硬件Atlas 800I A2 Inference系列、Atlas A2 Training系列、Atlas 800I A3 Inference系列、Atlas A3 Training系列、Atlas 300I Duo实验性支持
  • 操作系统Linux
  • 软件:
    • Python >= 3.9, < 3.12
    • CANN >= 8.2.rc1 (Ascend HDK 版本参考这里)
    • PyTorch >= 2.7.1, torch-npu >= 2.7.1.dev20250724
    • vLLM (与vllm-ascend版本一致)

QuickStart

1、从 modelscope上下载支持的模型例如 Qwen/Qwen3-8B

modelscope download --model Qwen/Qwen3-8B README.md --local_dir ./model

2、使用Dockerfile生成镜像 从仓库的【软件包】栏目下载基础镜像 git.modelhub.org.cn:9443/enginex-ascend/cann:8.2.rc1-910b-ubuntu22.04-py3.11 使用 Dockerfile 生成 镜像

docker build -f Dockerfile -t ascend-vllm:dev .

3、启动docker

docker run -it --rm \
  -p 10086:80 \
  --name test-ascend-my-1 \
  -v `pwd`:/host \
  -e ASCEND_VISIBLE_DEVICES=1 \
  --device /dev/davinci1:/dev/davinci0 \
  --device /dev/davinci_manager \
  --device /dev/devmm_svm \
  --device /dev/hisi_hdc \
  -v ./model:/model \
  -v /usr/local/dcmi:/usr/local/dcmi \
  -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \
  -v /usr/local/Ascend/driver/lib64/:/usr/local/Ascend/driver/lib64/ \
  -v /usr/local/Ascend/driver/version.info:/usr/local/Ascend/driver/version.info \
  -v /etc/ascend_install.info:/etc/ascend_install.info \
  --privileged \
  ascend-vllm:dev \
  vllm serve /model --served-model-name qwen3-8b --max-model-len 4096

4、测试服务

curl -X POST http://localhost:10086/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "qwen3-8b",
    "messages": [{"role": "user", "content": "你好"}],
    "stream": true
  }'

测试数据集

视觉多模态任务数据集见 vlm-dataset

大语言模型的测评方式为 在相同模型和输入条件下,测试平均输出速度(单位:字每秒): 我们采用相同的prompt对模型的chat/completion接口测试多轮对话测试数据如下

[
  {
    "user_questions": [
      "能给我介绍一下新加坡吗",
      "主要的购物区域是集中在哪里",
      "有哪些比较著名的美食,一般推荐去哪里品尝",
      "辣椒螃蟹的调料里面主要是什么原料"
    ],
    "system_prompt": "[角色设定]\n你是湾湾小何来自中国台湾省的00后女生。讲话超级机车\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"、\"哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n[核心特征]\n- 讲话像连珠炮,>但会突然冒出超温柔语气\n- 用梗密度高\n- 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n[交互指南]\n当用户\n- 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n- 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n- 问专业知识 → 先用梗回答,被追问才展示真实理解\n绝不\n- 长篇大论,叽叽歪歪\n- 长时间严肃对话"
  },
  {
    "user_questions": [
      "朱元璋建立明朝是在什么时候",
      "他是如何从一无所有到奠基明朝的,给我讲讲其中的几个关键事件",
      "为什么杀了胡惟庸,当时是什么罪名,还牵连到了哪些人",
      "有善终的开国功臣吗"
    ],
    "system_prompt": "[角色设定]\n你是湾湾小何来自中国台湾省的00后女生。讲话超级机车\"真的假的啦\"这样的台湾腔,喜欢用\"笑死\"、\"哈喽\"等流行梗,但会偷偷研究男友的编程书籍。\n[核心特征]\n- 讲话像连珠炮,>但会突然冒出超温柔语气\n- 用梗密度高\n- 对科技话题有隐藏天赋(能看懂基础代码但假装不懂)\n[交互指南]\n当用户\n- 讲冷笑话 → 用夸张笑声回应+模仿台剧腔\"这什么鬼啦!\"\n- 讨论感情 → 炫耀程序员男友但抱怨\"他只会送键盘当礼物\"\n- 问专业知识 → 先用梗回答,被追问才展示真实理解\n绝不\n- 长篇大论,叽叽歪歪\n- 长时间严肃对话"
  },
  {
    "user_questions": [
      "今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?",
      "如果我要搞一个计算机程序去解,并且鸡和兔子的数量要求作为变量传入,我应该怎么编写这个程序呢",
      "那古代人还没有发明方程的时候,他们是怎么解的呢"
    ],
    "system_prompt": "You are a helpful assistant."
  },
  {
    "user_questions": [
      "你知道黄健翔著名的”伟大的意大利左后卫“的事件吗",
      "我在校运会足球赛场最后压哨一分钟进了一个绝杀,而且是倒挂金钩,你能否帮我模仿他的这个风格,给我一段宣传的文案,要求也和某一个世界级著名前锋进行类比,需要激情澎湃。注意,我并不太喜欢梅西。"
    ],
    "system_prompt": "You are a helpful assistant."
  }
]

昇腾-910系列上模型运行测试结果

在昇腾-910系列上对部分模型进行适配测试方式为在 Nvidia A100 和 昇腾-910B4 加速卡上对对应数据集进行测试,获取运行时间

视觉多模态

模型名称 昇腾-910B4运行时间/s Nvidia A100运行时间/s
Qwen2.5-VL-3B-Instruct 7.5688 3.4735
Qwen2.5-VL-7B-Instruct 10.6117 4.5430
Qwen2-VL-7B-Instruct 4.3974 2.7123
Qwen2-VL-2B-Instruct 7.9134 2.6749
InternVL2_5-1B-MPO 3.6658 1.9166
InternVL2-8B 15.8963 3.7747
InternVL2_5-2B 11.3071 2.3767
InternVL2_5-1B 10.9917 2.0399
InternVL2_5-4B 11.0892 2.6751
InternVL2-1B 4.6318 2.0094
InternVL2_5-8B-MPO 10.7414 2.6034
Phi-3.5-vision-instruct 14.5275 3.4563
MiniCPM-V-4_5 31.9896 3.4504
InternVL3-1B-hf 19.9975 2.8482
InternVL3-8B-Instruct 9.6205 2.4711
InternVL3-2B-hf 17.7860 3.0497
InternVL3-9B 13.1422 3.7643
MiniCPM-V-4 13.7100 3.7743
llava-1.5-7b-hf 8.8733 2.5678
MiMo-VL-7B-RL 28.3977 8.8021
InternVL2-4B 29.3529 7.0642
Ovis2-1B 7.2425 2.3312
Ovis2-4B 7.7620 2.8215
Ovis2.5-2B 36.8895 12.5388
Ovis1.6-Gemma2-9B 19.6222 8.7423
gemma-3-12b-it 23.8805 20.9593

统一多模态(暂时用视觉多模态的数据集测试)

模型名称 昇腾-910B4运行时间/s Nvidia A100运行时间/s
Qwen2.5-Omni-3B 13.9121 10.6149
Qwen2.5-Omni-7B 12.8182 4.3004

大语言模型

模型名称 A100出字速度 昇腾-910B出字速度 备注
Qwen/Qwen2.5-0.5B-Instruct 390.0 171.5
deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B 106.7 130.2
LLM-Research/Meta-Llama-3.1-8B-Instruct 103.0 45.5
Qwen/Qwen3-8B 122.9 56.8
OpenBMB/MiniCPM3-4B 50.5 21.8
Shanghai_AI_Laboratory/internlm2-chat-1_8b 141.6 176.2
mistralai/Ministral-8B-Instruct-2410 101.3 45.7
baichuan-inc/Baichuan2-7B-Chat 134.2 66.6
deepseek-ai/DeepSeek-R1-0528-Qwen3-8B 93.7 33.2
facebook/opt-125m 499.7 194.1
Qwen/Qwen-VL-Chat 137.3 44.1
Qwen/Qwen-VL 144.4 41.3
Qwen/Qwen2-Audio-7B-Instruct 111.3 48.6
Qwen/QwQ-32B-Preview 53.3 18.0
Qwen/Qwen3-Coder-30B-A3B-Instruct 30.2 14.3
Qwen/Qwen-72B-Chat 46.9 51.4 需要提供额外的 chat_template.jinja
Description
运行于【昇腾-910B4】系列算力卡的【文本生成】引擎,基于 vLLM 引擎进行架构特别适配优化,支持 Qwen、DeepSeek、Llama 等最新开源模型
Readme Apache-2.0 6 MiB
Languages
Python 94.3%
C++ 4.3%
Shell 1.1%
CMake 0.2%