needhelp
← 返回博客

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 │ │
│ └───────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────┘

部署指南

前置条件

Terminal window
# 系统要求
- 操作系统: Ubuntu 22.04 / EulerOS
- 内核: 5.10+
- NPU: 昇腾 910B (至少 1 张卡)
- 内存: 64GB+ 系统 RAM
- 磁盘: 200GB+ 剩余空间

步骤 1:安装 CANN 工具包

Terminal window
# 从华为支持网站下载 CANN
chmod +x Ascend-cann-toolkit_*.run
./Ascend-cann-toolkit_*.run --install --quiet
# 验证安装
npu-smi info
# 应显示可用的昇腾 NPU

步骤 2:设置 Docker 环境

Terminal window
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:启动推理服务

Terminal window
# 在容器内
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:测试

Terminal window
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 模型,体验已经真正达到生产就绪水平。

给开发者的六个建议

  1. 使用 vLLM-Ascend,而不是原始 CANN — vLLM 的社区分支配合昇腾后端已为你完成大部分优化工作
  2. 启用 Flash Attention — 昇腾实现(--enable-flash-attn)在长序列上可提供 1.5-2 倍加速
  3. 注意批次大小 — 显存带宽是瓶颈;小批次(1-4)能带来最佳的延迟/吞吐量平衡
  4. 使用 BF16 而非 INT8 — 虽然 INT8 更快,但由于量化校准机制不同,昇腾上的质量下降比 CUDA 更明显
  5. 定期更新 CANN — 每个版本都带来显著的性能提升。7.0.0 表现不错;8.0.0+ 明显更好
  6. 加入社区 — GitHub 和中国开发者论坛上的昇腾 AI 社区非常活跃且乐于助人

更大的图景

DeepSeek V4 在昇腾上的运行不仅仅是一个新的部署选项。它代表了一个 解耦时刻——AI 模型开发和 AI 硬件生态系统发展可以独立进行。对中国开发者而言,这意味着在不受地缘政治约束的情况下获得前沿 AI 能力。对全球社区而言,这意味着一个更加多样化和更具韧性的硬件生态系统。

与 CUDA 的差距尚未完全弥合。但差距正在缩小,而且改进的速度正在加快。

参考链接

分享本页