- 大模型
- 基础模型
- 多模态
- 模型量化
- DeepSeek
【免费下载链接】DeepSeek-V4.1-Flash-1017-w8a8
本文手把手拆解ModelSlim 量化流水线:以DeepSeek-V4.1-Flash-1017-w8a8模型仓库为实例,讲清楚quarot旋转预处理与linear_quant分组量化这两步,是如何组合构建出一个可运行的W8A8 昇腾(Ascend)NPU 模型的。你无需深厚的量化数学基础,理解流程即可上手部署。
🧭 先认识成品:这个 W8A8 模型仓库里有什么
在讲流水线之前,先看"成品"。本仓库就是一套完整的 W8A8 量化产物(权重 int8 + 激活 int8,对称 minmax 量化,权重 per-channel / 激活 per-token):
| 文件 | 作用 |
|---|---|
| quant_model_weights-00001-of-00138.safetensors 等 138 个分片 | int8 量化后的模型权重(按大小切分) |
| quant_model_weights.safetensors.index.json | 权重索引文件,描述每个张量在哪个分片 |
| quant_model_weights-engram-1.safetensors、quant_model_weights-engram-14.safetensors 及 engram-extra 分片 | Engram 记忆层(第 1、14 层)的独立权重 |
| optional/quarot.safetensors | quarot 步骤导出的旋转基矩阵,推理时应用 |
| config.json | 模型结构 + 量化配置(quantization_config为ascend) |
| DeepSeek-V4.1-Flash_best_practice.yaml | ModelSlim 量化流水线规范文件(本文主角) |
| quant_model_description.json | 量化模型的元描述信息 |
| tokenizer.json、tokenizer_config.json | 分词器配置 |
💡 打开 config.json 可以看到
"quantization_config": { "quant_method": "ascend" },这是昇腾推理框架(vLLM-Ascend)识别 W8A8 模型的关键标记。
第一步:quarot 旋转预处理,给量化"铺路"
整个流水线定义在 DeepSeek-V4.1-Flash_best_practice.yaml 中(apiversion: modelslim_v1),第一个步骤是quarot:
process: - type: quarot online: false block_size: 32 max_tp_size: 4 export_extra_info: true对新手来说,可以这样理解 quarot:
- 为什么要做:直接对原始权重做 int8 量化,遇到"难量化"的分布(比如激活值中有离群点)时精度损失较大。quarot 先对权重做一个正交旋转,把数值分布"搅匀",使其更适合低比特量化;
- 不改变模型能力:旋转是数学上的等价变换,推理时再乘回即可,属于无损预处理;
- 旋转基单独导出:
export_extra_info: true让旋转基矩阵保存到 optional/quarot.safetensors,运行时由推理框架加载应用(config.json 中engram_rotation_config.value_basis: quarot_global就是它的应用位置)。
第二步:linear_quant 分组量化,4 个规则覆盖全部层
接下来是核心步骤——4 个linear_quant节点。它们共享同一套量化参数(W8A8 的标准配方):
qconfig: act: # 激活量化 dtype: int8 scope: per_token # 每个 token 独立算缩放 symmetric: true method: minmax weight: # 权重量化 dtype: int8 scope: per_channel # 每个输出通道独立算缩放 symmetric: true method: minmax真正的"技巧"在include / exclude 的分组规则上,4 个节点把模型切成了 4 块:
| 节点 | 量化范围(include) | 排除(exclude,保持原精度) | 排除原因 |
|---|---|---|---|
| 注意力层 | *attn* | *wo_a、*wo_b、*attn.wq_a、*attn.wkv、compressor/indexer 相关 | LoRA 低秩分解的两段矩阵与 KV 压缩链路对精度敏感 |
| 路由专家 FFN | *ffn* | *gate*、*shared_experts* | 路由 gate 必须高精度,否则专家选择会不稳 |
| 共享专家 | *ffn.shared_experts* | — | 共享专家每 token 都参与计算,单独成组便于管理 |
| MTP 层 | mtp.*的 attention 与 FFN 权重 | — | 多 token 预测(MTP)层单独指定,精确控制 |
🎯 一句话总结分组思想:敢量化的大胆量到 int8,影响路由决策和低秩输出质量的保持原精度——这也是大 MoE 模型(本模型有 384 个路由专家 + 1 个共享专家/层)W8A8 量化的通用经验。
此外所有分组都会跳过*engram*、*vision*、*aligner*等非文本主干模块,它们由专门的适配器处理。
第三步:校准、导出与昇腾格式保存
流水线的收尾配置同样值得了解:
dataset: mix_calib.jsonl # 混合校准数据集,用于统计激活分布 save: - type: ascendv1_saver part_file_size: 4 # 按分片大小切分 → 138 个 safetensors model_adapter: engram_quant_type: int8_sym # Engram 层用 int8 对称量化 dspark: true export_embedding_storage: true- 校准(calibration):
mix_calib.jsonl是校准数据,流水线会跑一遍数据来估计激活分布,确保 per_token 量化参数合理; - ascendv1_saver:按昇腾专用的权重格式导出,并按
part_file_size切分成 138 个分片,配合 quant_model_weights.safetensors.index.json 索引,方便推理框架按需加载; - default_w8a8_dynamic:文件末尾还定义了默认的 W8A8 动态量化兜底策略,保证未被显式覆盖的线性层也走同样的 int8 规则。
如何部署这个 W8A8 昇腾模型 🚀
DeepSeek-V4.1-Flash_best_practice.yaml 的verified_tags明确标注了该模型的验证环境:
verified_tags: DeepSeek-V4.1-Flash: - - vLLM-Ascend - Atlas_A2_Inference - - vLLM-Ascend - Atlas_A3_Inference也就是说:在Atlas A2 / A3 推理卡上,使用vLLM-Ascend部署本 W8A8 模型即可。克隆仓库的示例命令:
git clone https://gitcode.com/Eco-Tech/DeepSeek-V4.1-Flash-1017-w8a8拿到模型目录后,用 vLLM-Ascend 指向该目录启动服务,框架会自动读取 config.json 中的quant_method: ascend配置、加载 138 个 int8 分片与 optional/quarot.safetensors 旋转基,完成 W8A8 推理。更多下载方式可参考 README.md。
小结:ModelSlim W8A8 流水线三要点 ✅
- quarot 先旋转、再量化:用正交旋转改善数值分布,旋转基存为独立文件供推理时使用;
- linear_quant 按层分组:attn / 路由 FFN / 共享专家 / MTP 四组独立规则,gate 与低秩矩阵保持原精度,其余全部 W8A8;
- ascendv1_saver 定向导出:面向昇腾格式分片保存,vLLM-Ascend 在 Atlas A2/A3 上即插即用。
想深入流水线细节,直接对照 DeepSeek-V4.1-Flash_best_practice.yaml 中的process与save段,即可复现一条完整的 ModelSlim W8A8 量化流水线。
- 大模型
- 基础模型
- 多模态
- 模型量化
- DeepSeek
【免费下载链接】DeepSeek-V4.1-Flash-1017-w8a8
相关推荐
逐行读懂best_practice.yaml:MiniMax-M2.7-w8a8-QuaRot的modelslim量化流水线全流程
逐行读懂best_practice.yaml:MiniMax M2.7 w8a8 QuaRot的modelslim量化流水线全流程 本文将带你逐行读懂 Mini
大模型基础模型模型量化Polkadot 消息传递机制全解:DMP、UMP、XCMP 与 HRMP 的设计与源码实现
Polkadot 消息传递机制全解:DMP、UMP、XCMP 与 HRMP 的设计与源码实现 本文以 implementers guide 的 Messagin
大模型多模态模型量化本地部署QwenMiniMax-M2.7-W8A8-MXFP8-QuaRot量化流水线逐行拆解:ModelSlim best_practice.yaml与校准数据全解读
MiniMax M2.7 W8A8 MXFP8 QuaRot量化流水线逐行拆解:ModelSlim best_practice.yaml与校准数据全解读 本仓库
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考