---
title: DeepSeek-V4.1-Flash-1017-w4a8-Ascend
canonical_url: "https://www.modelscope.cn/models/chiro2001/DeepSeek-V4.1-Flash-1017-w4a8-Ascend"
md_url: "https://www.modelscope.cn/models/chiro2001/DeepSeek-V4.1-Flash-1017-w4a8-Ascend.md"
repository: chiro2001/DeepSeek-V4.1-Flash-1017-w4a8-Ascend
last_updated: 2026-10-18
license: MIT
pipeline_tag: image-text-to-text
tasks:
  - image-text-to-text
model_type:
  - deepseek_v41
architectures:
  - DeepseekV41ForCausalLM
base_model:
  - deepseek-ai/DeepSeek-V4.1-Flash-1017
base_model_relation: quantized
parameters: 297.2B
tensor_type:
  - F32
  - I8
  - BF16
library_name:
  - safetensors
  - pytorch
  - vllm-ascend
frameworks:
  - PyTorch
  - vLLM-Ascend
language:
  - zh
  - en
domain:
  - multi-modal
downloads: 3250
stars: 29
tags:
  - Ascend
  - 910
  - W4A8
  - "量化"
  - MoE
  - DeepSeek-V4.1
  - vLLM-Ascend
---

# DeepSeek-V4.1-Flash-1017-w4a8-Ascend

> DeepSeek-V4.1-Flash-1017-w4a8-Ascend - chiro2001 在 ModelScope 开源的模型。针对910B系列量化和优化推理速度的模型

chiro2001/DeepSeek-V4.1-Flash-1017-w4a8-Ascend 是 ModelScope 魔搭社区上的 297.2B 参数image-text-to-text模型，采用 MIT 许可，基于 deepseek-ai/DeepSeek-V4.1-Flash-1017 构建。

- **Repository**: chiro2001/DeepSeek-V4.1-Flash-1017-w4a8-Ascend
- **License**: MIT
- **Tasks**: image-text-to-text
- **Parameters**: 297.2B
- **Base model**: deepseek-ai/DeepSeek-V4.1-Flash-1017
- **Tags**: Ascend, 910, W4A8, 量化, MoE, DeepSeek-V4.1, vLLM-Ascend
- **Downloads**: 3250
- **Stars**: 29
- **Last updated**: 2026-10-18

Source: https://www.modelscope.cn/models/chiro2001/DeepSeek-V4.1-Flash-1017-w4a8-Ascend

---

# DeepSeek-V4.1-Flash-1017 W4A8（Ascend）

## GitHub：运行时、起服脚本与完整文档

**[github.com/chiro2001/deepseek-v4.1-flash-ascend910B](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B)**

