openEuler 生态:DeepSeek-V4-Flash 部署实践

openEuler2026-06-08openEulervLLM AscendDeepSeek-V4

openEuler 生态:DeepSeek-V4-Flash 部署实践

一、背景

2026 年 4 月 24 日,DeepSeek 正式发布并开源 DeepSeek-V4 系列模型,在百万级上下文、Agent 能力与推理性能上实现显著跃升。该系列按规模分为两个版本:

模型总参数量激活参数量上下文长度定位
DeepSeek-V4-Pro1.6T49B1M旗舰性能版,面向复杂推理与 Agent 场景
DeepSeek-V4-Flash284B13B1M高效经济版,兼顾推理能力与部署成本

架构层面,V4 系列引入了混合注意力机制(Compress-4-Attention / Compress-128-Attention)与 KV Cache 滑窗压缩,将上下文窗口从 128K 扩展至 100 万 token,大幅降低长序列场景的计算与访存开销;配合 mHC(Manifold-Constrained Hyper-Connections)与 DeepSeekMoE 设计,对 Agent、Coding 等任务做了针对性优化。模型同时提供 API 服务,兼容 OpenAI ChatCompletions 与 Anthropic 接口——开发者只需将 model 参数改为 deepseek-v4-flash,即可接入现有应用。

模型能力要真正落地,离不开 openEuler 生态与底层算力的协同支撑。openEuler(开源欧拉)作为面向数字基础设施的全场景开源操作系统,已在昇腾 Atlas 800 A2/A3 等平台上完成与 DeepSeek-V4-Flash 的深度适配;配合 vLLM Ascend 推理引擎,用户可在 openEuler 上完成从权重加载、量化推理到 API 服务暴露的全链路部署。下文以 DeepSeek-V4-Flash-w8a8-mtp(昇腾 W8A8 量化版)为例,分享具体的部署实践。

全栈架构

这一部署方案覆盖了从芯片到应用的完整技术栈,而非简单的"模型 + 操作系统"组合。各层组件分工明确、紧密衔接,如下图所示: alt text

层级组件作用
硬件层昇腾 Atlas 800 A2/A3提供 NPU 算力,单节点 8 卡即可部署 Flash 量化模型
驱动层Ascend 驱动 + CANN管理 NPU 设备,提供算子编译与运行时支持
操作系统层openEuler 24.03 LTS提供稳定运行环境,官方容器镜像已预集成依赖
推理引擎层vLLM Ascend适配昇腾算力,支持 TP/EP 并行、MTP 投机解码等特性
模型层DeepSeek-V4-Flash-w8a8-mtpW8A8 量化权重,A2/A3 单节点即可运行
服务层OpenAI 兼容 API通过 /v1/chat/completions 对外提供标准推理接口

其中,vLLM Ascend 官方容器镜像(如 quay.io/ascend/vllm-ascend:deepseekv4-a3-openeuler)基于 openEuler 24.03 LTS 构建,支持 ARM 与 x86 架构,用户挂载 NPU 设备与驱动目录后即可启动服务,无需从零拼装依赖。

生态配套

在上述全栈基础上,openEuler 与昇腾生态还提供了一系列开箱即用的配套能力,进一步降低部署门槛:

  • 模型托管:量化权重已发布至 ModelScopeEco-Tech/DeepSeek-V4-Flash-w8a8-mtp),支持离线下载与缓存挂载。
  • 容器化交付:基于官方 Docker 镜像一键拉起推理服务,免去编译框架与环境配置的繁琐步骤。
  • 接口兼容:服务暴露标准 OpenAI Chat Completions 接口,Claude Code、OpenCode 等 Agent 工具可无缝切换后端。

综上,openEuler 上的 DeepSeek-V4-Flash 部署方案,在硬件侧获得昇腾 NPU 的原生算力,在软件侧沿用 vLLM 生态与 OpenAI 接口规范,兼顾了性能、易用与兼容性。

二、部署实践

环境准备

