非Blackwell显卡的最后机会:minimax-h3-nvfp4-convrot实验性INT4 W4A4 ConvRot方案全解析
minimax-h3-nvfp4-convrot 是为 MiniMax H3(33B 全模态视频+音频生成模型)制作的ComfyUI 单文件量化检查点合集:Blackwell 显卡用 NVFP4 权重,非 Blackwell 显卡则可用实验性INT4 W4A4 ConvRot权重,这是目前在小显存/老显卡上本地运行 MiniMax H3 的最低显存方案,可输出 768p / 24 fps / 4–15 秒、带同步 32 kHz 立体声音频的视频。
⚠️ 先说重点:INT4 系列处于实验状态,作者只确认了"能加载、能端到端生成",画质未经评估。如果你用的是 Blackwell(RTX 50 系 / B100 / B200),仍推荐 NVFP4 系列。
MiniMax H3 能生成什么:视频+音频双模态模型
MiniMax H3 是一个33B 参数的全模态生成模型,一次生成视频与配套音频。这套量化文件的输出规格为 768p / 24 fps / 4–15 秒,附带同步的 32 kHz 立体声音频(2K 输出需要单独的 H3-Regenerate-2K 模块,不在本仓库内)。
它提供两种模式,文件前缀不同:
fl2va— 首/尾帧模式:0 张图 = 文生视频(T2V),1~2 张图 = 帧条件视频ref2va— 全参考模式:最多支持 9 张图 / 3 个视频片段 / 3 个音频片段作为参考
两种模式享受完全相同的量化处理,按自己的工作流二选一即可。
快速选型:10 个模型文件一张表看懂
仓库内文件命名规则为minimax_h3_<fl2va|ref2va>_<variant>.safetensors,各变体对比如下:
| 变体 | 大小 | GPU 要求 | 状态 |
|---|---|---|---|
pruned_nvfp4_convrot_int8 | 20 GB | 仅 Blackwell | ✅ 推荐,已在 ComfyUI 实测 |
pruned_nvfp4_fp8 | 20 GB | 仅 Blackwell | 基准测试版(qkv_proj 用 FP8,用于速度对比) |
pruned_nvfp4 | 20 GB | 仅 Blackwell | 已测试,同体积下比上面两个慢 |
nvfp4 | 34 GB | 仅 Blackwell | 未剪枝基础版 |
pruned_mixed_int4_int8_convrot_simple | 20 GB | 非 Blackwell 可用 | ⚠️ 实验性,质量未评估 |
pruned_int4_convrot_simple | 17 GB | 非 Blackwell 可用 | ⚠️ 实验性,体积最小 |
int4_convrot_simple | 25 GB | 非 Blackwell 可用 | ⚠️ 实验性,未剪枝 |
💡 注意:三个 INT4 变体只有fl2va版本,其余变体两种模式都有。
选型建议:
- Blackwell 显卡→ minimax_h3_fl2va_pruned_nvfp4_convrot_int8.safetensors,确认可用、格式最保守
- Ampere / Ada(RTX 30/40 系)等非 Blackwell 显卡→ INT4 系列,其中 17 GB 的 minimax_h3_fl2va_pruned_int4_convrot_simple.safetensors 是最小体积
为什么 NVFP4 是 Blackwell 专属?
NVFP4 是 Blackwell(SM ≥ 10.0 / 12.0)张量核心原生的低精度格式,老卡没有任何回退路径。仓库里所有nvfp4文件(包括convrot_int8变体——它除attn.qkv_proj外其余部分仍是 NVFP4)都受此限制。
这正是 INT4 逃生通道存在的意义:让非 Blackwell 用户也能本地跑 MiniMax H3,代价是质量未验证。
还有一个细节:comfy-kitchen的 W4A4 CUDA 内核只在major == 8(Ampere/Ada)时使用原生 INT4 张量核心 MMA,Blackwell 会始终走 INT8 激活路径——所以在 Blackwell 上,INT4 没有任何速度优势,直接用 NVFP4 系列。
ConvRot 如何撑起 INT4 W4A4:核心原理
ConvRot(分组 Hadamard 旋转)是一种即插即用的量化方法,思路分三步:
- 按固定大小的分组,对权重(以及激活)做预旋转
- 把离群值的能量摊开,让 INT4/INT8 的狭窄数值范围"装得下"
- 从而无需重训练即可实现 INT4 "权重4位 + 激活4位"(W4A4)推理
它源自 ConvRot 论文(arXiv:2512.03673,Rotation-Based Plug-and-Play 4-bit Quantization for Diffusion Transformers)。本仓库的 INT4 系列用ctq(convert-to-quant)CLI 以--simple模式量化(RTN 舍入,无学习舍入)。
三个 INT4 实验文件详解
| 文件 | 大小 | 说明 |
|---|---|---|
| minimax_h3_fl2va_int4_convrot_simple.safetensors | 25 GB | 未剪枝;180 层(mlp.fc1/fc2、qkv_proj、adaln_proj)量化为 INT4 W4A4 |
| minimax_h3_fl2va_pruned_int4_convrot_simple.safetensors | 17 GB | 剪枝版 + AdaLN 查表移植,剩余 135 层量化层全部保持 INT4 |
| minimax_h3_fl2va_pruned_mixed_int4_int8_convrot_simple.safetensors | 20 GB | 48 层回升为真正的 INT8 ConvRot(int8_tensorwise,41 个 mlp.fc1 + 4 个 mlp.fc2 + 3 个 qkv_proj)以找回质量 |
混合 INT4/INT8 版值得多说两句。ConvRot 论文实测:纯 W4A4 相对 BF16 有明显退化(FLUX 上 FID 10.07 → 12.32,ImageReward 0.99 → 0.84)——原因不是离群值(ConvRot 已处理好),而是 INT4 在平滑低频区域表征能力有限。论文的解法是把约 20% 的层按功能角色(而非离群值幅度)升回 INT8;这个混合文件(int8_ratio = 0.2)沿用了该策略,但层清单继承自 FLUX、未在 H3 上调优,只能算起点而非定论。
运行条件
INT4 W4A4 需要带comfy-kitchen的TensorCoreConvRotW4A4Layout支持的 ComfyUI 构建,否则无法加载。
再强调一次:INT4 质量在仓库中没有经过评估,只确认了端到端可运行。普通用户请谨慎预期;发烧友则不妨上手帮忙验证质量。
34 GB → 20 GB:AdaLN 剪枝的秘密
文件名里的pruned前缀意味着:把 H3 的 AdaLN 调制网络替换成预计算查表。
- AdaLN 调制权重占 13.1B / 33.1B 参数(约 39%)
- Comfy-Org 发现这些权重只依赖扩散时间步、与内容无关,在固定的推理时间步集合上可坍缩为一个小查找表,且"输出质量无损"
- 剪枝版从 Comfy-Org 的 pruned 发布中直接移植
adaln_t_table([1025, 8] F32)与坍缩后的*.adaln_proj.linear([*, 8] F16),单文件从 34 GB 降到 20 GB
💡 一个坑:剪枝架构要靠 ComfyUI 的 shape-based 检测(由adaln_t_table.shape[1]推断time_embed_dim)来识别,而 pruned 文件必须不带config元数据块——否则陈旧的time_embed_dim: 2688会覆盖正确值、导致加载失败。
另外,剪枝版依赖 ComfyUI 的架构检测,在 ComfyUI 之外使用时,未剪枝文件是更稳妥的选择。
上手指南:在 ComfyUI 里跑通量化版 MiniMax H3
- 下载配套文件:本仓库的扩散模型需要配套文本编码器与 VAE(来自 Comfy-Org/MiniMax-H3),分别放入 ComfyUI 的
models/diffusion_models、models/text_encoders、models/vae目录,并使用该仓库提供的 I2V / T2V / R2V 工作流模板 - 文本编码器提示:文本编码器是 Qwen3-VL 32B,本身就很占显存;Comfy-Org 提供了
nvfp4_awq版本,在 Blackwell 上与之搭配较好 - 放入模型文件(如
pruned_nvfp4_convrot_int8或 INT4 实验文件)到models/diffusion_models,在模板中加载 - INT4 用户:务必确认 ComfyUI 构建包含
comfy-kitchen的 W4A4 支持,再运行生成
底层实现:量化方案细节
仓库全部量化用ctq(convert-to-quant)CLI 完成,配合手工编写的逐层配置(该架构没有内置过滤规则):
| 层 | 格式 |
|---|---|
blocks.{2..46}.mlp.fc1/mlp.fc2(90 层) | NVFP4 |
blocks.{2..46}.attn.qkv_proj、.adaln_proj.linear(90 层) | FP8(tensor-wise scale) |
首 2 / 尾 3 个 block、attn.out_proj、condition_proj、time_embedder.*、音频/视频输入投影、final_layer.*、token_refiner.*(86 层) | BF16 保留不动 |
完整配置见 minimax_h3_layer_config.json;INT4 版配置 minimax_h3_layer_config_int4_convrot.json 将mlp.fc1/fc2、attn.qkv_proj、adaln_proj.linear标记为int4_convrot_w4a4,跳过的精度敏感层与 NVFP4 版一致。
NVFP4 量化命令大致如下:
ctq -i minimax_h3_fl2va_bf16.safetensors \ -o minimax_h3_fl2va_nvfp4.safetensors \ --nvfp4 --custom-type fp8 \ --layer-config minimax_h3_layer_config.json \ --comfy_quant --save-quant-metadata而 INT8 ConvRotattn.qkv_proj(即推荐的pruned_nvfp4_convrot_int8变体)走的是"提取 → 量化 → 拼接"流程:45 层qkv_proj.weight从原始 BF16 权重(而非被替换的 FP8 张量,避免二次量化误差)提取,单独用--int8 --dynamic-convrot --convrot-group-size 256量化,再拼接回 pruned NVFP4 文件。文件体积不变,但 INT8 张量核心吞吐普遍高于 FP8,推理更快。
完整流程文档见 README.md。
许可证与注意事项
- 许可证为MiniMax H3 Community License Agreement,继承自官方 MiniMax-H3,仓库内附完整副本:LICENSE
- NVFP4 系列被推荐,是因为它使用保守、成熟的格式并确认可用,而非因为有质量基准——仓库中没有任何画质测量
- INT4 系列为实验性质,质量未验证,仅确认可加载与生成
pruned变体依赖 ComfyUI 的形状检测机制,在非 ComfyUI 环境使用需谨慎
总结
一句话记住选型:
Blackwell →
pruned_nvfp4_convrot_int8(20 GB,已验证);非 Blackwell → INT4 W4A4 ConvRot 系列(17–25 GB,实验性)。
如果你持有 Ampere/Ada 显卡,又想本地运行 33B 全模态"视频+音频"生成模型,minimax-h3-nvfp4-convrot 目前是最现实的路径之一——用"质量未验证"换来了小显存下跑通 32 kHz 立体声音频的本地视频生成体验。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考