StreamDiffusion:实时互动生成图像的管道级解决方案

RayRay
StreamDiffusion流批处理无残差分类器指导随机相似性过滤器RCFG热门

项目简介

StreamDiffusion 是一种新型实时扩散管道,用于交互式图像生成,能够改善直播流和类似场景的性能。它用更快的批处理过程替代了传统的顺序去噪,引入了并行输入输出队列以实现更平稳的操作。该管道还采用了一种新颖的残差无分类引导方法,减少了去噪步骤并提高了速度。此外,它还集成了一种随机相似性滤波器,以提高功率效率。

总体来说,StreamDiffusion 实现了高达 1.5 倍的处理速度加快,以及在采用 RCFG(残差无分类引导)情况下高达 2.05 倍的速度提升,在 RTX4090 GPU 上可达到 91.07fps。它还显著降低了能源消耗,使其成为实时图像生成的更高效解决方案。

项目简介图片

主要特征

  1. 流批处理 通过高效的批处理操作简化数据处理。

  2. 无残差分类器指导 改进的引导机制可最大限度地减少计算冗余。

  3. 随机相似性过滤器 通过先进的过滤技术提高GPU利用效率。

  4. IO队列 有效管理输入和输出操作,以实现更顺畅的执行。

  5. KV-Cache 的预计算 优化缓存策略以加速处理。

  6. 模型加速工具 利用各种工具进行模型优化和性能提升。

StreamDiffusion 管道

流批处理的概念。在这个方法中,不会等待单个图像完全去噪后再处理下一个输入图像,而是在每个去噪步骤后接受下一个输入图像。这样就创建了一个去噪批次,其中每个图像的去噪步骤是交错的。通过将这些交错的去噪步骤串联成一个批次,我们可以利用 U-Net 进行批处理,有效地处理连续输入。在时间步长 t 编码的输入图像在时间步长 t + n 生成并解码,其中 n 是去噪步骤的数量。

StreamDiffusion 管道图片

批量处理去噪步骤

虚拟残差噪声向量:橙色向量表示从 PF ODE 轨迹出发并指向原始输入潜变量 Xo 的虚拟残差噪声。

传统扩散模型依赖于顺序去噪步骤,每增加一步,处理时间线性增加,特别是在 U-Net 框架中。然而,更高保真度的图像需要更多的去噪步骤,导致更高的延迟。

Stream Batch 通过将顺序去噪重构为批处理过程来解决这个问题。每个批次对应一定数量的去噪步骤,允许批次中的每个元素在单次 U-Net 传递中完成去噪序列中的一步。这种方法以更流畅的方式将特定时间步长的输入图像转换为未来时间步长的图像到图像结果。

这种方法显著减少了对多次 U-Net 推理的需求,并避免了处理时间随步骤数线性增加的问题。关键的权衡从处理时间与生成质量转变为 VRAM 容量与生成质量。有足够的 VRAM,可以在单个 U-Net 处理周期内生成高质量图像,有效缓解了由增加去噪步骤引起的延迟问题。

批量处理去噪步骤图片

残差无分类引导(RCFG)

传统的无分类引导(CFG)通过调整条件项的影响来改善图像生成,但它需要对每次推理进行多次计算成本高昂的 U-Net 模型传递。RCFG 通过引入虚拟残差噪声的概念来解决这个问题,该噪声用于从生成过程中的给定点预测原始输入图像的潜在表示。这种方法允许有效的图像生成,根据引导比例偏离原始图像,无需额外的 U-Net 计算。这个过程被称为自负面 RCFG。

此外,RCFG 还可以用于偏离任何负面条件,只需在第一步去噪时计算一次负面条件的残差噪声,并在整个过程中使用这种噪声(一次性负面 RCFG)。这种方法显著减少了计算负担,与传统 CFG 所需的 2n 次计算相比,自负面和一次性负面 RCFG 分别只需要 n 或 n+1 次 U-Net 计算。这使 RCFG 在保持或提升生成图像的质量的同时,更加高效。

输入输出队列

输入输出队列图片

输入输出队列:将输入图像转换为管道可以管理的张量数据格式的过程,反之亦然,将解码的张量转换回输出图像需要额外的处理时间,并非微不足道。为了避免将这些图像处理时间添加到瓶颈过程,即神经网络推理过程中,我们将图像预处理和后处理分离到不同的线程中,允许并行处理。此外,通过使用输入张量队列,我们可以应对由于设备故障或通信错误而导致的输入图像暂时中断,从而实现平稳流媒体。

高速图像生成系统通过将不需要神经网络处理的任务(如图像的预处理和后处理)转移到主管道之外并行处理来进行优化。输入图像经过缩放、张量转换和标准化等操作。为了协调人类输入和模型吞吐量的不同处理速度,作者实现了一个输入输出队列系统。这些队列处理扩散模型的输入张量,然后通过 VAE 编码器进行图像生成。VAE 解码器的输出张量进入输出队列进行后处理和格式转换,然后发送到渲染客户端。这种策略提高了系统效率,加快了图像生成速度。

模型加速和微型自动编码器

模型加速和微型自动编码器图片

GPU 使用率对比(静态场景下)。(GPU:RTX3060,帧数:20)蓝线代表开启随机相似性滤波(SSF)时的 GPU 使用率,橘黄线表示未使用 SSF 时的 GPU 使用率,红线表示基于输入帧间余弦相似度计算的跳过概率。此外,图表顶部显示了与相同时间戳对应的输入图像。在这种情况下,输入图像中的角色仅在眨眼。因此,这项分析比较了静态场景下的 GPU 使用率。

U-Net 和 VAE 引擎是使用 TensorRT 构建的。为了进一步优化速度,作者使用了静态批次大小和固定输入尺寸,这优化了针对特定输入大小的计算图和内存分配,从而实现了更快的处理时间。然而,这种方法的灵活性较低,需要进行批次大小和输入大小的静态调整。

结论

通过在扩散模型的基础上引入 Stream Batch、RCFG 和 SSF 等技术,StreamDiffusion 管道实现了显著的性能提升。实验结果表明,与传统 CFG 相比,RCFG 使处理速度提高了 1.5 倍。StreamDiffusion 在处理相同图像数量时,在 RTX4090 上实现了 91.07fps 的速度,能源效率也得到了显著提升。尽管该管道需要更多的 VRAM,但它的整体性能提升和能效优化使其成为实时图像生成领域的创新解决方案。

编辑推荐精选

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
TRAE编程

TRAE编程

AI辅助编程,代码自动修复

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
商汤小浣熊

商汤小浣熊

最强AI数据分析助手

小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。

imini AI

imini AI

像人一样思考的AI智能体

imini 是一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。

Keevx

Keevx

AI数字人视频创作平台

Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。

即梦AI

即梦AI

一站式AI创作平台

提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作

扣子-AI办公

扣子-AI办公

AI办公助手,复杂任务高效处理

AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!

蛙蛙写作

蛙蛙写作

AI小说写作助手,一站式润色、改写、扩写

蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。

AI辅助写作AI工具蛙蛙写作AI写作工具学术助手办公助手营销助手AI助手
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

下拉加载更多