模型量化精度:BF16/FP16/FP8/Q4

这些术语,全部都是模型权重的数值精度(或数据类型) 。它们决定了每个参数用多少位、什么格式来存储,直接影响了 文件大小、显存占用、推理速度和生成质量

核心概念:为什么精度这么重要?

AI 模型本质是数千亿个数字(权重)组成的巨大矩阵。存储每个数字的"格式"越精细,画质越接近"全真",但体积和计算量也越大。于是有了各种压缩/量化方案,在画质-大小-速度之间找平衡。


1. BF16(Brain Floating Point 16)

  • 全称:脑浮点16位(专为深度学习设计)

  • 结构:1位符号 + 8位指数 + 7位尾数

  • 特点 :指数位比 FP16 多,能表示很大和很小的数,动态范围与 FP32 相同,训练时非常稳定,不会轻易溢出。

  • 画质:无损。通常是模型训练和保存的"原生"精度。

  • 使用:需要 Ampere 架构及更新(30系以上)的 NVIDIA 卡支持。推理时如不压缩,显存需求大。

  • 你的卡(5070 Ti):完全支持,但纯 BF16 的 FLUX 模型约 23 GB,显存放不下,所以一般不直接跑,会转为 FP8。


2. FP16(Half Precision Floating Point 16)

  • 结构:1位符号 + 5位指数 + 10位尾数

  • 特点:常规半精度,尾数精度比 BF16 高,但指数范围小,容易上下溢出。是早先的通用半精度格式。

  • 对比 BF16:画质细节上 FP16 理论上稍好(尾数多),但训练稳定性不如 BF16。推理时两者差别极微。

  • 你的卡:同样支持,但很少看到 FLUX 的纯 FP16 分发,因为和 BF16 一样体积太大。


3. FP8(8-bit Floating Point)

  • 全称:8位浮点数。分为两种变体:

    • E4M3:4位指数 + 3位尾数,精度更高,适合前向传播(推理)。

    • E5M2:5位指数 + 2位尾数,动态范围更大,适合反向传播(训练)。

  • 模型文件用法 :通常 fp8 模型指以 E4M3 格式存储的权重。

  • 画质几乎无损。对于 FLUX 这样的大模型,FP8 输出的图像与原版 BF16 对比,肉眼完全无法分辨差异。

  • 速度与硬件 :RTX 40/50 系(包括你的 5070 Ti)内置了专用 FP8 Tensor Core,可以直接高速运算 FP8 数据,推理速度比 FP16/BF16 快很多,还省显存。

  • 显存占用 :BF16 的一半。FLUX 模型(120亿参数)由约 23 GB 降至 17 GB(文件大小),加载后占显存约 13--14 GB。


