🔥 发布 FLUX-Juiced:最快的图像生成端点(速度提升 2.6 倍)!

社区文章 发布于 2025 年 4 月 23 日

Flux Juiced

在过去几年中,图像生成模型变得异常强大——但也**异常缓慢**。像 FLUX.1 这样拥有庞大架构的模型,即使在 H100 等尖端 GPU 上,每张图像也通常需要 6 秒以上。虽然压缩是一种广泛应用的技术,可以减少推理时间,但其对质量的影响往往不明确,因此我们决定做两件事。

  1. 我们构建了 **FLUX-juiced**——目前最快的 FLUX.1 端点。它现在已在 Replicate 上线。🚀
  2. 我们创建了 **InferBench**,通过对 FLUX-juiced 与 Replicate、Fal、Fireworks 和 Together 等不同推理提供商提供的“FLUX.1 [dev]”端点进行全面基准测试。它现在已在 Hugging Face 🤗 上线。

⚡ 什么是 FLUX-juiced?

FLUX-juiced 是我们优化过的 FLUX.1 版本,其推理速度比官方 Replicate API **快 2.6 倍**,同时**不牺牲图像质量**。

其内部使用了自定义组合:

  • 用于优化执行路径的**图编译**
  • 用于重复操作的**推理时缓存**

我们在此不深入探讨内部细节,但核心思想是:

我们将编译器级别的执行图优化与选择性缓存重度操作(如注意力层)相结合,使推理能够跳过冗余计算,同时不损失任何保真度。

这些技术通过 **Pruna Pro** 管道进行通用化和即插即用,并且几乎可以应用于任何基于扩散的图像模型——而不仅仅是 FLUX。对于免费但仍然非常强大的模型,您可以使用我们的开源解决方案。

🧪 立即试用 FLUX-juiced → replicate.com/prunaai/flux.1-juiced

📊 InferBench:比较速度、成本和质量

为了证实这一点,我们对 FLUX-juiced 与以下提供商提供的“FLUX.1 [dev]”端点进行了全面基准测试:

所有这些推理提供商都提供了 FLUX.1 [dev] 实现,但它们并不总是会说明后台使用的优化方法,而且大多数端点具有不同的响应时间和性能指标。

为了进行比较,我们对不同提供商使用了相同的生成配置和硬件。

  • 28 个推理步骤
  • 1024×1024 分辨率
  • 引导比例为 3.5
  • H100 GPU (80GB)——仅由 Replicate 报告

尽管我们确实使用此配置和硬件进行了测试,但所应用的压缩方法也适用于不同的配置和硬件!

虽然此基准测试的完整结果已发布在 Hugging Face 🤗 上的 InferBench 空间中,但您将在此博客中了解主要发现。

🗂️ 数据集和基准测试

为了进行公平比较,我们决定使用包含提示、图像和人工标注的数据集和基准测试,这些数据集和基准测试旨在以标准化方式评估文本到图像生成模型的能力。

名称 描述 源码
DrawBench 一套全面的提示集,旨在评估文本到图像模型在渲染颜色、物体数量、空间关系和场景文本等各种能力方面的表现。 数据集论文
HPSv2 一个大规模数据集,捕获了来自不同来源图像的人类偏好,旨在评估生成图像与人类判断的一致性。 GitHub论文
GenAI-Bench 一个旨在评估多模态大型语言模型判断 AI 生成内容质量能力的基准,通过比较模型评估与人类偏好进行判断。 数据集GitHub网站论文
GenEval 一个以对象为中心的框架,用于使用现有对象检测方法评估文本到图像的对齐,以生成细粒度的实例级分析。 GitHub论文
PartiPrompts 一套包含 1600 多个英语提示的丰富集合,旨在衡量模型在各种类别和挑战方面的能力。 数据集GitHub网站论文

📐 指标和评分

除了数据集之外,我们还使用了各种评分标准来定量、客观地评估文本到图像生成模型在图像质量、与提示的相关性以及与人类偏好的一致性等方面的性能。

