DeepSeek-V4-Flash-nvfp4-DSpark 权重转换指南:convert.py 多卡切分与 MXFP4→NVFP4 无损 Cast 完整教程
【免费下载链接】DeepSeek-V4-Flash-nvfp4-DSpark项目地址https://ai.gitcode.com/hf_mirrors/nvidia/DeepSeek-V4-Flash-nvfp4-DSpark点击查看免费下载DeepSeek-V4-Flash-nvfp4-DSpark是 NVIDIA 基于 Model Optimizer 量化NVFP4的 DeepSeek-V4-Flash MoE 模型并内嵌了 DeepSeek 官方的 DSpark 投机解码头。想把它跑在自己的多张 GPU 上本文带你用 convert.py 把 HF 权重转换成多卡推理格式并讲透 MXFP4→NVFP4 无损 Cast 的原理。为什么要做权重转换模型目录下的 46 个model-00001-of-00046.safetensors分片是 Hugging Face 格式——它们面向单进程全量加载和推理框架如 vLLM搭配即可使用。而本项目自带的极简多卡推理引擎generate.py model.py则期望每张卡只加载属于自己的那一片文件名形如model0-mp4.safetensors model1-mp4.safetensors model2-mp4.safetensors model3-mp4.safetensorsconvert.py就是中间的桥梁它一次性做三件事步骤做了什么说明️ 命名转换HF 权重名 → 推理引擎权重名只改键名数值不动✂️ 张量并行切分按--model-parallel把权重切成 MP 份专家按编号分、dense 权重按维度切 专家 Cast可选MXFP4 → NVFP4 无损转换让目标模型与 DSpark 草稿头共用一套量化配置 关键认知这不是重新量化也不是微调。转换前后模型的计算结果一致改变的只是权重的组织与打包方式。HF 目录46 个分片 tokenizer │ convert.py改名 → 切分 → cast ▼ model{rank}-mp{mp}.safetensors × MP │ torchrun 多卡加载 ▼ generate.py 交互式对话 / 批量推理转换规则拆解命名映射、专家切分与 dense 层切分打开 convert.py三条核心规则一目了然。1️⃣ 命名映射HF 名字 → 推理引擎名字脚本里的mapping字典inference/convert.py把 HF 命名翻译成推理引擎的内部命名例如q_proj → wq、kv_a_proj_with_mqa → wkv_a、gate_proj/up_proj/down_proj → w1/w3/w2、lm_head → head。另外还有几处直接替换self_attn → attn、mlp → ffn、weight_scale_inv → scaleinference/convert.py。只改键名数值完全不动——所以这一步没有任何精度变化。2️⃣ 张量并行切分MP 张卡每人一份专家权重MoE FFN模型共有256个路由专家见 inference/config.json 的n_routed_experts。--model-parallel 4时第 i 张卡只保留编号落在[64i, 64i64)区间的专家inference/convert.py。专家之间彼此独立编号连续分配即可保证均匀。Dense 投影层wq、wq_b、wkv_b、w1、w3沿行方向切分wo、w2沿列方向切分mapping表中的dim0 / dim1inference/convert.py——这是标准的张量并行布局列切后各卡算出的部分和在列切侧做 all-reduce 合并。公共权重attn_sink、weights_proj、共享专家等不在mapping中指定维度不切分每张卡保留完整副本。3️⃣ Tokenizer 随附拷贝转换结束后tokenizer.json与tokenizer_config.json会被自动拷贝到输出目录inference/convert.py这样输出目录就是一个自包含的推理目录generate.py加载模型和 tokenizer 时只用指向它一处。原理篇MXFP4 → NVFP4 无损 Cast 到底无损在哪这是convert.py里最精彩的部分cast_e2m1fn_to_e4m3fninference/convert.py。先交代背景MXFP44-bit 浮点值e2m132 元素一组的 scalescale 用 e8m0只有指数的 8-bit 格式即 2 的整数次幂。DSpark 草稿头里的 256 个专家在官方发布时就是这个格式。NVFP4同样是 e2m1 的 4-bit 值但16 元素一组组 scale 用 e4m3 浮点。本 checkpoint 主干43 层 MoE 专家就是这个格式见 hf_quant_config.json。由于两者值域一致4-bit 值能表示的数完全相同只换 scale 的打包方式即可逐位无损地转换。实现分四步解包 查表MXFP4 权重以 int8 存储、一字节打包 2 个 4-bit 值。脚本把它们拆成高低两个 nibble查一张 16 项查找表FP4_TABLEinference/convert.py还原出 e2m1 的全部取值±0.5, ±1, ±1.5, ±2, ±3, ±4, ±6与 0。重排分块把权重组重排成128 × 128的小块bOut × 128 × bIn × 128并把每 32 个值共享的 MXFP4 scale 广播到对应的 4-bit 值上实现 128 元素块内逐值对齐。归一化偏移对每个 128 元素块取块内 scale 的最大值右移 6 个偏移比特算出块内每个 scale 相对最大值的比例。因为 MXFP4 的 scale 是 2 的整数次幂这个比例永远是 2 的整数次幂乘回 4-bit 值上时没有任何舍入。写回 e4m3偏移后的值量化为 e4m3。为什么乘数上限取2^6因为 e2m1 最大绝对值是 6.0而6.0 × 2^6 384 448e4m3 的表示上限2^7就会溢出inference/convert.py。新的块 scale 再以 e8m0 存出。整条链路只有精确嵌入e2m1 ⊆ e4m3 的表示范围2 的幂缩放两类操作每个数值转换前后严格相等——这就是无损的含义。 两种专家格式怎么选默认不加参数专家权重保持 int8 打包的 e2m1 原样直接按float4_e2m1fn_x2视图读取inference/convert.py原生 MXFP4 语义零改动。--expert-dtype fp8走上面的无损 cast专家变成 e4m3 e8m0 的块量化格式。数值完全相同只是存储格式统一成了 NVFP4 风格。inference/README.md 提示使用该选项时需同步删掉 config.json 里的expert_dtype: fp4。实操一键转换与多卡推理完整命令第一步转换 HF 权重CPU 即可无需 GPUexport EXPERTS256 # 模型的路由专家数本模型固定 256 export MP4 # 模型并行卡数须能整除 256 export CONFIGconfig.json python convert.py \ --hf-ckpt-path ${HF_CKPT_PATH} \ --save-path ${SAVE_PATH} \ --n-experts ${EXPERTS} \ --model-parallel ${MP}运行结束后${SAVE_PATH}里会生成model0-mp4.safetensors…model3-mp4.safetensors以及拷贝过来的 tokenizer 文件。第二步多卡交互式对话torchrun --nproc-per-node ${MP} generate.py \ --ckpt-path ${SAVE_PATH} \ --config ${CONFIG} \ --interactive启动后输入/exit退出对话。第三步批量推理 / 多机部署从文件批量推理torchrun --nproc-per-node ${MP} generate.py \ --ckpt-path ${SAVE_PATH} --config ${CONFIG} --input-file ${FILE}多机推理NCCL 跨机通信见 inference/generate.pytorchrun --nnodes ${NODES} \ --nproc-per-node $((MP / NODES)) \ --node-rank ${RANK} \ --master-addr ${ADDR} \ generate.py --ckpt-path ${SAVE_PATH} --config ${CONFIG} --input-file ${FILE}完整命令与参数说明见 inference/README.md。常见问题速查 ⚠️现象原因与对策加载分片报文件不是合法 safetensors46 个分片可能还停留在 Git LFS 指针状态文件仅几百字节请确认大文件已完整拉取Number of experts must be divisible by model parallelism--model-parallel必须整除--n-experts如 4、8、16、32、64、128、256启动时缺model{rank}-mp{mp}.safetensors推理的卡数必须与转换时的--model-parallel一致generate.py按model{rank}-mp{WORLD_SIZE}.safetensors精确取名inference/generate.py精度与官方不一致先检查EXPERTS是否为 256以及是否误改了 config.json 中的维度参数 小提示转换是幂等的——同一输入重复运行convert.py会得到相同结果权重数值不变只是重新切分与打包。产物文件可以直接用 safetensors 工具打开抽查张量名与形状。写在最后回顾整条链路convert.py把 HF 的 46 个分片按改名 → 切分 → cast三步变成 MP 张卡各自专属的切片文件其中专家权重按编号均匀分配dense 层按标准张量并行布局切分MXFP4 专家则借精确嵌入 2 的幂缩放实现逐位无损的 NVFP4 转换。转换完成后torchrun拉起 generate.py对话即刻开始。仓库结构速览权重转换与推理inference/convert.py 转换脚本、model.py 模型定义、kernel.py 自定义 GEMM/注意力 kernel、config.json 模型配置对话编码格式encoding/encoding_dsv4.py 官方编码参考实现量化配置hf_quant_config.json掌握这套流程后你不仅能让本模型跑在多卡上同样思路也适用于其他MoE 分组量化模型的权重切分与格式迁移。赞分享【免费下载链接】DeepSeek-V4-Flash-nvfp4-DSpark项目地址https://ai.gitcode.com/hf_mirrors/nvidia/DeepSeek-V4-Flash-nvfp4-DSpark点击查看免费下载相关推荐OHIF 3.11 ToolbarService 迁移指南从 ViewportActionCornersService 到统一工具栏体系OHIF 3.11 ToolbarService 迁移指南从 ViewportActionCornersService 到统一工具栏体系 导读 本文是 OHI人工智能大模型基础模型模型量化DeepSeek用免费开源天气API做应用Open-Meteo 实用指南用免费开源天气API做应用Open Meteo 实用指南 Open Meteo是一款免费的开源天气API为天气预报应用、智能家居等场景提供无需API密钥的气大模型模型量化DeepSeekSDR把整片频谱装进桌面的跨平台软件定义无线电接收利器SDR把整片频谱装进桌面的跨平台软件定义无线电接收利器 SDR 是一款跨平台的软件定义无线电软件让你在电脑上实时接收并解码各类无线电信号。它最核心的上一篇VeleroArkark get 命令完全指南资源查询语法、输出格式与源码实现解析下一篇Flax Linen 模块参数设计dataclass 属性与调用时参数的选择及 merge_param 详解创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