4. Q4(4-bit Quantization)

  • 全称 :4位整数量化(通常指 GGUF 格式中的 K-quant 系列,如 Q4_K_S, Q4_K_M

  • 结构 :将浮点数值四舍五入映射为 4 位整数(0--15),利用缩放因子还原。每个权重仅占 0.5 字节

  • K-quant 变体

    • Q4_K_S:偏重压缩比,体积更小(6.3 GB),质量损失稍多。

    • Q4_K_M:偏重保留质量,体积稍大,推荐小显存使用。

  • 画质 :有可感知的损失。在高分辨率下,细节纹理、小文字、平滑渐变可能出现模糊或伪影。但已是 4 位量化中最好的方案之一。

  • 性能 :需要即时反量化(先转回 FP16 再计算),因此推理速度不如原生 FP8 加速,且额外消耗一点显存和计算。

  • 适用 :属于"极限压缩"方案,专为 6--8 GB 显存显卡设计。你的卡一般不需要它。


5. 其他常见的量化格式(扩展了解)

  • INT8:8位整数量化,质量和体积介于 FP8 和 Q4 之间,比 Q4 强但不如 FP8。

  • NF4(4-bit NormalFloat):一种专为正态分布权重优化的 4 位量化,信息保留优于普通 INT4,常用于 QLoRA 训练。

  • GGUF:一种文件容器格式,常用于携带这些量化模型(如 Q4, Q5, Q8),需专用加载器。

6.以Wan2.1的模型列表为例说明

模型列表页面:

https://huggingface.co/Comfy-Org/Wan_2.1_ComfyUI_repackaged/tree/main/split_files/diffusion_models

📊 任务-模型后缀速查表
模型名中的后缀 全称 中文简称 核心输入 核心用途
t2v Text-to-Video 文生视频 纯文字描述 根据文字"无中生有"创造全新的视频-3
i2v Image-to-Video 图生视频 图片 + 文字描述 让一张静态图片根据指令"动起来"-3
flf2v First-Last-Frame-to-Video 首尾帧视频生成 视频第一帧 + 最后一帧图片 自动"脑补"首尾两帧之间的所有过渡动画-3
vace Video All-in-one Creation Engine 视频全能编辑引擎 视频/图片 + 编辑指令 对已有视频进行二次加工(如重绘、风格迁移等)-3
t2i Text-to-Image 文生图 纯文字描述 生成高质量的静态图片-2
control Fun Control 可控生成 文字 + 条件控制图(如Canny边缘、深度图等) 通过额外条件对生成内容进行更精准的控制

wan2.1_fun_camera_v1.1_1.3B_bf16.safetensors

用于在视频生成时精确控制摄像机运动。 你可以把它理解成一个虚拟的"摄影师",只要告诉它运镜方式(如推拉、摇移),它就能自动让生成的画面呈现出专业的镜头语言。

wan2.1_fun_control_1.3B_bf16.safetensors

传统视频模型主要依赖文字描述,常出现动作失控的问题-3。Fun Control模型通过引入控制条件,提供了可靠的解决方案,

控制类型 它在做什么 适合什么场景
Canny 提取输入图片的边缘线稿 作为引导-1-3 让生成的视频构图与某张参考图高度一致。
Depth 解析画面的空间景深 信息-3 确保生成的视频内容,空间逻辑不乱。
OpenPose 识别人物的骨骼关节 信息-1-3 指定角色动作。例如想让人物"比心"或"跳舞"时,提供动作姿态图即可。
MLSD 强调画面的几何边缘 和建筑结构-3 精准生成建筑的轮廓,避免出现扭曲的柱子或墙角。
轨迹控制 定义一个或多个物体的运动路径 --1 让物体严格按你设定的轨道运动。
首尾帧控制 输入一张开头帧 和一张结尾帧 图片,模型自动生成中间过渡--6 用于制作平滑转场或循环动画。
wan2.1_fun_inp_1.3B_bf16.safetensors

专注于"首尾帧控制"的视频生成模型。

功能 说明
首尾帧控制 通过输入起始和结束画面来定义视频的边界,增强视频的连贯性和创作自由度-7
多分辨率支持 可生成多种分辨率的视频,如 512×512、768×768、1024×1024 等,以适应不同需求-4-7
轻量化设计 1.3B 参数规模使其对显存要求较低,适合本地部署和快速推理
wan2.1_flf2v_720p_14B_fp8_e4m3fn.safetensors

一个能自动完成关键帧之间"动画补间"的超强工具,

🔬 "FLF2V" vs "Fun InP":一对AI兄弟的"术业有专攻"

这个模型和你之前提到的 wan2.1_fun_inp_1.3B_bf16.safetensors 常常被放在一起讨论,但它们其实是各有所长的两兄弟:

对比维度 FLF2V Fun InP
模型规模 14B 1.3B-13
核心任务 智能生成中间帧 ,提供高质量的完整视频,强调动态逻辑的合理性-1-14 智能生成中间帧,但更侧重于风格的切换和视频修复-
侧重能力 运动连贯性。擅长生成符合物理规律的、逻辑连贯的动作 创意转换。在实现风格或特定元素变化方面表现更出色-
典型场景 产品组装、形状变化、人物走位等需要连贯动作的场景-14 动漫/真人风格互转、局部动态化、视频局部重绘等创意场景
wan2.1_magref_14B_fp16.safetensors

magref :这是模型的核心标识,代表 M asked G uidance for A ny-Ref erence (任意参考的掩码引导),专门用来同时控制多个不同主体(如特定人物、宠物、物品)并让它们稳定地出现在同一个视频里,

🎯 它和普通"图生视频(I2V)"有什么区别?

对比维度 普通图生视频 (I2V) MAGREF
核心控制 基于一张 参考图和文字描述,让画面动起来-3 基于任意多张 参考图,对画面中每个主体 进行精准控制-1
处理多主体 容易混淆。当有多个人物或物体时,特征会互相融合,产生"串脸"现象。 稳定分离。能同时、准确地生成多位角色,并保持其身份特征清晰。
典型场景 让指定图片中的某个主体动起来。 设计复杂的多角色互动或广告,如"马斯克和特斯拉皮卡合影"。
技术定位 基础功能的增强版。 针对复杂可控场景的专用架构

🧩 模型文件命名规则详解

一个完整的模型文件路径(如 wan2.1_t2v_14B_fp16.safetensors)可以拆解为以下几个部分:

  • wan2.1: 基础模型系列名称,代表是通义万相 2.1 版本。

  • <任务后缀>: 必选,如上表所示,用于定义模型的核心功能。

  • <参数量后缀>: 必选,定义了模型的规模和性能。

  • <分辨率后缀>: 可选,如 480p720p,指模型原生支持的视频高度。

  • <精度后缀>: 必选,定义了模型的数值精度,直接影响显存占用和生成质量。

下面我们来详细拆解每个部分的具体含义。

1.3B vs 14B:参数量差异

后缀中的 B 代表十亿(Billion),指的是模型参数的数量。参数越多,模型越"聪明",生成的视频质量、细节和语义理解能力也越强,但对显卡显存的要求也更高-。

参数量 定位 特点
1.3B 轻量级 专为消费级显卡和有限显存的硬件设计。生成速度快,能在单张GPU上流畅运行,适合快速尝试和学习--2
14B 旗舰级 追求顶尖画质和精准的语义遵循度。能生成细节丰富、动作连贯的视频,适合专业级应用,但需要性能强劲的硬件支持--2
480p vs 720p:分辨率支持

这部分后缀指模型支持的原生输出分辨率(视频高度)。

  • 480p : 标准分辨率,通常对应 480x832 等尺寸,适合大多数场景和资源有限的用户。

  • 720p : 高清分辨率,画面更清晰、细节更丰富,例如 720x1280 等。生成 720p 视频比 480p 需要更多的计算资源和时间-3-6

fp16 / bf16 / fp8...:精度与量化方式

这一后缀直接决定了你的显存够不够用 以及生成画质的好坏

精度格式 文件大小示例 (14B) 显存需求 生成质量 说明
fp16 ~28.6 GB-10 最高 (约40GB) 最佳 追求极致画质的首选。 性能表现通常优于bf16-9
bf16 ~28.6 GB-10 较高 (约40GB) 较高 fp16质量差异很小,但可能稍低-9
fp8_scaled ~14.3 GB-10 中等 (推荐≥16GB) 较高 主流用户的首选。 在画质和显存间取得了绝佳的平衡,质量优于e4m3fn格式-9
fp8_e4m3fn ~14.3 GB-10 中等 (推荐≥16GB) 中等 标准的FP8量化格式,通用性好,但质量稍逊于scaled版本-。

注意:模型的显存需求会因生成视频的长度、分辨率等因素而变化。上表中的显存数据(如14B模型的40GB需求)是指在最严苛(长视频、高分辨率)条件下的需求。

📁 目录里会有哪些典型文件?

根据 Wan2.1 的官方发布和 ComfyUI 的打包习惯,该目录通常包含以下类别模型(具体文件名可能有微调)。

文件分类 代表文件名示例 核心用途 你的 5070 Ti 适用性
T2V 文本生视频 wan2.1_t2v_14B_fp16.safetensors 及其分卷 纯文本描述直接生成视频 ✅ 可用,但 fp16 太大,需用 fp8
I2V 图生视频 wan2.1_i2v_14B_fp16.safetensors 及其分卷 用一张图作为起点生成视频 强烈推荐,用 fp8 或量化版
小参数模型 wan2.1_t2v_1.3B_fp16.safetensors 速度极快,画质较基础 ⚠️ 没必要用,除非追求实时
FP8 量化 wan2.1_i2v_14B_fp8_scaled.safetensors 官方无损压缩,速度和画质最佳平衡 ✅✅ 最佳选择
GGUF 量化 wan2.1_i2v_14B_Q4_K_M.gguf 为 8-12G 显存极限优化 ❌ 你的 16G 不需要,除非同时跑多个控制模块
分卷文件 ...fp16.safetensors.part1 ~ partN 将超大 fp16 模型切割成小文件方便下载 📌 所有 split_files 里的分卷都必须下载,ComfyUI 会自动合并

精度与格式篇:FP16 / FP8 / GGUF 怎么选?

每个功能模型(比如 I2V 14B)通常会提供多种"精度"版本,目的是在 画质-大小-速度 之间做选择。

  • FP16

    • 原生半精度,画质完全无压缩 ,文件高达 28 GB 左右

    • 加载需要超过 20GB 显存,5070 Ti 16G 绝对爆显存,不能直接使用。

    • 这个目录下被切成多个 .part 分卷的很可能就是 FP16 模型,给你下载备用,但运行要靠下一种。

  • FP8 / FP8_scaled

    • 官方推荐的实用版本,文件大小约 14 GB(比 FP16 减半)。

    • 画质肉眼几乎无损 ,而且5070 Ti 16GBlackwell 架构有原生 FP8 加速,推理速度甚至比 FP16 更快。

    • fp8_scaled 是经过特殊缩放校准的版本,色彩和光照一致性更好,无脑选这个

  • GGUF (Q4, Q5 等)

    • 社区制作的极致压缩版,4-bit/5-bit 整数量化,文件大小仅 6-8 GB。

    • 画质有可感知的轻微损失(尤其纹理和高速运动处)。

    • 16G 显存使用 FP8 完全够用,无需为此牺牲画质


分卷文件怎么用?

因为 FP16 模型太大了(单个文件超 20GB),Git 和 HuggingFace 很难直接处理,所以被切成了多个 5GB 左右的小块(如 .part1, .part2, .part3)。

对你来说操作非常简单:

  • 只要把同一个模型下的所有 .part 文件全部下载到同一个文件夹 (比如 ComfyUI/models/diffusion_models/)。

  • ComfyUI 的 WanVideo 节点会自动检测这些分卷并在加载时实时合并,你完全感觉不到差别。

📌 注意:split_files/diffusion_models 目录里的分卷通常就是 FP16 版本,方便你存档。而 FP8 版本一般在上级目录或另一个非 split_files 的文件夹下单独提供(单个完整的 .safetensors 文件)。

相关推荐
scx_link13 天前
模型推理阶段的一些问题总结
智能电视
WHS-_-202222 天前
Learning Domain-Invariant Model for WiFi-Based Indoor Localization
智能电视
2601_954723571 个月前
如何判断智能猫砂盆的选型标准?
智能电视
拓朗工控1 个月前
深度学习工控机部署实战:从硬件选型到稳定运行的避坑指南
人工智能·深度学习·智能电视·工控机
2zcode1 个月前
面向健身与康复训练的基于深度学习的人体姿态检测与动作纠正系统
人工智能·深度学习·智能电视
yuanlaile2 个月前
想做智能电视App?用H5 + 跨平台也能快速上线
html5·cordova·智能电视·ionic·tv应用开发
深念Y2 个月前
状态缓存与TTL:给每个设备状态贴一张“保质期”
数据库·缓存·智能家居·时间·时间戳·智能电视·ttl
飞睿科技2 个月前
UWB空鼠精准指向交互 智能电视遥控器的下一代方案
物联网·智能电视·uwb·指向性遥控器