宿主机需安装 openEuler 24.03 LTS SP3 及以上版本,并预先安装 Docker 及昇腾 NPU 驱动。可通过 cat /etc/os-release 确认系统版本,通过 npu-smi info 确认 NPU 驱动与设备状态正常。

需求类型具体要求
系统版本openEuler 24.03 LTS SP3 及以上
硬件平台昇腾 Atlas 800 A3,8 卡(本文实测环境)
硬件资源NPU 显存 ≥ 400GB,可用磁盘空间 ≥ 400GB
权限要求具备 sudo 权限

安装驱动和CANN

直接根据自己的设备情况按照昇腾官网的流程安装即可。

下载模型

目前昇腾支持Deepseek量化后的模型,下载方式见官网

下载镜像

这里建议用最新版的 quay.io/ascend/vllm-ascend:deepseekv4-a3-openeuler,如果下载 0.13.0需要添加补丁才能运行一些缺失的功能。

docker pull quay.io/ascend/vllm-ascend:deepseekv4-a3-openeuler

注意:这里的A3是因为这里演示机器的NPU卡为A3系列,A2系列下载的镜像为quay.io/ascend/vllm-ascend:deepseekv4-openeuler

创建容器

docker run \
  --name vllm-ascend-dsv4 \
  --shm-size=256g \
  --privileged \
  --device /dev/davinci0 \
  --device /dev/davinci1 \
  --device /dev/davinci2 \
  --device /dev/davinci3 \
  --device /dev/davinci4 \
  --device /dev/davinci5 \
  --device /dev/davinci6 \
  --device /dev/davinci7 \
  --device /dev/davinci_manager \
  --device /dev/devmm_svm \
  --device /dev/hisi_hdc \
  -v /usr/local/dcmi:/usr/local/dcmi \
  -v /usr/local/Ascend/driver/tools/hccn_tool:/usr/local/Ascend/driver/tools/hccn_tool \
  -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 /etc/hccn.conf:/etc/hccn.conf \
  -v /mnt/sfs_turbo/.cache:/root/.cache \
  -v /home/models/:/home/models \
  -p 8000:8000 \
  -it quay.io/ascend/vllm-ascend:deepseekv4-a3-openeuler bash

注意:该模型大小为300G,要运行的话最好有400G以上的显存空间,上面的/dev/davinci*根据设备情况而定。

启动服务

下面的服务指令对应的卡是A3系列的,A2系列的可以参考官方文档

export OMP_PROC_BIND=false
export OMP_NUM_THREADS=10
export PYTORCH_NPU_ALLOC_CONF=expandable_segments:True
export ACL_OP_INIT_MODE=1
export ASCEND_A3_ENABLE=1
export USE_MULTI_GROUPS_KV_CACHE=1
export USE_MULTI_BLOCK_POOL=1
export HCCL_BUFFSIZE=1024
export VLLM_ASCEND_ENABLE_FUSED_MC2=1
export VLLM_ASCEND_ENABLE_FLASHCOMM1=1

vllm serve /home/models/DeepSeek-V4-Flash-w8a8-mtp \
    --enable-prefix-caching \
    --max_model_len 1024000 \
    --max-num-batched-tokens 8192 \
    --served-model-name dsv4 \
    --gpu-memory-utilization 0.9 \
    --api-server-count 1 \
    --max-num-seqs 16 \
    --data-parallel-size 4 \
    --tensor-parallel-size 4 \
    --enable-expert-parallel \
    --tokenizer-mode deepseek_v4 \
    --tool-call-parser deepseek_v4 \
    --enable-auto-tool-choice \
    --reasoning-parser deepseek_v4 \
    --safetensors-load-strategy 'prefetch' \
    --quantization ascend \
    --speculative-config '{"num_speculative_tokens": 1,"method": "deepseek_mtp"}' \
    --port 8000 \
    --block-size 128 \
    --compilation-config '{"cudagraph_mode": "FULL_DECODE_ONLY"}'\
    --async-scheduling \
    --additional-config '
    {"ascend_compilation_config":{
        "enable_npugraph_ex":true,
        "enable_static_kernel":false
        },
    "enable_cpu_binding": "true",
    "multistream_overlap_shared_expert":false,
    "multistream_dsa_preprocess":false}'