**[A2 / A3 快速开始](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B#3-快速开始) · [镜像与交付包 Releases](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/releases) · [CED-PD 部署](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/tree/main/deploy/a3-ced-pd) · [性能记录](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/blob/main/EXPECTED_PERF.md)**

本页提供 **1017 权重、Engram 重组及各形态的起服示例**；修改版 vLLM / vLLM-Ascend、镜像构建与完整部署文档在上述 GitHub 仓库。仅下载官方基础镜像不足以运行本仓库的量化权重。

基于 [DeepSeek-V4.1-Flash-1017](https://www.modelscope.cn/models/deepseek-ai/DeepSeek-V4.1-Flash-1017) 的 Ascend 量化权重，2026-10-17 从新版官方权重重新生成主干、Engram、DSpark draft、Vision/QuaRot 与 MTP 量化产物。

本仓库沿用[旧版量化仓库](https://www.modelscope.cn/models/chiro2001/DeepSeek-V4.1-Flash-w4a8-Ascend)的目录与 Engram 分片约定。本次主干使用 **DP16 标定量化，80 个主干分片**；旧版为 DP8、72 个主干分片。请下载到独立目录，避免混用。

已在 **Ascend A3、单实例 TP8（8 个逻辑设备，即 4 块双 die 卡）**上验证文本、视觉、多轮、工具调用、thinking、DSpark 图模式与约 13 万 token 长上下文。主干与 draft 常驻 HBM；约 206 GiB Engram 表位于主机 DRAM，A3 使用 device-index 映射。模型配置的最大上下文为 1,048,576 token，**本次实测范围为约 130K，未重新完成 1M 验收或性能基准**。

## 部署形态怎么选

| 形态 | 硬件与用途 | 起服入口 | 1017 的验证范围 |
|---|---|---|---|
| **A2 单实例 TP8 + EP8** | 单台 **8×910B3，8 卡 / 8 个 device**；现有 A2 机器的基础路线 | `scripts/serve_a2.sh`，先构建 A2 工作镜像 | 提供适配入口；1017 尚未在真实 A2 上复测 |
| **A3 单实例 TP8 + EP8** | **8 个 device = 4 块 910C 卡**；部署简单，低并发交互优先 | `scripts/serve_a3.sh` | **本次实际验收形态** |
| **A3 单机 CED-PD（P8 + D8）** | **16 个 device = 8 块 910C 卡**；预填充与解码分离，适合长输入 | `deploy/a3-ced-pd/launch/serve_{p,d,proxy}.sh` | 旧权重有独立交付记录；1017 需重新验收 |
| A3 TP8 + DCP8 | 仍是同一组 **8 个 device / 8 ranks**；尝试提高长 KV 容量 | 专用 DCP 包与交付矩阵适配器，见下文 | **实验形态**，不作为默认推荐 |
| A2 TP8 + DRAM KV 卸载 / KV8 | 复用重复长前缀、扩大缓存；Engram 之外还要预留 KV 的宿主内存 | `a2/scripts/serve_a2_offload.sh`，先探测内存后端并生成 shadow-pkg | **进阶形态**，1017 与真实 A2 内存后端均需本机验收 |

**A2 的卡与 A3 的 device 不可混数**：A2 一块卡通常对应一个 device；本项目使用的 A3 一块卡有两个 die/device。TP8 使用 8 个 device，不是 A3 的整机 8 块卡。各形态都需要为 Engram 额外预留约 **206 GiB 主机 DRAM**，并为进程、缓存及操作系统留出余量。

## 预期的大致性能

以下用于容量和延迟规划，**取自 GitHub 归档的旧版 V4.1 权重实测，不是 1017 的新跑分或性能承诺**。当前已核对的 GitHub main 为 `889a6a92797d94ee2c7f6fc59a89bc9a7156b261`。输入内容、上下文长度、CPU、并发、前缀缓存和 DSpark 接受率均会影响结果。

### 单流解码参考

`A` 是每次校验平均接受的 token 数，`tok/s ≈ 1000 × A ÷ ms/step`。各行保留原报告的负载与指标组合；不同配置间不能作为严格 A/B，也不能把最高单发当作稳定吞吐。

| 平台 / 形态与历史负载 | ms/step | A | 单流 decode tok/s | 使用时的预期 |
|---|---:|---:|---:|---|
| **真实 A2 TP8**，约 8K 上下文、Engram 开、DSpark K=5 的早期基线 | 75.67 | 约 2.97 | **约 39.2** | 先按 **40 tok/s 量级**规划；这不是 A3 模拟数据，1017/A2 需要现场重测 |
| **A3 TP8**，1K prompt / 256 out，draft 入图 | 23.9–24.9 | 2.40–2.74 | **约 101–110** | 低并发、短输入的历史参考区间；区间端点来自不同请求 |
| **A3 TP8**，128K prompt / 256 out，PGO 关，8 请求中位 | 31.63 | 2.681 | **约 85** | 长输入历史参考；另一 PGO 臂约 90 tok/s，不能默认套用其结果 |
| A3 **CED-PD**，2K prompt / 256 out，DSpark 开的历史单流 | 约 27.7（由 A 与 tok/s 换算） | 2.76 | **约 99.7** | 旧 CED 交付配置的短输入参考；主要价值仍在长输入 prefill |
| A3 **TP8 + DCP8 v3**，2K prompt / 256 out，8 请求 | 54.736 | 2.646 | **约 48.3** | 容量实验，不应预期比普通 TP8 更快；该轮严格 GSM 门未通过 |

来源：[真实 A2 / A3 差距记录](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/blob/main/EXPECTED_PERF.md#a2gap--a2-vs-a3-的性能差距拆解v6-新增)、[A3 短输入与长上下文](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B#0-性能速览先看这个)、[CED-PD 的历史 DSpark 测试](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/tree/main/deploy/a3-ced-pd#5-本形态的已验证结果a3-21真权重)、[DCP 实测与验收状态](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/blob/main/experiments/delivery_matrix/STATUS.md)。

真实 A2 报告中的 **60–68 tok/s 是待兑现的优化推算**，不按已交付性能列入上表。GitHub 交付矩阵里约 90–99 tok/s 的“A2 形态”是在 **A3 硬件上模拟 TP8 同置**，也不作为 910B3 的实测速率。多并发时应看聚合吞吐与每请求延迟，不能把聚合 tok/s 当作单流速度。

### CED-PD 长输入首 token 延迟参考

| 历史负载 | CED-PD TTFT | 全 40 层 P 的双 TP8 PD 基线 | 说明 |
|---|---:|---:|---|
| 约 144K 输入 | **约 11 s** | 约 21.8 s | 旧权重、冷前缀、单请求 |
| 约 1M 输入 | **约 101 s** | 约 280 s | 旧权重、冷前缀、单请求；不是 1017 的 1M 验收 |

该受控对照固定 `SPEC=0 PREFIX=0 BAT_TOKENS=8192`，仅比较 P 执行 20 层源投影与全 40 层；**不是上表 DSpark 开启配置的同一窗口**。完整设置和原件见 [CED-PD 性能报告](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/blob/main/docs/CED-PD-PERF-20260925.md)。

## 下载与 Engram 重组

```bash
modelscope download \
  --model chiro2001/DeepSeek-V4.1-Flash-1017-w4a8-Ascend \
  --local_dir ./DeepSeek-V4.1-Flash-1017-w4a8-Ascend

cd DeepSeek-V4.1-Flash-1017-w4a8-Ascend
sha256sum --check SHA256SUMS
cd engram_int8
bash reassemble_engram_weights.sh
```

两张约 98 GB 的 Engram 权重各拆成 **6 片**，前 5 片各 **16 GiB**，第 6 片为余量，编号从 `part-00-of-06` 到 `part-05-of-06`。运行时需要重组后的 `.safetensors` 单文件，不能直接读取 `.part-*`。

重组脚本先检查分片清单连续性和逐片 SHA256，拼接到临时文件，再校验完整表 SHA256，最后原子替换正式文件。磁盘需要为两张还原表额外预留约 184 GiB，建议预留至少 200 GiB。已还原且校验正确的文件可直接复用。

```bash
bash reassemble_engram_weights.sh --check-only    # 校验并报告是否需要重组
bash reassemble_engram_weights.sh --delete-parts # 重组成功后删除对应分片
```

`PARTS.sha256` 记录上传分片，`WEIGHTS.sha256` 记录两张完整表，`PARTS.json` 记录大小与对应关系。删除分片后，根目录 `SHA256SUMS` 中对应条目会自然缺失；此时可在 `engram_int8` 中执行 `sha256sum --check WEIGHTS.sha256` 校验完整表。

## 权重与目录

```text
config.json / configuration.json
tokenizer.json / tokenizer_config.json
quant_model_description.json
quant_model_weights.safetensors.index.json
quant_model_weights-00001-of-00080.safetensors ... 00080-of-00080
engram_extra.safetensors
mtpq-00001-of-00004.safetensors ... 00004-of-00004
mtpq_manifest.json
vision-00001-of-00001.safetensors
optional/quarot.safetensors
engram_int8/
  layers_{1,14}_engram_embed.scale.safetensors
  layers_{1,14}_engram_embed.weight.safetensors.part-{00..05}-of-06
  PARTS.sha256 / WEIGHTS.sha256 / PARTS.json
  reassemble_engram_weights.sh
provenance.json
SHA256SUMS
LICENSE
release/
  msmodelslim/{recipes,calib,patches,scripts}/
  tools/                 # 本次实际阶段脚本及校验器
  runtime/               # 固定运行时的必要修复
  reports/               # 新版结构与精度验证记录
```

| 部件 | 本次格式 |
|---|---|
| 主干路由专家 | W4A8_DYNAMIC |
| 主干注意力 wq_a/wq_b/wkv、共享专家、部分 indexer | W8A8_DYNAMIC |
| Engram | INT8，按 32 通道分组、FP32 scale；主机 DRAM 常驻 |
| DSpark draft / mtpq | 3 层 MTP；专家 W4A8，注意力及共享专家 W8A8，其余 BF16/F32 |
| Vision（含 aligner） | FLOAT/BF16，已折叠 QuaRot |
| norm、路由 gate、部分投影与其他保留项 | BF16/F32，详见 description |

最终索引 **190,728 个条目**，description **191,900 项**；重组后的模型索引引用 **90 个权重文件**，其中主干 80 个。主干总索引、Engram 外置表与完整配置均已做离线校验。分片是发布存储布局，与推理 TP 宽度无关。

## 起服：先准备共同的运行时代码

完成下载和 Engram 重组后，从模型目录的**上级工作目录**执行下面的共同准备，再根据自己的硬件选择 A2 或 A3 命令。模型路径使用绝对路径；下面的 `MODEL` 需要指向完整、已重组的 1017 模型目录。

本次验证固定运行时 commit **`889a6a92797d94ee2c7f6fc59a89bc9a7156b261`**，并加本仓库 `release/runtime/` 中的 DSpark 修复。该基线的 `build_dspark_swa_indices` 独立函数中，诊断代码误用 `self`，会在首个真实请求触发 `NameError`。请在起容器前安装修复：

```bash
export TMPDIR="$HOME/tmp/dsv41-1017"
mkdir -p "$TMPDIR"
export MODEL="$(realpath ./DeepSeek-V4.1-Flash-1017-w4a8-Ascend)"
git clone https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B.git runtime-1017
git -C runtime-1017 checkout 889a6a92797d94ee2c7f6fc59a89bc9a7156b261
bash "$MODEL/release/runtime/apply_runtime_fix.sh" ./runtime-1017
cd runtime-1017
```

### A2：8×910B3，单实例 TP8

A2 使用 **OpenEuler 基础镜像 + 本仓库烘焙补丁**。这与 A3 的 `deepseek-v4.1-flash-a3` 基础镜像不同；请使用宿主仓库里的起服脚本。

```bash
# 在完成共同准备的 runtime-1017 目录中执行。
docker pull quay.nju.edu.cn/ascend/vllm-ascend:deepseek-v4.1-flash-openeuler
SKIP_PGO=1 IMAGE_TAG=dsv41-1017-a2:v9 bash scripts/build_image.sh

DEVS="0 1 2 3 4 5 6 7" TP=8 DP=1 \
MODEL="$MODEL" IMAGE=dsv41-1017-a2:v9 PATCH_MODE=baked \
NAME=dsv41-1017-a2 PORT=18817 \
SERVED_NAME=deepseek-v41-flash-1017-w4a8 \
MAX_SEQS=4 PREFIX=0 DROPCACHE=0 \
BAT_TOKENS=8192 V41_KV32_REPACK=0 GPU_UTIL=0.92 \
SPEC=1 SP_TOKENS=5 DRAFT_GRAPH=0 ENGRAM_DEVICE_INDEX=0 PYTHON_PGO=0 \
bash scripts/serve_a2.sh
```

此基础例子保留 **DSpark 推测解码**，`DRAFT_GRAPH=0` 表示 draft 走 eager。A2 显式关闭 Engram device-index，采用 host 查表路径；不能直接继承 A3 的 host 映射能力或性能。A2 上的 `DRAFT_GRAPH=1`、PGO 与更高并发可作为后续独立调优项，本次没有新增 A2/1017 实测结论。

需要前缀缓存或更多并发时，可按负载调整 `PREFIX=1` 与 `MAX_SEQS`，并重新检查显存与准确性。A2 起服与历史平台差异详见 [GitHub 快速开始 §3.4](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B#34-a2单实例-tp8) 和 [性能差距报告](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/blob/main/EXPECTED_PERF.md)。

### A3：8 个 device，单实例 TP8

这是本次 1017 量化产物实际验证的形态。使用 A3 基础镜像，启动器以 `mount` 方式叠加运行时补丁。

```bash
# 按当前空闲情况选择设备；本次验收使用 8–15。
DEVS="8 9 10 11 12 13 14 15" \
MODEL="$MODEL" NAME=dsv41-1017-a3 PORT=18817 \
SERVED_NAME=deepseek-v41-flash-1017-w4a8 \
MAX_SEQS=4 PREFIX=0 DROPCACHE=0 \
BAT_TOKENS=2048 V41_KV32_REPACK=1 GPU_UTIL=0.92 \
DRAFT_GRAPH=1 SPEC=1 SP_TOKENS=5 ENGRAM_DEVICE_INDEX=1 \
bash scripts/serve_a3.sh
```

基础镜像为 `quay.nju.edu.cn/ascend/vllm-ascend:deepseek-v4.1-flash-a3`，本次固定 RepoDigest：

```text
sha256:2c906b38ad3cc9ed9badfe3d09451d194fa09a07e5c6d62a66b111731e626060
```

`BAT_TOKENS=2048` 必须与 `V41_KV32_REPACK=1` 配套，防止 KV 池越过 32 位地址边界。该配置本次启动报告 KV 容量 **4,010,585 tokens**、静态核无降级；这是缓存容量，不等于已经验证相应长度或并发的精度。

服务使用 `deepseek_v41` tokenizer、reasoning parser 与 tool parser，默认关闭 thinking，可通过请求 `chat_template_kwargs={"enable_thinking":true}` 打开。请勿自行补入旧 Jinja 模板。官方提示编码参见[新版基座的 encoding 目录](https://www.modelscope.cn/models/deepseek-ai/DeepSeek-V4.1-Flash-1017/files)。

### A3：整机 16 个 device，CED-PD（P8 + D8）

在独立 shell 中使用共同准备好的仓库和 `MODEL`，确认整组设备可用后执行。P 负责前 20 层及 layer-20 的全局源投影，D 负责 128-token 有界重放和完整 decode，客户端访问 proxy。P 不运行 draft；D 保留 DSpark。

```bash
export MODEL=/absolute/path/to/DeepSeek-V4.1-Flash-1017-w4a8-Ascend
export PATCH_MODE=mount
export SERVED_NAME=deepseek-v41-flash-1017-ced-pd
export PD_PREFILL_DEVS="0 1 2 3 4 5 6 7"
export PD_DECODE_DEVS="8 9 10 11 12 13 14 15"

bash deploy/a3-ced-pd/launch/serve_p.sh
bash deploy/a3-ced-pd/launch/serve_d.sh
bash deploy/a3-ced-pd/launch/serve_proxy.sh
bash deploy/a3-ced-pd/launch/smoke.sh
```

默认端口：P `18990`、D `18991`、proxy **`18992`**；业务请求连接 proxy，不能将普通生成请求直接发送到 D。该形态使用自己的 `BAT_TOKENS=8192`、BF16 KV、池上界与 D 侧多流设置，**不要套用单实例 TP8 的 KV32 重排参数**。

旧版 CED 交付包和 1017 是两项不同验证。上述命令给出仓库部署入口；需先在自己的 1017 环境跑冒烟和实际负载，再采用历史性能作为参照。[部署与验收说明](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/tree/main/deploy/a3-ced-pd) · [归档镜像包 a3-ced-pd-v3](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/releases/tag/a3-ced-pd-v3)。归档镜像包携带的是对应旧运行时载荷，不等于已装入本页的 1017 修复。

### 其他形态：DCP8、DRAM KV 卸载与原生 DP

- **TP8 + DCP8**：使用同一组 8 ranks 做上下文并行，主要用于长 KV 容量实验。它需要专用运行时与启动适配，不能在普通 TP8 命令后随意添加 `DCP=8`。历史 v3 的 GSM 严格门为 99/100，后续候选仍待设备回归。入口及状态见 [交付矩阵](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/tree/main/experiments/delivery_matrix) 和 [DCP 实验目录](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/tree/main/experimental/v41-dcp)。
- **A2 TP8 + DRAM KV / KV8**：先按 [A2 部署指南](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/blob/main/a2/README.md) 执行本机内存后端探测、生成 shadow-pkg，再使用 `a2/scripts/serve_a2_offload.sh`。此路线主要改善重复长前缀的缓存复用；不能把 A3 的 registered/pinned 内存验证直接视为真实 A2 已通过，也不能把缓存命中加速比当作 decode tok/s。
- **DP2TP4 / DP4TP2 等原生 DP**：仍是候选实验，见 [原生 DP 状态](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/tree/main/experiments/dp_matrix)。不作为本模型已验证的服务配置或吞吐承诺。

## 本次验证结果

| 检查 | 结果 |
|---|---|
| 全部输入文件 | SHA256 与 safetensors 长度校验通过 |
| 量化产物 | 完整索引、shape/dtype、description、来源路径和 SHA256 通过 |
| API | 文本、多轮、工具调用、工具结果续答、thinking 全通过 |
| Vision | **23/23**；空答/乱码 0，错误 0，必过负例通过 |
| GSM8K | **199/200（99.5%）**；空答 0，错误 0 |
| 长上下文检索 | 目标 131,072 token，实际正文 **130,053 token**，四针全部精确命中 |

GSM8K 取官方 test 前 200 题、train 前 8 题作示例，chat 模式、并发 4、temperature 0、max_tokens 512。数值是小样本回归结果，不是完整基准；与旧版的历史分数、速度不可直接作为受控 A/B。详细 JSON、数据摘要与测试口径见 `release/reports/`。

本次 1017 未重新测量吞吐、真实 A2、多机、CED-PD、1M 上下文或长上下文工具链；上方性能单独标为旧权重的历史规划参考，不计入这张 1017 验收表。Vision 验证使用官方示例图和 23 个固定用例，范围以记录为准。

## 来源与量化复现

| 项目 | 固定值 |
|---|---|
| Hugging Face 基座 | `deepseek-ai/DeepSeek-V4.1-Flash-1017` |
| HF revision | `1bae0e1088993b9b82de08f59de5be5a34e42170` |
| ModelScope 官方源 revision | `629643e6876504a9dffa40e37784e860c84803aa` |
| msModelSlim 实现 | `e05b47190392bace361a012f115d64f4abcca30d` |
| msModelSlim 补丁基线 | `92e219fa9565a5bad84d90474a27bb11524d691c` |
| 标定/主干量化 | DP16，40 层，标定最长序列 8192 |
| 配方 | `release/msmodelslim/recipes/deepseek_v4_1_flash_w4a8.yaml` |
| 标定数据 | `release/msmodelslim/calib/mix_calib.jsonl` |

主干量化后，独立生成 INT8 Engram、DSpark/draft vocab、旋转后视觉与量化 MTP，再恢复完整配置并装配。记录见 `provenance.json`。随附脚本保存了本次实际路径与设备设置，复现时需要调整为自己的目录；其依赖在[运行时仓库的 quant 目录](https://github.com/chiro2001/deepseek-v4.1-flash-ascend910B/tree/889a6a92797d94ee2c7f6fc59a89bc9a7156b261/quant)。

该工具树使用 `msmodelslim quant` 控制台入口；不要使用不存在的 `python -m msmodelslim`。从上述已含适配的实现 commit 开始时，无需重复应用补丁；从上游基线复建时，再应用随附 `msmodelslim_v41_w4a8.patch`。

## 许可

量化权重沿用新版官方基座声明的 **MIT License**，原文随附于 `LICENSE`。msModelSlim、运行时与其他工具分别遵循其上游许可。本仓库不将旧卡片中的 Apache 许可字段用于新版基座权重。