名称 描述 源码
ImageReward 一个奖励模型,通过 13.7 万次人工偏好比较进行训练,用于评估文本到图像的生成质量。它作为评估合成质量的自动化指标。 论文GitHub
VQA-Score(模型='clip-flant5-xxl') 一个视觉-语言生成模型,针对图像-文本检索任务进行微调,提供反映图像与文本描述之间对齐程度的得分。 GitHub论文
CLIP-IQA 一个基于 CLIP 模型的图像质量评估指标,通过计算图像与预定义提示之间的余弦相似度来衡量视觉内容质量。 论文TorchMetrics
CLIP-Score 一个无参考指标,使用 CLIP 模型评估生成标题与图像内容之间的相关性,以及文本或图像之间的相似性。 论文TorchMetrics
CMMD CLIP 最大均值差异 (CMMD) 用于评估图像生成模型。CMMD 比 FID 更优秀的指标,并试图缓解 FID 长期存在的问题。 GitHub论文
ARNIQA 一种无参考图像质量评估指标,可预测图像的技术质量,与人类判断高度相关,已包含在 TorchMetrics 库中。 论文TorchMetrics
清晰度(拉普拉斯方差) 一种通过计算拉普拉斯方差来量化图像清晰度的方法,其中方差越大表示图像越清晰。 博客文章博客文章 2

🏆 结果

🕷️ 比较概览

如上所述,我们评估了模型在各种基准和指标下的使用情况。下图显示了我们发现的比较概览。

image/png

FLUX-juiced 显然是领头羊!虽然该模型实现了可比的质量性能,但其效率更高:每美元可以生成 180 张图像,每张图像仅需 2.5 秒,而基础模型则需要 6 秒。

🏎️ 速度比较

大多数压缩技术会权衡推理速度和质量。为了找出 Flux-juiced 端点在这个权衡中的位置,我们根据测量的推理速度绘制了不同的质量维度。

quality_vs_speed-cropped.svg

各种 FLUX-juiced 版本构成了帕累托前沿,这意味着在任何给定速度下,没有其他 API 能够在不影响质量的情况下提供相同或更低的延迟。

FLUX-extra-juiced 每张图片只需 2.5 秒,而基线模型需要 7 秒,这种速度提升在大规模应用时会变得非常显著。生成 100 万张图片可节省约 18 小时的计算运行时间。

💸 成本比较

使用这些 API 大规模生成图像并不便宜——大多数需要大约 25,000 美元才能生成 100 万张图像。因此,我们也考虑了质量与成本之间的关系。

Cost-cropped.svg

结果呢?FLUX-juiced 始终处于**帕累托前沿**——以**一流的速度**和**一流的价格**提供**一流的质量**。生成 100 万张图像,您可以节省 2 万美元的成本。

🖼️ 并排比较

我们还创建了一个网站,比较了 FLUX-juiced 与基线模型在 600 个提示下的输出。请自行查看

0453_comparison.png

🧃获取您模型的加速版本

使用我们的 Pruna Pro 引擎,我们仅用 10 行代码就创建了 FLUX-juiced。您也可以做到,因为这段代码适用于几乎所有 🤗 Diffusers 流水线。

import torch
from diffusers import FluxPipeline
from pruna_pro import SmashConfig, smash

pipe = FluxPipeline.from_pretrained(
    "black-forest-labs/FLUX.1-dev",
    torch_dtype=torch.bfloat16,
).to("cuda")

smash_config = SmashConfig()
smash_config["compiler"] = "torch_compile"
smash_config["cacher"] = "taylor_auto"
# lightly juiced (0.6), juiced (0.5), extra juiced (0.4)
smash_config["taylor_auto_speed_factor"] = 0.4
smash_token = "<your-token>"
smashed_pipe = smash(
    model=pipe,
    token=smash_token,
    smash_config=smash_config,
)

smashed_pipe("A cute, round, knitted purple prune.").images[0]

⏭️ 接下来是什么?

我们已经发布了Hugging Face 上的公共模型,并计划在 Replicate 等推理提供商上发布更多模型!我们将不仅专注于图像生成,还可能涉足其他模态,实施最新最棒的优化技术!

准备好让您自己的模型跑得更快了吗?

告诉我们您接下来想看到哪些模型被“加速”。如果您正在使用扩散模型进行开发——我们很乐意听取您的意见。

保持活力!我们会的。


社区

注册登录以发表评论