访问与测试

访问可以用curl指令进行验证。

curl http://0.0.0.0:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "dsv4",
    "messages": [
        {
            "role": "user",
            "content": "介绍一下openEuler。"
        }
    ],
    "stream": false,
    "max_tokens": 1024,
    "temperature": 0
  }'

测试一般采用vllm自带的benchmark工具。

vllm bench serve \
  --model "dsv4" \
  --tokenizer "/home/models/DeepSeek-V4-Flash-w8a8-mtp" \
  --dataset-name random \
  --random-input-len 8192 \
  --random-output-len 4096 \
  --num-prompts 1 \
  --host 127.0.0.1 \
  --port 8000 \
  --endpoint /v1/completions

性能数据

输入长度输出长度请求数量平均推理时延(ms)平均推理速度(tokens/s)
81924096122.7943.29
81924096431.7196.17
819240961034.51216.64
6553632768122.0144.75
6553632768425.41148.32
65536327681043.25212.24

三、未来与展望

DeepSeek-V4-Flash 在 openEuler 上跑通,只是起点。后续随着模型、算力与软件栈持续演进,openEuler 生态在性能、易用性与部署成本上仍有较大提升空间。

XPU-Turbo:CPU + XPU 异构推理

在 PD 分离 之外,业界还在探索更细粒度的 AF 分离 :将有状态、KV Cache 主导的 Attention 与无状态、计算密集的 FFN/MoE 专家拆分到不同实例,层间信息来回传递。对 DeepSeek-V4-Flash 这类 MoE 模型,传统 8 卡齐套 TP/EP 部署往往面临 Attention 访存瓶颈与 FFN 计算密度不足的双重压力;AF 分离可解耦两类资源的扩缩需求,在更少加速器卡数下完成全模型加载与推理。

我们团队正在 openEuler 生态内推进 XPU-Turbo 项目,面向 CPU + XPU 算力组合探索上述 AF 分离方案。当前实现的方案是将 MoE 全部专家部署在 CPU 上,专家权重存放与对应计算均在 CPU 完成,以释放加速器显存、缓解整节点 NPU 的刚性约束。需要明确的是,CPU 参与专家计算后,推理性能的上限必然低于纯 NPU 部署;XPU-Turbo 现阶段更侧重在有限加速器条件下先完成全模型加载与推理,以可接受的吞吐换取更低卡数与显存占用。配合 openEuler 的 GMEM 统一编址等能力,可在 KV Cache 管理、层间通信等环节让 CPU 与加速器协同;后续将通过算子优化与异构调度,在既定架构下持续优化吞吐表现。

后续将与本文 8 卡基线方案对比验证,在 CPU + XPU 异构环境下测试最低卡数需求、吞吐与时延,沉淀可复现的部署配置。需要说明的是,本文第二节为当前可落地的基线方案;DeepSeek-V4 模型还在适配阶段,验证通过后有望为 DeepSeek-V4-Flash 乃至更大规模模型的普惠部署提供新路径。

综上,本文给出了 openEuler 生态下 DeepSeek-V4-Flash 的可复现部署实践。第二节的全 NPU 方案面向追求峰值吞吐的生产场景;XPU-Turbo 作为后续探索方向,以 CPU 承担 MoE 专家计算,在更少加速器条件下争取先跑通全模型——性能上限虽不及纯 NPU,但有望显著降低卡数与显存门槛。二者分别对应「跑得好」与「用得起」。也欢迎社区参与验证与反馈,共同完善上述部署路径。


【免责声明】本文仅代表作者本人观点,与本网站无关。本网站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。本文仅供读者参考,由此产生的所有法律责任均由读者本人承担。