8天狂收6100颗星,可商用!东京工业、麻省理工等开源Stream Diffusion

加州大学伯克利分校、东洋大学、东京工业大学、麻省理工学院和筑波大学等研究人员,联合开源了一款创新性实时交互图像生成框架——Stream Diffusion。

Stream Diffusion的技术创新点在于,将传统的顺序去噪变成流批处理去噪,消除了漫长的等待、交互生成方式,实现了流畅且吞吐量超高的图像生成方法

同时引入了“残差无分类器指导”方法,进一步提升了流批处理的效率和图像质量。

根据Stream Diffusion在Github上的项目提交历史记录显示,仅用了8天的时间就收到6100颗星成为霸榜开源产品,其性能和欢迎程度可见一斑。允许开发者商用。

开源地址:https://github.com/cumulo-autumn/StreamDiffusion

论文地址:https://arxiv.org/abs/2312.12491

Demo展示:https://github.com/cumulo-autumn/StreamDiffusion/blob/main/assets/demo_03.gif

图片

目前,扩散模型在图像生成方面获得了广泛应用并成功实现商业化落地,例如,该领域的标杆产品Midjourney。

但在实时交互方面表现不佳需要漫长的等待,尤其是涉及连续输入的场景中尤为明显。

为了解决这些难题,研究人员设计了一种新颖的输出、输入方法,就是将原始的顺序去噪转化为批处理去噪过程。

简单来说,Stream Diffusion相当于大模型领域的机械化流水作业,将单一、繁琐的去噪、推理流程改成批量处理。

流批式去噪方法

流批式去噪是Stream Diffusion的核心功能之一,也是实现实时交互的关键所在。

传统的交互式扩散模型都是顺序执行:一次输入一张图片,走完全部的去噪步骤后,再输出一张结果图像。然后不断重复这个过程,生成完成更多的图像处理。

这样就造成一个很大的问题速度和质量难以同时得到保证。为了生成高质量的图像,需要设置较多的去噪步骤,导致生成图像的效率较慢,无法做到“鱼与熊掌”兼得。

流批式去噪的核心思想是:当输入第一张图像开始去噪步时,不必等待它完成,就可以接收第二张图像,以实现批量方式处理。

这样,U-Net只需要不断调用,处理一个批量的特征,就可以高效实现图像生成流水线的批量推进。

图片

此外,流批式去噪方法的好处在于,每次调用U-Net就可以使多个图像同时推进一步,而U-Net的批量运算非常适合GPU并行计算,所以整体运算效率非常高。

最终可以在保证质量的同时,显著缩短单张图像的生成时间。

残差无分类器指导

为了强化提示条件对结果的影响,扩散模型通常使用一种叫“无分类器指导”的策略。

在传统方法中,计算负条件向量时需要对每个输入潜向量配对负条件嵌入,每次推理都要调用U-Net算力消耗巨大。

为了解决这个问题,研究人员提出了“残差无分类器指导”方法。其核心方法是,假定存在一个“虚拟残差噪声”向量,用来逼近负条件向量

图片

首先计算“正条件”向量,再用正条件向量反推这个虚拟负条件向量。这样就避免了每次都要额外调用U-Net来计算真实的负条件向量,从而大幅减少了算力。

简单来说,就是用原始的输入图像编码作为负样本,无需调用U-Net就可以计算。稍微复杂一点的“一次负条件”,是在第一步使用U-Net计算一次负向量,然后重复使用这个向量近似后面的所有负向量。

流水线作业

该模块的功能是使整个系统的瓶颈不再是数据格式的转换,而是基于模型本身的推理时间。

通常,输入的图片需要缩放、转换格式等预处理才能成为模型可用的张量;输出的张量也需要后处理恢复为图片格式,整个流程消耗大量时间和算力。

图片

流水线作业将预/后处理与模型推理完全分离开来,置于不同的线程中并行执行。输入图像经过预处理进入输入队列缓存;

输出张量从输出队列发出,再后处理为图片。这样两者就可以不互相等待,从而优化了整体流程速度。

图片

此外,该方法还起到平滑数据流的作用。当输入源故障或通信错误导致暂时没法传入新图像时,队列可以继续提供之前缓存的图像,保证模型的流畅运行。

随机相似度过滤

