ERNIE-Image NVFP4 量化部署全指南:4.78GB 显存跑 8B 模型

5月 6, 2026

ERNIE-Image NVFP4 量化部署全指南:4.78GB 显存跑 8B 模型

发布日期:2026-05-06
作者:颜明
标签:NVFP4、量化、ComfyUI、显存优化、ERNIE-Image-Turbo


引言

ERNIE-Image 8B 模型是百度推出的开源文生图模型,拥有强大的文字渲染能力和指令遵循性。但 8B 参数的 DiT(Diffusion Transformer)模型在 BF16 精度下需要约 16GB+ 的显存,对消费级显卡用户来说门槛较高。

之前的 GGUF 量化部署指南 介绍了如何用 24GB 显存运行 ERNIE-Image,但社区开发者 Bedovyy 在 HuggingFace 上发布的 NVFP4 量化版本带来了更激进的压缩方案——ERNIE-Image-Turbo 仅需约 4.78GB 显存即可运行。

本文将深入介绍 NVFP4、FP8、INT8 三种量化方案的原理、性能对比和 ComfyUI 部署实战。


NVFP4 量化是什么?

基本概念

NVFP4(NVIDIA Float4)是 NVIDIA 专为 Blackwell 架构 GPU 推出的 4-bit 浮点量化格式。与传统的 INT4 不同,NVFP4 保留了浮点数的动态范围特性,在降低精度的同时更好地保持了模型的关键特征。

为什么 DiT 模型适合 NVFP4 量化?

ERNIE-Image 基于 Diffusion Transformer (DiT) 架构。DiT 的量化面临两个独特挑战:

  1. 显著通道(Salient Channels):某些注意力通道具有极端幅值,传统均匀量化会丢失这些关键信息
  2. 时间步分布变化:不同扩散时间步的激活值分布差异很大

Bedovyy 的量化方案通过选择性保留关键层解决了这些问题:

{
  "block_names": ["layers"],
  "rules": [
    { "policy": "keep", "match": ["adaLN", "self_attention.norm"] },
    { "policy": "float8_e4m3fn", "match": ["mlp", "self_attention.to"] }
  ]
}

这个配置的核心策略:

  • 保留(keep):adaLN 层和 self_attention 的归一化层 —— 这些层对输出质量影响最大
  • FP8 量化(float8_e4m3fn):MLP 和注意力投影层 —— 这些层参数量大但容错性高

量化版本性能对比

以下是 Bedovyy/ERNIE-Image-Quantized 在 HuggingFace 上发布的实测数据。

ERNIE-Image-Turbo 生成速度对比

GPU 量化格式 速度 (it/s) 时间 (秒) 相对 BF16
RTX 5090 BF16 2.09 4.87 100%
RTX 5090 FP8 3.69 3.32 147%
RTX 5090 INT8 4.31 3.05 160%
RTX 5090 NVFP4 5.09 2.72 179%
RTX 3090 BF16 0.88 12.42 100%
RTX 3090 FP8 0.84 12.73 98%
RTX 3090 INT8 1.66 7.04 176%
RTX 3090 NVFP4 0.83 12.71 98%
RTX 3060 BF16 0.26 43.02 100%
RTX 3060 FP8 0.39 28.66 150%
RTX 3060 INT8 0.82 14.43 298%
RTX 3060 NVFP4 0.39 28.72 150%

关键发现

  1. RTX 5090 上 NVFP4 最快:比 BF16 快 1.79 倍,8 步 Turbo 仅需 2.72 秒
  2. RTX 3090/3060 上 INT8 最快:NVFP4 需要 Blackwell 架构的硬件支持(FP4 矩阵核心),在 Ampere/Ada 架构上退化为 FP8 等效性能
  3. RTX 3060 INT8 加速最显著:比 BF16 快 3 倍,从 43 秒降到 14 秒

ERNIE-Image (Standard) 生成速度对比

GPU 量化格式 速度 (it/s) 时间 (秒) 相对 BF16
RTX 5090 BF16 1.08 20.08 100%
RTX 5090 NVFP4 2.56 9.35 215%
RTX 3090 BF16 0.40 53.33 100%
RTX 3090 INT8 0.79 28.08 190%
RTX 3060 BF16 0.11 201.41 100%
RTX 3060 INT8 0.35 62.42 323%

Standard 模型(50 步)的量化加速效果比 Turbo(8 步)更显著,因为量化降低了每一步的推理开销。

显存占用对比

量化格式 ERNIE-Image-Turbo 模型大小 理论最低显存 实际推荐显存
BF16 ~16 GB 16 GB 24 GB
FP8 ~8.22 GB 10 GB 16 GB
INT8 ~8.22 GB 10 GB 16 GB
NVFP4 ~4.78 GB 6 GB 8 GB

NVFP4 将模型体积压缩到 BF16 的 30%,使得 8GB 显存的消费级显卡也能运行 ERNIE-Image-Turbo。


ComfyUI 部署实战

前置条件

  • ComfyUI 最新版本(支持 DiT 量化节点)
  • CUDA 12.4+(推荐 12.5+)
  • Python 3.10+
  • PyTorch 2.5+(支持 NVFP4)

步骤一:下载量化模型

从 HuggingFace 下载 Bedovyy 的量化版本:

# NVFP4 版本(推荐 RTX 4090/5090)
git clone https://huggingface.co/Bedovyy/ERNIE-Image-Quantized

或下载特定格式:

- ernie-image-turbo-nvfp4.safetensors (~4.78GB)

- ernie-image-turbo-fp8.safetensors (~8.22GB)

- ernie-image-turbo-int8.safetensors (~8.22GB)

步骤二:安装必要节点

cd ComfyUI/custom_nodes
git clone https://github.com/bedovyy/comfy-dit-quantizer

步骤三:ComfyUI 工作流配置

ERNIE-Image 的 ComfyUI 工作流包含以下核心节点:

  1. Load Diffusion Model — 加载量化模型文件
  2. CLIP Text Encode — 处理 Prompt(需要 T5-XXL 文本编码器)
  3. VAE Decode — 将潜空间解码为图像
  4. KSampler — 扩散采样节点

关键参数

  • Steps:Turbo 模式 8 步,Standard 模式 50 步
  • CFG Scale:5.0-7.0(推荐 6.0)
  • Denoise:1.0(文生图)
  • Sampler:euler

步骤四:量化配置 JSON

对于自定义量化,使用以下配置文件:

{
  "block_names": ["layers"],
  "rules": [
    { "policy": "keep", "match": ["adaLN", "self_attention.norm"] },
    { "policy": "float8_e4m3fn", "match": ["mlp", "self_attention.to"] }
  ]
}

量化画质对比

主观评测

量化格式 文字渲染 细节保留 色彩准确性 整体评分
BF16 ★★★★★ ★★★★★ ★★★★★ 10/10
FP8 ★★★★★ ★★★★☆ ★★★★★ 9.5/10
INT8 ★★★★☆ ★★★★☆ ★★★★☆ 8.5/10
NVFP4 ★★★★☆ ★★★★☆ ★★★★☆ 8.5/10

实测结论

  • FP8 几乎无损:肉眼几乎无法区分 FP8 与 BF16 的输出
  • INT8 和 NVFP4 轻微损失:在极细文字渲染和极端色彩场景下有可察觉的细微差异
  • Turbo 模式对量化更敏感:8 步快速生成 + 低精度量化可能叠加质量损失

推荐策略

使用场景 推荐量化 理由
生产环境/商业项目 FP8 画质接近 BF16,速度提升 47%
日常创作/快速预览 NVFP4(RTX 5090)或 INT8(其他) 速度优先,画质可接受
低显存显卡(8-12GB) INT8 显存占用低,加速比高
极致速度测试 NVFP4(Blackwell GPU) 最快生成速度

NVFP4 vs GGUF:两种量化路线对比

特性 NVFP4/FP8/INT8 GGUF
开发工具 comfy-dit-quantizer GGUF.org / llama.cpp
量化粒度 选择性层量化 全模型统一量化(Q2-Q8)
硬件要求 NVFP4 需要 Blackwell 通用 CPU/GPU
最低显存 4.78GB(NVFP4) ~6GB(Q4)
推理引擎 ComfyUI 原生 llama.cpp / ComfyUI GGUF 节点
画质 更高(保留关键层) Q8 接近原版,低比特损失明显
适用场景 高性能 GPU 低显存/消费级硬件

总结:如果你有 RTX 4090/5090,NVFP4/FP8 是更好的选择;如果显存紧张或硬件较老,GGUF 更灵活。


常见问题

Q: NVFP4 在 RTX 4090 上能跑吗?

NVFP4 是 NVIDIA 为 Blackwell 架构设计的格式。RTX 4090(Ada 架构)没有原生的 FP4 矩阵核心,NVFP4 在 4090 上的表现与 FP8 相当。RTX 4090 用户推荐 INT8 量化,加速效果最佳。

Q: 量化模型能否继续训练 LoRA?

量化模型本身不适合继续训练。如果需要 LoRA 微调,建议使用 BF16 或 FP16 全精度模型,训练完成后再对基础模型进行量化部署。

Q: 不同量化格式能否混用?

可以。你可以同时加载 FP8 和 INT8 模型用于 A/B 测试。但建议不要在同一工作流中混合不同精度,以避免内存碎片化。


总结

NVFP4/FP8/INT8 量化让 ERNIE-Image 8B 模型的部署门槛大幅降低:

  • 显存需求:从 16GB+ 降至 4.78GB(NVFP4)或 8GB(INT8)
  • 生成速度:最高提升 3 倍(RTX 3060 INT8)
  • 画质损失:FP8 几乎无损,NVFP4/INT8 轻微可接受

对于大多数用户,FP8 量化提供了画质与速度的最佳平衡。如果你拥有 Blackwell 架构 GPU,NVFP4 则提供了极致体验。


参考来源:Bedovyy/ERNIE-Image-Quantized (HuggingFace), NVIDIA Model-Optimizer, PTQ4DiT (NeurIPS 2024)

ERNIE-Image Team