SOMA-X输入输出API参考:身份系数、姿态参数与网格输出的张量形状及单位详解

SOMA-X输入输出API参考:身份系数、姿态参数与网格输出的张量形状及单位详解

人工智能图形学计算机视觉数字人 【免费下载链接】SOMA-X 项目地址: https://ai.gitcode.com/hf_mirrors/nvidia/SOMA-X 点击查看 免费下载 SOMA-X 是 NVIDIA 开源的统一参数化人体模型(Unifying Parametric Human Body Models),…

2026/10/18 15:40:10 阅读更多 →
运营不是看日志——Auto Harness 让 Agent 自己给自己“后训练“:TaoToken 统一 Key 通道下的 openJiuwen 实践

运营不是看日志——Auto Harness 让 Agent 自己给自己“后训练“:TaoToken 统一 Key 通道下的 openJiuwen 实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 15:40:10 阅读更多 →
VS安装项目插件(Installer Projects)打包MSI实战

VS安装项目插件(Installer Projects)打包MSI实战

Visual Studio Installer Projects 这个扩展,说起来是老面孔了。它解决的是桌面应用打包问题:把编译出来的 exe、dll、配置文件、依赖库,按一套规则装进目标机器,生成 MSI 或 EXE 安装包。很多人以为装好 VS 就能用,结…

