昇腾910B4、openEuler上使用vLLM-Ascend部署Qwen3.6模型的流程

这篇博客承接之前这篇:https://blog.csdn.net/qysh123/article/details/160962233

其实内容是比较简单的,也是参考了其他朋友的博客:https://blog.csdn.net/weixin_45724433/article/details/160470026

首先,下载相应的Docker镜像,例如我这里下载v0.18.0的版本:

bash 复制代码
docker pull quay.nju.edu.cn/ascend/vllm-ascend:v0.18.0-openeuler

其次,下载Qwen3.6的模型到本地(我这里使用modelscope速度很快):

bash 复制代码
modelscope download --model Qwen/Qwen3.6-35B-A3B --local_dir ./Qwen3.6-35B-A3B

然后用类似这种命令:

bash 复制代码
sudo lsof -i :8002

查看一下空闲的端口。然后参考上面这篇博客:

bash 复制代码
docker run -it \
  --name qwen3_6_vllm \
  --privileged \
  --shm-size=64g \
  -v /usr/local/Ascend:/usr/local/Ascend \
  -v /dev:/dev \
  -v /root/ProjectsQuYu/Qwen3.6-35B-A3B:/models \
  -v /root:/root \
  -p 8002:8000 \
  quay.nju.edu.cn/ascend/vllm-ascend:v0.18.0-openeuler \
  Bash

其中模型的位置要根据自己存放模型文件的位置改。果不其然报错了,呵呵呵:

bash 复制代码
--: line 1: exec: Bash: not found

写博客的作者也太不细心了吧,应该用小写的bash。

如果能在启动image的同时启动vllm服务更好,所以试着这样写:

bash 复制代码
docker run -itd \
  --name qwen3_6_vllm \
  --privileged \
  --shm-size=64g \
  -v /usr/local/Ascend:/usr/local/Ascend \
  -v /dev:/dev \
  -v /root/ProjectsQuYu/Qwen3.6-35B-A3B:/models \
  -p 8002:8000 \
  quay.nju.edu.cn/ascend/vllm-ascend:v0.18.0-openeuler \
  python3 -m vllm.entrypoints.openai.api_server --host 0.0.0.0 --port 8000 --model /models --dtype half

这里加了一个参数d,表示静默运行,可以输入:

bash 复制代码
docker logs -f qwen3_6_vllm

查看输出,结果发现又报错了:

bash 复制代码
RuntimeError: NPU out of memory. Tried to allocate 1.00 GiB (NPU 0; 60.96 GiB total capacity; 59.89 GiB already allocated; 59.89 GiB current active; 692.09 MiB free; 59.91 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.

这个错误真是不应该啊,不禁想问前面这个作者真的跑起来了吗?

把容器删除:

bash 复制代码
docker rm -f qwen3_6_vllm

重新启动并指定8个NPU:

bash 复制代码
docker run -itd \
  --name qwen3_6_vllm \
  --privileged \
  --shm-size=64g \
  -v /usr/local/Ascend:/usr/local/Ascend \
  -v /dev:/dev \
  -v /root/ProjectsQuYu/Qwen3.6-35B-A3B:/models \
  -p 8002:8000 \
  quay.nju.edu.cn/ascend/vllm-ascend:v0.18.0-openeuler \
  python3 -m vllm.entrypoints.openai.api_server \
    --host 0.0.0.0 \
    --port 8000 \
    --model /models \
    --dtype half \
    --tensor-parallel-size 8

然后就可以看到正常运行了,使用curl测试一下:

bash 复制代码
curl http://10.220.96.105:8002/v1/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "/models",
    "prompt": "你好,你可以用作编程任务吗?",
    "max_tokens": 128,
    "temperature": 0.7
  }'

就可以看到输出了(怎么感觉速度很慢)。可能的改进方向:

关于数据类型,从我这边一次报错中可以看出来:

choose from 'auto', 'bfloat16', 'float', 'float16', 'float32', 'half'

bfloat16应该比half感觉要更快一些。

另外,Qwen 3.6是多模态模型,如果"跳过视觉编码器和多模态分析"(https://www.modelscope.cn/models/Qwen/Qwen3.6-35B-A3B)应该会更快一些。但我不确定在vLLM-Ascend上应该怎么设置。

就先简单总结这么多。

相关推荐
问天_观心1 小时前
大模型训练与推理优化(二)
人工智能·深度学习·学习·大模型·transformer
智码看视界3 小时前
开源大模型追踪:腾讯混元Hy4preview,FP8 770GB 落地企业私有化,Apache 2.0 无字段限制
开源·vllm·开源大模型·apache2.0·fp8量化·腾讯混元hy4·agent推理
小范的技术工坊4 小时前
大模型蒸馏
人工智能·算法·数据挖掘·大模型
liferecords8 小时前
笔记本硬跑 744B 大模型:GitHub 上的『蜂鸟』把 SSD 当显存用
人工智能·开源·大模型·推理优化
爱喝雪碧的可乐9 小时前
CSDN|爆火哑巴AI Jev模型深度实战|技术博客
人工智能·大模型·jev
梦想不只是梦与想13 小时前
LangGraph控制流:条件边、循环与并行(二)
langchain·大模型·边
User_芊芊君子13 小时前
一张手写菜单,我用 Seed-2.1-pro-0915 开了一家数字咖啡馆
ai·大模型·aigc
段一凡-华北理工大学20 小时前
大模型应用开发 100 天:Python + LLM 从入门到精通 day26~Prompt 调试与优化——A/B 测试与效果评估
windows·python·大模型·prompt·智能体·提示词工程·高炉智能化
白萝卜弟弟21 小时前
【大模型Qwen3.8 27B】llama.cpp 本地大模型部署与使用
ai·大模型·agent·llama·qwen3.8
做cv的小昊1 天前
【World Model】π0.5:a Vision-Language-Action Model with Open-World Generalization
人工智能·算法·机器学习·大模型·多模态·vla·世界模型