FLUX.1 [dev] fp8 versions - Scaled fp8/fp8_e4m3fn/fp8_e5m2

详情

模型描述

更新:

我添加了一些不再托管在 Civitai 上的 FLUX.1 [dev] 的其他 fp8 版本,特别是 fp8_e4m3fn 和 fp8_e5m2,除了我最初发布的缩放版 fp8 FLUX.1 [dev]。

fp8_e4m3fn 和 fp8_e5m2 模型最初由 Kijai 在 Hugging Face 上上传 此处,他们指出 E5M2 和 E4M3 确实会产生略有不同的结果,但很难/不可能判断哪个更好。当人们提到 FP8 时,通常指的是 E4M3。

以下是来自 Reddit 帖子关于 fp8_e4m3fn 和 fp8_e5m2 的一些信息:

FP 表示浮点数。任何有符号浮点数都存储为三个部分:

  1. 符号位

  2. 尾数

  3. 指数

因此,数字 = 符号 * 尾数 * 2^指数

E5M2 表示 2 位表示尾数,5 位表示指数。E4M3 表示 3 位表示尾数,4 位表示指数。

E5M2 可以表示比 E4M3 更宽范围的数值,但精度较低。然而,能表示的不同数值数量是相同的:256 个不同值。因此,如果我们需要在 0 附近有更高的精度,则使用 E4M3;如果我们需要在最小/最大值附近有更高的精度,则使用 E5M2。

选择使用哪种格式的最佳方法是分析模型中权重值的分布。如果权重倾向于靠近零,则使用 E4M3;否则使用 E5M2。

原文:

我还没看到有人上传过这个。

这是由 comfyanonymous 上传到 HuggingFace 的缩放版 fp8 FLUX.1 [dev] 模型。它应比普通的 fp8 模型产生更好的结果,更接近 fp16,但推理速度远快于 Q 量化版本。支持 TorchCompileModel 节点。注意:不知为何,该模型无法与 Redux 或某些 ControlNet 模型兼容。

fp8 缩放检查点是一个稍显实验性的版本,专门针对使用 fp8 矩阵乘法(在 40 系列/Ada/H100 等硬件上)进行调优,以尽可能获得最高质量,因此其质量很可能低于 Q8_0,但如果您的硬件支持 fp8 操作,则推理速度会更快。

来自 HuggingFace

测试缩放版 fp8 flux dev 模型,请与最新版本的 ComfyUI 配合使用,并将 weight_dtype 设置为默认值。将其放入您的 ComfyUI/models/diffusion_models/ 文件夹中,并使用“加载扩散模型”节点加载。

此模型生成的图像

未找到图像。