)
【免费下载链接】DeepSeek-V4-Pro-0813-nvfp4-DSpark项目地址https://ai.gitcode.com/hf_mirrors/nvidia/DeepSeek-V4-Pro-0813-nvfp4-DSpark点击查看免费下载DeepSeek-V4-Pro-0813-nvfp4-DSpark 是 DeepSeek-V4-Pro-0813 的NVFP4 全量量化版由 NVIDIA Model OptimizerModelOpt配方量化得到。它把 MoE 路由专家从原生 MXFP4 无损转成 NVFP4让 target 与 draft 共用同一份自洽检查点。本文带你走一遍它的三阶段 NVFP4 量化流程——校准calibration采集激活 amax、导出export无损位转换——并解读 ModelOpt 配方里的关键参数帮你彻底搞懂只量化专家、混合精度的工程取舍。 先搞懂这个模型是什么为什么要 NVFP4DeepSeek-V4-Pro-0813是一个总参数1.65T、激活 49B的自回归 MoE 模型采用混合注意力Compressed Sparse Attention Heavily Compressed Attention和 Manifold-Constrained Hyper-Connections最大上下文 100 万 token。它原生把路由专家存成MXFP4注意力与共享专家用 FP8norm/embedding 保留 BF16。一句话理解 NVFP4 的价值用更细粒度的缩放因子在 4-bit 精度下更贴近原始分布从而让 1.65T 这样的超大 MoE 能塞进 BlackwellB200/B300的显存里高效推理。这个检查点和nvidia/DeepSeek-V4-Pro-0813-NVFP4的区别只有一个后者的 DSpark 草稿头仍停留在源 MXFP4 格式target 与 draft 专家格式不一致而DSpark 版把草稿专家的 MXFP4 无损 cast 成 NVFP4得到一个一个检查点同时当 target 和 draft的自洽产物。主干权重与 NVFP4 版逐位一致bit-identical。完整说明见 README.md。 三阶段流程总览ModelOpt 配方按顺序跑三步分别对应重切分 → 校准 → 导出阶段脚本运行位置目标关键产物1. Reshardconvert.pyCPU把 HF 检查点切成模型并行布局model{i}-mp8.safetensors2. Calibrateptq.py8×GPU (torchrun)采集路由专家激活范围 amaxamax dump3. Exportquantize_to_nvfp4.pyGPU导出 NVFP4 检查点NVFP4 检查点说明第 1 步的convert.py就是本仓库里带完整源码的 DeepSeek 官方切分脚本见 inference/convert.py第 2、3 步的ptq.py、quantize_to_nvfp4.py属于 ModelOpt 官方仓库的examples/deepseek/deepseek_v4配方这里讲解它们的职责与参数。 阶段一Reshard 重切分到模型并行布局量化前得先把 HF 格式的大检查点按专家维度切成 8 份model-parallel 8让后续 8 卡各拿一份路由专家做校准。这一步只跑在 CPU用 DeepSeek 自己的convert.pypython convert.py \ --hf-ckpt-path DeepSeek-V4-Pro-0813 \ --save-path mp8_checkpoint \ --n-experts 384 \ --model-parallel 8 \ --expert-dtype fp4要点解读--n-experts 384该模型每层有 384 个路由专家见 config.json 的n_routed_experts: 384。--model-parallel 8把专家均分到 8 份要求 384 能被 8 整除。--expert-dtype fp4保留 FP4 专家格式也可传fp8见下。切分逻辑在 inference/convert.py遍历每个张量凡是名字里带experts且不是shared_experts的权重按expert index // (384/8)决定落到哪一份 shard。关于 MXFP4 的无损种子脚本里有个 cast_e2m1fn_to_e4m3fn() 函数把 E2M1 nibble4-bit 数据无损地映射成 E4M38-bit——这正是阶段三换格式不丢权重位思想的底层基础。它先把 int8 里高低 4 位拆开、查FP4_TABLE还原成真实数值再按 128 块重写缩放因子。本仓库的 inference/README.md 展示了同一脚本的--expert-dtype fp8用法想跑 FP8 专家就把 inference/config.json 里的expert_dtype: fp4去掉并加--expert-dtype fp8即可。 阶段二校准Calibration采集激活范围 amax这是整个流程里最影响精度的一步。用 8 卡torchrun跑ptq.py让一批真实样本过模型记录每个路由专家线性层的激活最大值 amaxtorchrun --nproc-per-node 8 deepseek_v4/ptq.py \ --model_path mp8_checkpoint \ --config DeepSeek-V4-Pro-0813/inference/config.json \ --calib_size 512 \ --calib_seq 4096 \ --output_path amax_dump关键参数新手最容易踩坑处--calib_size 512每个校准集取 512 条。脚本默认用两个数据集——cnn_dailymail约 30 万篇英文新闻和Nemotron-Post-Training-Dataset-v2多轮对话各 512 条合计 1024 条。--calib_seq 4096tokenizer 截断上限。这是本模型最关键的设置——默认的 512 覆盖不到长上下文的激活范围会导致 amax 偏小、量化溢出。把它调到 4096 才能采到真实的长程激活峰值。 核心结论NVFP4 里唯一真正校准出来的量就是这一步采到的激活 amax。权重位本身是位转换、无需重算所以校准集是否覆盖真实业务分布直接决定最终精度。配方同样支持声明式写法通过--recipe指向models/deepseek-ai/DeepSeek-V4-Pro-0813/ptq/nvfp4_experts_only的 YAML该 YAML 被测试钉死与内置默认一致两条路径产出的量化器配置完全相同。⚡ 阶段三导出 NVFP4 检查点 无损位转换最后一步把校准好的 amax 落盘并做MXFP4 → NVFP4 的无损 castpython deepseek_v4/quantize_to_nvfp4.py \ --amax_path amax_dump \ --source_ckpt DeepSeek-V4-Pro-0813 \ --output_ckpt output \ --cast_mxfp4_to_nvfp4 \ --device cuda 为什么--cast_mxfp4_to_nvfp4是无损的理解这一点就看 MXFP4 和 NVFP4 的存储结构维度MXFP4源NVFP4目标权重数据位E2M1 nibble同一套 E2M1 nibble 网格不变缩放因子类型E8M0纯 2 的幂E4M3带尾数缩放因子粒度每 32 元素 1 个每 16 元素 1 个是否重算权重位—❌ 不重算直接位转换因为 NVFP4复用了 MXFP4 的 E2M1 nibble 网格权重比特可以原样搬过去只需重写块 scale从 32 元素的 E8M0 换成 16 元素的 E4M3。所以这是无损位转换——不丢任何一位权重精度。一个反直觉的结论这个 NVFP4 检查点反而比源检查点更大——权重字节数不变但缩放因子字节翻倍粒度从 32 细化到 16。精度换存储是 NVFP4 的固有代价。只量化专家混合精度配置解析这份检查点只把 Transformer 块内的路由专家MoE linear量化成 NVFP4其余保持原精度。量化配置记录在 hf_quant_config.json 与 config.jsonquant_algo: MIXED_PRECISION混合精度不是全局统一量化。group_size: 16NVFP4 的块大小每 16 元素一个 scale。moe_quant_algo: NVFP4仅 MoE 路由专家用 NVFP4。排除项exclude_modules见 hf_quant_config.json*.attn.*→ 注意力层保持FP8*.ffn.shared_experts.*→ 共享专家保持FP8head→ 输出层保持原精度quantized_layers里列出了layers.0~59.ffn.experts和mtp.0/1/2.ffn.experts全部设为NVFP4——61 层主干 3 层 DSpark MTP 草稿专家全部覆盖。这种选择性量化是超大 MoE 的标准工程取舍把占显存大头的路由专家压到 4-bit而对精度敏感的注意力、共享专家和输出层保留更高精度从而在近乎无损的前提下拿到最大显存收益。 效果验证精度几乎无损 推测解码加速精度NVFP4 与 MXFP4 源模型基本持平主干权重 bit-identical推测解码又不改变 target 输出所以精度沿用 NVFP4 版的实测精度GPQA DiamondAA-LCRτ²-BenchSciCodeIFBenchTerminal-Bench HardMXFP4源88.5168.6796.4953.4576.5351.39NVFP488.4269.3398.2553.7575.6850.69可以看到多数基准 NVFP4 持平甚至略胜AA-LCR、τ²-Bench、SciCode 反超验证了无损位转换 只量化专家路线的稳健性。速度DSpark 推测解码平均接受长度 ≈ 3.8DSpark 用半自回归草稿骨架成块提出候选 token配合轻量 Markov 头和置信头做调度验证。实测num_speculative_tokens78×B300MT-Bench 整体平均接受长度 3.795coding 5.366、math 5.479 最高roleplay 2.488 最低。SPEED-Bench 32K 长上下文整体平均 3.898其中low_entropy4.613、high_entropy2.693。接受长度 1 就意味着每步能吐出多个 token直接降低解码延迟。 上手部署SGLang / vLLM 两条路模型支持 SGLang 与 vLLM 两个运行时硬件面向 NVIDIA Blackwell B200。SGLang用于精度基准python3 -m sglang.launch_server \ --model-path nvidia/DeepSeek-V4-Pro-0813-nvfp4-DSpark \ --tp 8 --trust-remote-code \ --tool-call-parser deepseekv4 \ --reasoning-parser deepseek-v4vLLM用于 DSpark 推测解码需一个同时提供 NVFP4 MoE 后端与 DSpark 的构建。num_speculative_tokens至少要 ≥dspark_block_size5取 7 是遵循 DeepSeek 官方建议。去掉--speculative-config即关闭推测解码。⚠️ 新手易踩坑若开启 CUDA graphs 后在 FlashMLA 构建 TMA descriptor 时启动失败请加--enforce-eager。vLLM 会自动选择 NVFP4 MoE 后端无需额外环境变量用--model-loader-extra-config多线程加载可显著加快这个体量检查点的启动。 关键文件导航文件作用README.md模型卡、三阶段配方、部署与评测hf_quant_config.jsonNVFP4 量化配置算法、块大小、排除项config.json模型结构 量化层清单61 层 3 层 MTPgeneration_config.json采样参数temperature 1.0, top_p 1.0inference/convert.py阶段一 Reshard 脚本 MXFP4→FP8 无损 castinference/config.json推理超参61 层、384 专家、DSpark 配置inference/model.py模型定义MoE 混合注意力 Hyper-Connectionsinference/kernel.pyFP8/FP4 GEMM 与量化 kernelencoding/encoding_dsv4.py自定义 prompt 编码thinking / 工具调用 / reasoning effort补充vLLM 原生套用本仓库的 encoding/encoding_dsv4.py 作为编码器tokenizer_modedeepseek_v4无需chat_template.jinja。它支持 thinking / non-thinking 两种模式与low/high/max三档 reasoning effort详见 encoding/README.md。 小结DeepSeek-V4-Pro-0813-nvfp4-DSpark 的三阶段 NVFP4 量化流程核心是**重切分 → 校准采 amax → 无损位转换导出**ReshardCPUconvert.py把 384 个路由专家切成 8 份并行布局Calibrateptq.py--calib_seq 4096采到真正决定精度的激活 amaxExportquantize_to_nvfp4.py借 E2M1 nibble 网格复用做 MXFP4→NVFP4 无损位转换。最终得到一份target draft 一体、精度几乎无损、还能开 DSpark 推测解码加速的自洽 NVFP4 检查点——这也是超大 MoE 落到 Blackwell 上高能效推理的完整范本。赞分享【免费下载链接】DeepSeek-V4-Pro-0813-nvfp4-DSpark项目地址https://ai.gitcode.com/hf_mirrors/nvidia/DeepSeek-V4-Pro-0813-nvfp4-DSpark点击查看免费下载相关推荐量化几乎零损失DeepSeek-V4-Flash-nvfp4-DSpark的NVFP4精度与DSpark接受长度数据全解读量化几乎零损失DeepSeek V4 Flash nvfp4 DSpark的NVFP4精度与DSpark接受长度数据全解读 DeepSeek V4 FlashMac 磁盘空间不足怎么办用 Mole 快速完成 Mac 系统清理的完整指南Mac 磁盘空间不足怎么办用 Mole 快速完成 Mac 系统清理的完整指南 Mac 用久了磁盘空间告急、系统越来越慢删文件又怕删错Mole 是一款免费Phaser Compact Texture AtlasPCT格式规范详解从行格式到加载器实现Phaser Compact Texture AtlasPCT格式规范详解从行格式到加载器实现 导读 Phaser Compact Texture Atl上一篇Polar 前端异步性能优化Defer Await Until Needed 规则实战解析下一篇将 OpenAI Agents SDK SandboxAgent 接入 CubeSandbox MicroVME2B 兼容集成实战指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考