该模块的功能是显著减少GPU算力消耗。当输入的图片连续相同或高度相似时,反复推理是没有任何意义的。

所以,相似度过滤模块计算输入图片与历史参考帧的相似度。如果高于设定阈值,则以一定概率跳过后续的模型推理;

如果低于阈值,则正常进行模型推理并更新参考帧。这种概率采样机制使得过滤策略可以平滑自然地对系统进行节流,降低平均GPU使用率。

图片

在静态输入下过滤效果明显,动态变化大时自动降低过滤率,系统可以自适应场景动态性。

这样,复杂度动态变化的连续流输入下也可以自动调节系统推理负载,节约GPU算力消耗。

实验数据

为了测试Stream Diffusion的性能,研究人员在RTX3060、RTX4090上进行了测试。

效率方面,实现了超过91 FPS的生成帧率,是当前最先进的AutoPipeline的近60倍,并极大减少去噪步骤。

功耗方面,静态输入下,RTX3060和RTX4090的平均功率分别降低了2.39倍和1.99倍。

本文素材来源Stream Diffusion论文,如有侵权请联系删除

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/584397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue项目hdr格式文件放在assets下rgbeloader.load获取不到问题解决

如下图 我再App.vue组件中这样写 艾特符号定位 告诉系统 要src下的assets下的xhdr下的xidis.hdr 但是运行项目 他会告诉你找不到这个资源 我们改一下 我们组件时 App.vue 与assets同在 src目录下 用 ./去找 这样也是找不到的 我们需要将它放在静态资源包public下 public路…

CDSP考取的价值:成为数据安全认证专家的好处

哈喽IT的朋友们👋,今天想和大家聊聊一个超级有用的专业认证:CDSP,也就是数据安全认证专家。如果你在数据安全领域或者对这方面感兴趣,这个认证绝对值得你去考取哦! 1.🎓提升专业性:获…

MCEWMDRMNDBootstrap.dll文件丢失,软件游戏无法启动,怎样下载修复

不少小伙伴反馈,在打开某些游戏或软件的时候,Windows会提示“MCEWMDRMNDBootstrap.dll文件丢失,软件无法启动”,不知道应该怎样办? 首先,我们先来了解“MCEWMDRMNDBootstrap.dll文件”是什么? …

单片机开发从小工到专家

有道无术,术尚可求;有术无道,止于术 背景 向单片机嵌入式开发小伙伴推荐了几本书,阅读量破10 1. 适用范围 2. 书籍推荐 书籍推荐 3. 大师介绍 大师介绍 4. 大师书籍编写逻辑 25年大师出版的关于:嵌入式单片…

wireshark access/trunk/hybrid报文分析

1,access接口 发送带vlan的报文 wireshark交换机配置 [Huawei-GigabitEthernet0/0/1] [Huawei-GigabitEthernet0/0/1]port link-type access [Huawei-GigabitEthernet0/0/1]port default vlan 100 [Huawei-GigabitEthernet0/0/2]port link-type access [Huawei-Gig…

Dockerfile - 基于 SpringBoot 项目自定义镜像(项目上线全过程)

目录 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 1.2、打包项目(jar) 1.3、编写 Dockerfile 文件,构建镜像 1.4、运行镜像并测试 一、Dockerfile 自定义项目镜像 1.1、创建 SpringBoot 项目并编写 a)简…

SonarQube安装踩坑记录

如果用java1.8和mysql,则SonarQube版本不能超过7.8,看这里。 SonarQube7.8安装包地址: https://binaries.sonarsource.com/Distribution/sonarqube/sonarqube-7.8.zip 安装步骤: 1、下载SonarQube安装包 wget https://binari…

几代WiFi有什么差异,它们有什么区别

最典型的差异指标:单流传输速率 第一代 基于的标准: 802.11 使用频率:2.4GHz 单流最大传输速率:2Mbit/s 第二代 基于的标准: 802.11b 使用频率:2.4GHz 单流最大传输速率:11Mbit/s 第三代 …

Anolis安装Jdk保姆级教学

前言 欢迎来到本博客,我们将带领你完成在Anolis操作系统上安装Java Development Kit(JDK)的详细过程。Anolis操作系统是一款基于Linux的轻量级操作系统,专为容器和云原生应用而设计。在Anolis上安装JDK将为你提供一个稳定、高效的…

