近日,一项名为Flash Diffusion的创新技术引起了人工智能领域的广泛关注。这项由Jasper Research团队开发的技术,旨在解决扩散模型生成图像时步骤繁多、速度缓慢的问题,为快速高质量图像生成开辟了新的可能性。
Flash Diffusion是一种高效、快速且通用的蒸馏方法,可以显著加速预训练扩散模型的图像生成过程。该方法在COCO2014和COCO2017数据集上的少步图像生成任务中,达到了最先进的FID和CLIP-Score性能,同时只需要几个GPU小时的训练和更少的可训练参数。
从上图可以看出,使用仅4步NFE(噪声评估函数)就能生成高质量、多样化的图像,这充分展示了Flash Diffusion的强大能力。
Flash Diffusion的核心思想是训练一个学生模型,使其能在单步内预测教师模型多步去噪的结果。具体来说,该方法包含以下几个关键点:
单步预测: 学生模型被训练成在单一步骤中预测教师模型多步去噪的结果,大大提高了生成效率。
自适应时间步采样: 在训练过程中,从可调整的分布中采样时间步,并在训练过程中进行调整,帮助学生模型更好地针对特定时间步进行优化。
对抗性目标: 引入对抗性目标来训练学生模型,使生成的样本与真实数据分布无法区分。
分布匹配蒸馏损失: 确保生成的样本closely mirror教师模型学习的数据分布。
Flash Diffusion展现出了惊人的通用性,能够适用于多种任务和多种不同的模型架构:
文本到图像生成:
图像编辑任务:
适配器加速:
无需训练的LoRA加速:
这种多样性使得Flash Diffusion能够在各种场景下发挥作用,为不同的应用需求提供解决方案。
让我们来看看Flash Diffusion在不同模型和任务上的表现:
上图展示了使用仅4步NFE生成的图像,质量之高令人惊叹。
同样使用4步NFE,Flash SDXL展现出了强大的文本到图像生成能力。
基于DiT架构的Flash Pixart在4步NFE下也能生成高质量、富有创意的图像。
除了文本到图像生成,Flash Diffusion在图像编辑任务上也表现出色:
图像修复:
图像超分辨率:
人脸替换:
这些结果充分展示了Flash Diffusion在各种图像生成和编辑任务上的卓越性能。
Flash Diffusion的实现并不复杂,研究者们提供了详细的代码和使用说明。以下是一个使用Hugging Face pipeline进行推理的简单示例:
import torch from diffusers import PixArtAlphaPipeline, Transformer2DModel, LCMScheduler from peft import PeftModel # 加载LoRA transformer = Transformer2DModel.from_pretrained( "PixArt-alpha/PixArt-XL-2-1024-MS", subfolder="transformer", torch_dtype=torch.float16 ) transformer = PeftModel.from_pretrained( transformer, "jasperai/flash-pixart" ) # 创建Pipeline pipe = PixArtAlphaPipeline.from_pretrained( "PixArt-alpha/PixArt-XL-2-1024-MS", transformer=transformer, torch_dtype=torch.float16 ) # 设置Scheduler pipe.scheduler = LCMScheduler.from_pretrained( "PixArt-alpha/PixArt-XL-2-1024-MS", subfolder="scheduler", timestep_spacing="trailing", ) pipe.to("cuda") prompt = "A raccoon reading a book in a lush forest." image = pipe(prompt, num_inference_steps=4, guidance_scale=0).images[0]
这个简单的示例展示了如何使用Flash Diffusion加速的PixArt模型来生成图像,只需4步就能完成高质量的图像生成。
Flash Diffusion的出现无疑为扩散模型的应用带来了革命性的变化。它不仅大大提高了图像生成的速度,还保持了高质量的输出,这对于实时应用和资源受限的环境 来说是一个巨大的突破。
未来,我们可以期待看到:
更广泛的应用: Flash Diffusion技术有望被应用到更多的领域,如视频生成、3D建模等。
进一步的优化: 研究者们可能会继续优化这一技术,使其在更少的步骤下实现更高质量的生成。
与其他技术的结合: Flash Diffusion可能会与其他先进的AI技术结合,创造出更加强大和高效的生成模型。
商业化应用: 由于其高效性,Flash Diffusion技术很可能会被快速应用到各种商业产品中,推动AI创意工具的进一步普及。
Flash Diffusion的出现标志着扩散模型进入了一个新的时代。它不仅解决了长期以来困扰研究者的速度问题,还为AI图像生成技术的未来发展指明了方向。随着这项技术的进一步发展和应用,我们有理由相信,更多令人惊叹的AI创新将不断涌现,为我们的生活和工作带来更多可能性。