2026/10/18 15:40:10 阅读更多 →

最新新闻

13ft:免费自托管的付费墙穿透服务,十分钟跑起来

13ft:免费自托管的付费墙穿透服务,十分钟跑起来

13ft:免费自托管的付费墙穿透服务,十分钟跑起来 【免费下载链接】13ft My own custom 12ft.io replacement 项目地址: https://gitcode.com/GitHub_Trending/13/13ft 13ft 是一个可自托管的付费墙穿透服务:贴上被付费墙拦住的文章链接…

2026/10/18 16:39:40 阅读更多 →
Unity头顶血条UI实现:World Space Canvas、Billboard与性能优化教程

Unity头顶血条UI实现:World Space Canvas、Billboard与性能优化教程

Unity里做血条、做头顶名称,几乎是做角色类游戏绕不过去的一步。我刚接触这个需求的时候,第一反应就是“往角色头顶丢一个UI,让它跟着走”,结果真做起来才发现,这里面牵扯到Canvas模式、坐标体系、朝向计算、遮挡关系、…

2026/10/18 16:39:40 阅读更多 →
连续光谱定量分析:数值型一维卷积神经网络实现与调参指南

连续光谱定量分析:数值型一维卷积神经网络实现与调参指南

简介:面向连续光谱数据分析的数值型卷积神经网络Python源码包,适合从事光谱定性定量分析或深度学习应用的研究人员与工程师。资源完整实现了适用于高维光谱特征的CNN模型,包含网络架构定义、注意力机制模块、训练与测试脚本,以及基…

2026/10/18 16:39:40 阅读更多 →
flotr2.min.js 轻量 Canvas 图表库实战:折线柱状图与避坑指南

flotr2.min.js 轻量 Canvas 图表库实战:折线柱状图与避坑指南

简介:这份资源面向需要在网页中实现数据可视化的前端开发者与初学者,提供Flotr2图表库的核心压缩文件及可直接运行的入门示例。压缩包共3个文件,包含1个js、1个html和1个txt,整体约33KB,其中js为经过压缩混淆的flotr2.…

2026/10/18 16:39:40 阅读更多 →
跨平台AI语音识别应用设计:三端架构、采集优化与工程实战

跨平台AI语音识别应用设计:三端架构、采集优化与工程实战

做跨平台语音识别,我最有发言权的是开头那一个月:项目组兴冲冲定了"iOS/Android/Web三端都要"的目标,结果第一周连"到底用什么架构接入"都在反复横跳。语音识别这个功能,单独放在一个端上做,跟同时…

2026/10/18 16:39:40 阅读更多 →
GBK点阵字模:16×16与24×24汉字显示打印全解析

GBK点阵字模:16×16与24×24汉字显示打印全解析

简介:这是一份面向打印机固件开发、LCD汉字显示及嵌入式字库应用场景的GBK点阵字模资源,收录GBK1.0规范内22046个汉字,不含用户自定义区,可解决汉字显示与打印中字模获取困难、编码转换繁琐的问题。压缩包共21个文件,约…

2026/10/18 16:38:40 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →