Skip to content

模型精度与量化

概念

精度描述权重和计算使用的数值格式;量化则用更少位数表示权重,以降低显存或内存需求。

格式特点适用情况
FP32精度高、文件和显存占用大主要用于训练或特定高精度场景
FP16精度与显存占用较均衡显存充足时的常规选择
BF16与 FP16 占用接近,数值范围不同模型和硬件明确支持时使用
FP8显存占用更低,可能损失少量质量显存有限或更重视速度
GGUF支持多种量化等级低显存或低内存环境运行较大模型

FP16、BF16 与 FP8

FP16 通常是图像生成模型的常规版本。BF16 是否更合适取决于模型训练方式和硬件支持,不能将两者简单理解为质量高低。

FP8 可以减少模型权重占用,但实际显存还包括:

  • 文本编码器和 VAE。
  • 采样过程中的中间数据。
  • 图像分辨率与批量。
  • LoRA、ControlNet 和其他模型组件。

因此,模型文件缩小不等于整个工作流显存按相同比例下降。

GGUF

GGUF 模型通常提供多个量化等级。更低位量化可以进一步减少内存,但可能影响速度、质量或兼容性。

常见选择顺序是 Q8 → Q6 → Q4:高量化等级无法适配硬件时,再降低量化等级。文件名中的 KSM 等后缀还表示具体量化方法和变体,不能只比较 Q 数字。

GGUF 一般需要对应的 UNET Loader、CLIP Loader 等自定义节点,不能直接当作普通 Checkpoint 使用。扩散模型仍放在 models/diffusion_models/,GGUF 文本编码器仍放在 models/text_encoders/

较小的模型不一定生成更快,实际性能受显卡、显存和驱动影响。不同版本应分别比较首次加载时间、后续生成时间与图像质量。

选择顺序

  1. 确认模型作者支持的精度和加载方式。
  2. 显存足够时优先使用模型发布页或配套工作流推荐的版本。
  3. 显存不足时先降低分辨率和批量大小。
  4. 再尝试 FP8 或合适的 GGUF 量化等级。
  5. 用相同提示词和固定 seed 对比质量与速度。

区分文件格式

以下概念不在同一层级:

概念示例
文件容器.safetensors.ckpt.gguf
数值精度FP32、FP16、BF16、FP8
模型组织AIO、模块化
模型家族SD 1.5、SDXL、Flux、Z-Image

判断模型能否使用时,需要同时确认四个维度。

基于 MIT 许可发布