洛谷:集合与前缀和

1.亲戚(并查集) #include<iostream> using namespace std; int n,m,p; int m1,m2,p1,p2; int f[5005];int find(int x)//查询根节点&#xff0c;根节点的标志是根节点的父节点是自己 {if(f[x]!x)f[x]find(f[x]);//路径压缩&#xff0c;父节点变为根节点,方便下次询问retu…

Python 简易图形界面库easygui 对话框大全(续)

目录 EasyGUI库 主要特点 使用场景 对话框样式 10. 文件打开框 fileopenbox 11. 文件保存框 filesavebox 12. 目录打开框 diropenbox 13. 索引对话框 indexbox 14. 例外报告框 exceptionbox 15. 代码文本框 codebox 16. 密码输入框 passwordbox 17. 多重文本框 mul…

MySql数据库(3)——DML

一、DML DML&#xff08;Data Manipulation Language&#xff09;数据操作语言&#xff0c;常用语句&#xff1a; insert&#xff1a;输入delete&#xff1a;删除update&#xff1a;修改 插入数据 方式一&#xff1a;insert into 表名 &#xff08;列1&#xff0c;列2……&a…

jmeter之beanshell使用:常用变量汇总

1.变量--日期 使用场景&#xff1a;当入参日期是变量&#xff0c;取当前日期 使用如下&#xff1a; &#xff08;1&#xff09;当前日期 import java.text.SimpleDateFormat; import java.util.Date;// 创建 SimpleDateFormat 对象并指定日期格式 SimpleDateFormat dateFor…

价格成谜,小米汽车到底要卖给谁?

文&#xff5c;刘俊宏 编&#xff5c;王一粟 “不要再讲9.9万了&#xff0c;不可能的&#xff0c;也不要再讲14.9万&#xff0c;小米SU7是有理由的贵”&#xff0c;小米集团创始人、董事长雷军在12月28日的小米汽车技术发布会上&#xff0c;把价格作为最大的悬念留给了市场。…

【Python排序算法系列】—— 选择排序

​ &#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 &#x1f4ab;个人格言:"没有罗马,那就自己创造罗马~" 目录 选择排序 过程演示&#xff1a; 选择排序实现代码&#xff1a; 分析选择排序&#xff1a…

Grafana无法发送告警消息的飞书webhook(机器人)

1.问题描述 Grafana无法向飞书机器人发送报警消息&#xff0c;实测使用Grafana自带的webhook也不好使&#xff0c;对于用飞书办公的程序猿非常不便&#xff0c;后来发现一个报警神器&#xff0c;开源免费&#xff0c;关键是好用 PrometheusAlert 2.PrometheusAlert安装 Prom…

【办公软件】Excel双坐标轴图表

在工作中整理测试数据&#xff0c;往往需要一个图表展示两个差异较大的指标。比如共有三个数据&#xff0c;其中两个是要进行对比的温度值&#xff0c;另一个指标是两个温度的差值&#xff0c;这个差值可能很小。 举个实际的例子&#xff1a;数据如下所示&#xff0c;NTC检测温…

openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码

文章目录 openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码178.1 前提条件178.2 操作步骤 openGauss学习笔记-178 openGauss 数据库运维-逻辑复制-逻辑解码-使用SQL函数接口进行逻辑解码 openGauss可以通过调用SQL函数&#xff0c;…

医院绩效考核系统源码,java源码,商业级医院绩效核算系统源码

医院绩效定义&#xff1a; “医院工作量绩效方案”是一套以工作量&#xff08;RBRVS&#xff0c;相对价值比率&#xff09;为核算基础&#xff0c;以工作岗位、技术含量、风险程度、服务数量等业绩为主要依据&#xff0c;以工作效率和效益、工作质量、患者满意度等指标为综合考…

WPF 漂亮长方体、正文体简单实现方法 Path实现长方体 正方体方案 WPF快速实现长方体、正方体的方法源代码

这段XAML代码在WPF中实现了一个类似长方体视觉效果的图形 声明式绘制&#xff1a;通过Path、PathGeometry和PathFigure等元素组合&#xff0c;能够以声明方式精确描述长方体每个面的位置和形状&#xff0c;无需编写复杂的绘图逻辑&#xff0c;清晰直观。 层次结构与ZIndex控制…