华为Ascend 910B部署Qwen2.5-VL-32B方案
- 一、多模态大模型——Qwen2.5-VL-32B
- 1.1 简介
- 1.2 显存测算
- 1.2.1 Model Memory Calculator工具测算
- 1.2.2 按模型参数量一般测算
- 1.3 算力测算
- 二、华为昇腾910B(64GB)
- 2.1 简介
- 2.2 Atlas 800I A2 推理服务器
- 三、Qwen2.5-VL-32B-Instruct部署到华为昇腾910B
- 四、测试
- 参考资料
- 附表
- 表1. 模型下载地址
- 表2. FP精度和特殊精度位数表
- 表3. 对比910B/A100/A800/H100/H800/H200
部署Qwen2.5-VL-32B-Instruct模型至少需要 2张华为昇腾910B(64GB)算力卡。具体测算依据如下:
一、多模态大模型——Qwen2.5-VL-32B
1.1 简介
| 项 |
值 |
| 最高上下文输入长度 |
32K tokens |
| 最长输出结果 |
2048 tokens |
| 模型类型 |
多模态大模型 |
| 发布时间 |
2025-03-24 |
| 模型预文件大小 |
64GB |
| 代码开源状态 |
Apache 2.0 |
| 预训练权重开源 |
Apache 2.0 - 免费商用授权 |
| GitHub 源码 |
https://github.com/QwenLM/Qwen2.5-VL |
| Hugging Face平台模型下载 |
https://huggingface.co/Qwen/Qwen2.5-VL-32B-Instruct |
| modelscope平台模型下载 |
https://modelscope.cn/models/Qwen/Qwen2.5-VL-32B-Instruct/files |
| 在线体验 |
https://chat.qwen.ai/、https://huggingface.co/spaces/Qwen/Qwen2.5-VL-32B-Instruct |
| 官方论文 |
https://qwenlm.github.io/blog/qwen2.5-vl-32b/ |
1.2 显存测算
1.2.1 Model Memory Calculator工具测算
使用Model Memory Calculator工具测算的显存占用结果如下:
| 量化类型(精度) |
最大层 |
推理显存 |
推理显存(修正) |
Adam训练显存 |
| float32 |
2.9 GB |
119.15 GB |
142.98 GB |
476.62 GB |
| float16 |
1.45 GB |
59.58 GB |
71.496 GB |
238.31 GB |
| int8 |
742.5 MB |
29.79 GB |
35.748 GB |
N/A |
| int4 |
371.25 MB |
14.89 GB |
17.868 GB |
N/A |
修正原因:EleutherAI在曾经的技术分析中提到推理所需的实际显存可能要比计算结果高20%左右。
HuggingFace官方工具Model Memory Calculator,一键计算大模型显存需求~ | 数据学习者官方网站(Datalearner)
1.2.2 按模型参数量一般测算
| 量化类型(精度) |
所需基础显存 |
| float32 |
128 GB |
| float16 |
64GB |
| int8 |
32GB |
| int4 |
16GB |
依据附表2,全参数激活(320亿参数)
1.3 算力测算
1.3.1 单 Token 理论计算量估算
根据 Transformer 模型的 FLOPs 计算公式:
\[FLOPs/token≈2×激活参数×序列长度
\] 对于Qwen2.5-VL-32B(激活参数:32B;序列长度:假设生成阶段为单步解码(序列长度=1)), 则单 Token 理论计算量约为:\(2×3.2×10^{10}=6.4×10^{10} FLOPs=64GFLOPs\), 即 0.064 TFLOPS/token。
二、华为昇腾910B(64GB)
2.1 简介
- 显存:64GB
- 卡间互联带宽:392 GB/s(HCCS技术)
- 精度-算力:
| 精度 |
算力(TFLOPS) |
单卡理论峰值(Tokens/s) |
| FP16 |
320 |
5,000 |
| INT8 |
640 |
10,000 |
https://blog.csdn.net/hao_wujing/article/details/144820794
2.2 Atlas 800I A2 推理服务器
技术规格 - Atlas 800I A2 推理服务器 用户指南 09 - 华为
三、Qwen2.5-VL-32B-Instruct部署到华为昇腾910B
官方部署教程:https://www.hiascend.com/developer/ascendhub/detail/9eedc82e0c0644b2a2a9d0821ed5e7ad
其他部署教程:
【教程】阿里最新多模态大模型Qwen2.5-VL-32B ,本地部署实践|vl|视觉|qwen|知名企业|云计算费用|阿里巴巴集团_网易订阅
【本地部署教程】Qwen2.5-VL 阿里最新开源最强的开源视觉大模型,支持视频!_wx64449c2051655的技术博客_51CTO博客
基于昇腾MindIE开箱部署Qwen2.5-VL-32B,体验更聪明的多模态理解能力_昇腾 qwen2.5-vl-CSDN博客
在昇腾Ascend 910B上运行Qwen2.5推理 - 知乎
太好了,vLLM已支持华为昇腾910B,半小时可部署Deepseek - 知乎
四、测试
平台:Autodl
4.1 硬件
| 名称 |
型号 |
| NPU |
华为昇腾910B(64GB)X2 |
| CPU |
48 vCPU Kunpeng-920 |
| 内存 |
440GB |
| 磁盘 |
150GB |
4.2 软件
| 名称 |
版本 |
| 操作系统 |
ubuntu22.04 |
| Python |
3.11.9 |
| CANN |
8.0.0 |
| torch |
2.5.1 |
| vllm |
0.7.3 |
| torchvision |
0.20.1 |
4.3 运行参数设置:
vllm serve /root/autodl-tmp/data-local/qwen25VL \
--max_model 4096 \
--port 8000 \
--tensor-parallel-size 2 \
--trust-remote-code \
--served-model-name "Qwen25vl" \
--api-key 123321
--dtype float16
--quantization bitsandbytes
占用显存:116.41GB
实测速度:6.7 tokens/s
参考资料
Models_Ecosystem/Qwen2.5-VL-32B-Instruct | 魔乐社区
基于昇腾MindIE开箱部署Qwen2.5-VL-32B,体验更聪明的多模态理解能力_昇腾 qwen2.5-vl-CSDN博客
大模型对硬件资源的需求报告 - 知乎
deepseek-ai/DeepSeek-R1
https://blog.csdn.net/m0_59163425/article/details/145640613?fromshare=blogdetail&sharetype=blogdetail&sharerId=145640613&sharerefer=PC&sharesource=qq_44670441&sharefrom=from_link
https://www.51cto.com/article/807960.html
GPU 进阶笔记(二):华为昇腾 910B GPU_昇腾910b-CSDN博客
GPU Performance (Data Sheets) Quick Reference (2023)
https://huggingface.co/spaces/hf-accelerate/model-memory-usage
https://blog.csdn.net/weixin_45555699/article/details/145805848
大模型精度:FP32、TF32、FP16、BF16、FP8、FP4、NF4、INT8 - AI产品经理大群的文章 - 知乎
大模型推理显存与GPU计算器 | 硬件需求估算
GPU 显存带宽的计算方法 - 简书
性能仅华为AI芯片的50%,英伟达GPU H20被中企砍单? - OFweek电子工程网
【智算卡】华为昇腾910B与英伟达GPU全方位技术对比及产品线差异解析_华为升腾芯片与英伟达芯片对比-CSDN博客
中美AI芯片对决:华为昇腾910B vs 英伟达H100性能实测 - 今日头条
英伟达 vs. 华为海思:GPU性能一览 - 知乎
昇腾社区官网-昇腾万里 让智能无所不及
附表
表1. 模型下载地址
| 平台 |
地址 |
| modelscope |
https://www.modelscope.cn/models/deepseek-ai/DeepSeek-R1 |
| huggingface |
https://huggingface.co/deepseek-ai/DeepSeek-R1 |
| deepseek官网 |
https://deepseekv3.org/zh-Hans/download |
| ollama |
https://ollama.com/library/deepseek-r1 |
表2. FP精度和特殊精度位数表
| dtype |
1B(10亿)参数 约占用显存(GB) |
符号位 |
指数位 |
小数位 |
总位数 |
字节数 |
| FP64 |
8 |
1 |
11 |
52 |
64 |
8 |
| FP32 |
4 |
1 |
8 |
23 |
32 |
4 |
| TF32 |
4 |
1 |
8 |
10 |
19 |
4 |
| BF16 |
2 |
1 |
8 |
7 |
16 |
2 |
| FP16 |
2 |
1 |
5 |
10 |
16 |
2 |
| FP8 E4M3 |
1 |
1 |
4 |
3 |
8 |
1 |
| FP8 E5M2 |
1 |
1 |
5 |
2 |
8 |
1 |
| FP4 |
0.5 |
1 |
2 |
1 |
4 |
0.5 |
具体计算过程如下:
全精度即为float32类型,已知1个float32类型参数占用4个字节,参考 勾勾黄:LLM精度问题(FP16、FP32、BF16),1B模型有10亿参数,需占内存 \(10^9×4\)Bytes 。
已知 \(1GB=1024MB=1024^2KB=1024^3Bytes\)
那么,\(\frac{10^9×4Byte}{1024^3}≈4GB\)
https://zhuanlan.zhihu.com/p/20329244481
大模型训练和推理时的显存占用怎么计算 - 知乎
表3. 对比910B/A100/A800/H100/H800/H200
|
A800 (PCIe/SXM) |
A100 (PCIe/SXM) |
Huawei Ascend 910B |
H800 (PCIe/SXM) |
H100 (PCIe/SXM) |
H200 (PCIe/SXM) |
| Year |
2022 |
2020 |
2023 |
2022 |
2022 |
2024 |
| Manufacturing |
7nm |
7nm |
7+nm |
4nm |
4nm |
4nm |
| Architecture |
Ampere |
Ampere |
HUAWEI Da Vinci |
Hopper |
Hopper |
Hopper |
| Max Power |
300/400 W |
300/400 W |
400 W |
|
350/700 W |
700W |
| GPU Mem |
80G HBM2e |
80G HBM2e |
64G HBM2e |
80G HBM3 |
80G HBM3 |
141GB HBM3e |
| GPU Mem BW |
|
1935/2039 GB/s |
|
|
2/3.35 TB/s |
4.8 TB/s |
| GPU Interconnect (one-to-one max bw) |
NVLINK 400GB/s |
PCIe Gen4 64GB/s, NVLINK 600GB/s |
HCCS 56GB/s |
NVLINK 400GB/s |
PCIe Gen5 128GB/s, NVLINK 900GB/s |
PCIe Gen5 128GB/s, NVLINK 900 GB/s |
| GPU Interconnect (one-to-many total bw) |
NVLINK 400GB/s |
PCIe Gen4 64GB/s, NVLINK 600GB/s |
HCCS 392GB/s |
NVLINK 400GB/s |
PCIe Gen5 128GB/s, NVLINK 900GB/s |
PCIe Gen5 128GB/s, NVLINK 900 GB/s |
FP32 TFLOPS |
|
19.5 |
|
|
`51 |
67*` |
TF32 TFLOPS |
|
`156 |
312*` |
|
|
`756 |
BF16 TFLOPS |
|
`156 |
312*` |
|
|
`1513 |
FP16 TFLOPS |
|
`312 |
624*` |
320 |
|
`1513 |
FP8 TFLOPS |
NOT support |
NOT support |
|
|
`3026 |
3958*` |
INT8 TFLOPS |
|
`624 |
1248*` |
640 |
|
`3026 |
GPU Performance (Data Sheets) Quick Reference (2023)
来源:https://www.cnblogs.com/wangalong/p/18923343 |