当前位置: 首页 > news >正文

基于vllm-ascend的华为atlas大模型部署

vllm-ascend介绍:

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

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

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

支持的NPU系列:

  • Atlas A2 Training series (Atlas 800T A2, Atlas 900 A2 PoD, Atlas 200T A2 Box16, Atlas 300T A2)
  • Atlas 800I A2 Inference series (Atlas 800I A2)

部署:

1、拉取镜像,

docker pull vllm-ascend-dev-image:latest

启动容器,

docker run -itd \
--name vllm-tool \
--device /dev/davinci2 \
--device /dev/davinci5 \
--device /dev/davinci_manager \
--device /dev/devmm_svm \
--device /dev/hisi_hdc \
-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 \
-v /root/.cache:/root/.cache \
-v /data:/data \
-p 8000:8000 \
-e VLLM_USE_MODELSCOPE=True \
-e PYTORCH_NPU_ALLOC_CONF=max_split_size_mb:256 \
quay.io/ascend/vllm-ascend:v0.8.5rc1 bash

其中,/dev/davinci2根据自己的显卡设置,比如我的是/dev/davinci2、/dev/davinci5

模型文件存储在/data/models/目录下,所以挂载了data目录。

2、利用vllm进行部署模型:

进入容器,

docker exec -it vllm-tool /bin/bash

利用vllm进行部署,

vllm serve /data/models/Qwen3-0.6B --trust-remote-code --tensor-parallel-size 1 --dtype half

或者,gpu-memory-utilization取值0-1之间,默认取值0.9,之所以增加gpu-memory-utilization参数,是因为DeepSeek 的"max_position_embeddings": 131072,远远大于qwen3的"max_position_embeddings": 40960。

vllm serve /data/models/DeepSeek-R1-Distill-Qwen-7B --trust-remote-code --tensor-parallel-size 2 --dtype half --gpu-memory-utilization 0.99

--tensor-parallel-size

张量并行通过将单个张量的计算分割成更小的块,分配到多个 GPU上。这样可以提高计算的吞吐量,特别是当单个张量的数据量很大时,张量并行可以让多个 GPU 协同完成一个操作。

解释:比如跑Qwen3-8B 模型,--tensor-parallel-size=2 表示将一个层中的计算任务分成2份,在2个 GPU 之间并行执行。例如,假设模型的线性层需要矩阵乘法操作,张量并行会将这个矩阵分割到2个 GPU 上并行计算,最终合并结果。

适用场景:张量并行适用于那些计算量大的层(如注意力层和前馈层),它能帮助缓存。

出现以下信息即可:

3、利用curl请求进行对话(在宿主机):

查看模型列表:

curl http://localhost:8000/v1/models | python3 -m json.tool

请求服务,

curl http://172.17.1.1:8000/v1/chat/completions \-H "Content-Type: application/json" \-d '{"model": "/data/models/Qwen2.5-7B-Instruct","messages": [{"role": "user", "content": "你好,请介绍一下你自己"}],"temperature": 0.7,"max_tokens": 512}'

实测效果:

模型

显存占用

Qwen3-0.6B

25G

Qwen3-1.7B

24G

Qwen3-4B

21G

Qwen3-8B

用了2张卡,1张卡23G,,一共46G

DeepSeek-R1-Distill-Qwen-7B

用了2张卡,1张卡16G,,一共32G

Qwen2.5-7B-Instruct

用了2张卡,1张卡24G,,一共48G

华为atlas比英伟达的显存占用高出很多。

参考链接:

Quickstart — vllm-ascend

vllm-ascend: vllm_ascend

欢迎来到 vLLM! | vLLM 中文站

http://www.xdnf.cn/news/434467.html

相关文章:

  • OrangePi Zero 3学习笔记(Android篇)8 - OpenOCD
  • 什么是原码和补码
  • 【JavaScript】JavaScript实现大数相乘
  • ebook2audiobook开源程序使用动态 AI 模型和语音克隆将电子书转换为带有章节和元数据的有声读物。支持 1,107+ 种语言
  • day013-软件包管理-实战
  • 门禁人脸识别系统详细技术文档
  • 索尼(sony)摄像机格式化后mp4的恢复方法
  • 【基础】Windows开发设置入门2:Windows 终端Windows Terminal
  • FHQ平衡树
  • MCP Server多节点滚动升级一致性治理
  • 怎样将课程表导入手机日历,每天提醒上课?
  • 【Linux系列】dd 命令的深度解析与应用实践
  • Spring框架请求注解
  • 从生产流程到故障处理,R²AIN SUITE 如何为制造业“减负”?
  • Transformer架构介绍+从零搭建预训练模型项目
  • ai讲ping
  • 【C盘空间不足怎么办】
  • git merge和git rebase
  • 科学养生:构建现代健康生活新范式
  • LamaIndex rag(增强检索)入门
  • MySQL:关系模型的基本理论
  • 以价值为导向的精准数据治理实践,赋能业务决策
  • 基于STM32、HAL库的SGTL5000XNLA3R2音频接口芯片驱动程序设计
  • 数据库--处理模型(Processing Model)
  • DCDC输入4.5V-65V耐压 5A电流异步降压芯片SL3075兼容替换TPS54560
  • 【蓝桥杯嵌入式】【复盘】第13届国赛真题
  • 微店根据关键词取商品列表 API 返回值说明
  • 【NextPilot日志移植】params.c解析
  • 大白话解释「量化」是什么
  • (1+x)-1次幂 (1-x)-1次幂 泰勒展开式