DeepSeek V4 在华为昇腾上的部署:在国产硬件上运行前沿 AI 的实用指南
作者 needhelp
deepseek
huawei-ascend
ai-deployment
domestic-ai
DeepSeek V4 预览版的发布标志着 AI 硬件格局的重大转变。这是前沿级模型首次对 华为昇腾 NPU 提供一流支持——这意味着你可以在没有一块 NVIDIA GPU 的情况下运行有竞争力的 AI 推理。
这对一直受限于 GPU 供应的中国开发者、研究机构和企业来说意义重大。让我来解读这意味着什么以及如何开始。
硬件格局
昇腾 910B vs. NVIDIA A100(关键规格)
┌────────────────────┬────────────────────┬────────────────────┐
│ 规格 │ 昇腾 910B │ NVIDIA A100 │
├────────────────────┼────────────────────┼────────────────────┤
│ 算力 (FP16) │ 320 TFLOPS │ 312 TFLOPS │
│ 显存 │ 64GB HBM2e │ 80GB HBM2e │
│ 显存带宽 │ 1.5 TB/s │ 2.0 TB/s │
│ 互联 │ HCCS 56GB/s │ NVLink 600GB/s │
│ 功耗 │ 310W │ 400W │
│ 供应情况 │ 高(国内) │ 受限* │
└────────────────────┴────────────────────┴────────────────────┘
* NVIDIA 对特定市场的出口限制
这些数字讲述了一个有趣的故事。原始算力相当——910B 在 FP16 TFLOPS 上甚至略占优势。差距在于显存带宽和互联性能,这会影响大批次推理和多卡扩展。但对于单卡推理和小批次服务,差距正在迅速缩小。
架构概览
┌─────────────────────────────────────────────────────────────┐
│ DeepSeek V4 在昇腾上——部署栈 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ 客户端层 │ │
│ │ (聊天 UI / API 客户端 / curl) │ │
│ └────────────────────┬──────────────────────────────────┘ │
│ │ HTTP/WebSocket │
│ ┌────────────────────▼──────────────────────────────────┐ │
│ │ 服务层 │ │
│ │ vLLM-Ascend / TGI-Ascend │ │
│ └────────────────────┬──────────────────────────────────┘ │
│ │ CANN (计算架构) │
│ ┌────────────────────▼──────────────────────────────────┐ │
│ │ CANN 栈 │ │
│ │ ├── ACL (昇腾计算语言) │ │
│ │ ├── GE (图引擎) │ │
│ │ └── 运行时驱动 │ │
│ └────────────────────┬──────────────────────────────────┘ │
│ │ │
│ ┌────────────────────▼──────────────────────────────────┐ │
│ │ 硬件 │ │
│ │ 昇腾 910B / 910 Pro │ │
│ └───────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘
部署指南
前置条件
# 系统要求
- 操作系统: Ubuntu 22.04 / EulerOS
- 内核: 5.10+
- NPU: 昇腾 910B (至少 1 张卡)
- 内存: 64GB+ 系统 RAM
- 磁盘: 200GB+ 剩余空间
步骤 1:安装 CANN 工具包
# 从华为支持网站下载 CANN
chmod +x Ascend-cann-toolkit_*.run
./Ascend-cann-toolkit_*.run --install --quiet
# 验证安装
npu-smi info
# 应显示可用的昇腾 NPU
步骤 2:设置 Docker 环境
docker pull deepseek-ai/deepseek-v4-ascend:latest
docker run --rm -it \
--device=/dev/davinci0 \
--device=/dev/davinci_manager \
--device=/dev/hisi_hdc \
-v /usr/local/Ascend:/usr/local/Ascend \
-p 8000:8000 \
deepseek-ai/deepseek-v4-ascend:latest
步骤 3:启动推理服务
# 在容器内
python -m vllm.entrypoints.openai.api_server \
--model /models/deepseek-v4-preview \
--trust-remote-code \
--dtype bfloat16 \
--max-model-len 4096 \
--gpu-memory-utilization 0.9
步骤 4:测试
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-v4-preview",
"messages": [{"role": "user", "content": "你好,你能做什么?"}]
}'
性能观察
社区早期基准测试显示出令人鼓舞的结果:
| 模型 | 硬件 | Tokens/秒 | 显存 | 备注 |
|---|---|---|---|---|
| V4 Preview (7B) | 1× 昇腾 910B | ~45 t/s | 14GB | 速度快,单卡可容纳 |
| V4 Preview (14B) | 1× 昇腾 910B | ~22 t/s | 28GB | 可用于生产环境 |
| V4 Preview (70B) | 4× 昇腾 910B | ~15 t/s | 63GB | 需要量化 |
| V4 Preview (70B) | 1× A100 80GB | ~35 t/s | 70GB | 参考基准线 |
随着优化的 CANN 内核推出,差距正在缩小。对于 7B 和 14B 模型,体验已经真正达到生产就绪水平。
给开发者的六个建议
- 使用 vLLM-Ascend,而不是原始 CANN — vLLM 的社区分支配合昇腾后端已为你完成大部分优化工作
- 启用 Flash Attention — 昇腾实现(
--enable-flash-attn)在长序列上可提供 1.5-2 倍加速 - 注意批次大小 — 显存带宽是瓶颈;小批次(1-4)能带来最佳的延迟/吞吐量平衡
- 使用 BF16 而非 INT8 — 虽然 INT8 更快,但由于量化校准机制不同,昇腾上的质量下降比 CUDA 更明显
- 定期更新 CANN — 每个版本都带来显著的性能提升。7.0.0 表现不错;8.0.0+ 明显更好
- 加入社区 — GitHub 和中国开发者论坛上的昇腾 AI 社区非常活跃且乐于助人
更大的图景
DeepSeek V4 在昇腾上的运行不仅仅是一个新的部署选项。它代表了一个 解耦时刻——AI 模型开发和 AI 硬件生态系统发展可以独立进行。对中国开发者而言,这意味着在不受地缘政治约束的情况下获得前沿 AI 能力。对全球社区而言,这意味着一个更加多样化和更具韧性的硬件生态系统。
与 CUDA 的差距尚未完全弥合。但差距正在缩小,而且改进的速度正在加快。