8天狂收6000+⭐️,可商用的开源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论文,如有侵权请联系删除

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

大模型实战营第二期——1. 书生·浦语大模型全链路开源开放体系

文章目录 1. 实战营介绍2. 书生浦语大模型介绍2.1 数据2.2 预训练2.3 微调2.4 评测2.5 部署2.6 智能体(应用) 1. 实战营介绍 github链接:https://github.com/internLM/tutorialInternLM:https://github.com/InternLM书生浦语官网:https://in…

使用Vue3开发学生管理系统模板7 科目信息的实现

字段设计 IDname:课程名称,字符串,最大36字符start_time:开设时间,日期类型teacher_total:该科目老师人数,数字类型master_id:负责人ID,字符串,最大36字符ma…

二、UI文件设计与运行机制

一、UI文件设计与运行机制 1、创建工程 2、添加控件,实现按钮点击 (1)添加控件 (2)添加信号和槽 2、分析项目结构 test_02test_02.pro Qt工程文件Headerswidget.h 设计的窗体类的头文件Sourcesmain.cpp 主程序入…

印象笔记03 衍生软件使用

印象笔记03 衍生软件使用 Verse 以下内容来源于官方介绍 VERSE是一款面向未来的智能化生产力工具,由印象笔记团队诚意推出。 你可以用VERSE: 管理数字内容,让信息有序高效运转;搭建知识体系,构建你的强大知识库&am…

高防ip适合防御网站和游戏类的攻击吗?

​  作为站长,要学会并承受得住网站外来攻击的压力,尤其是所属为 DDoS 攻击高发行业的网站类业务及游戏行业,是很容易被竞争对手或者一些伪黑客爱好者盯上的。 加上,有些站长并没有提前了解,就盲目进军了这两个行业&…

看板表格样式,去掉element表格背景

<div class"ml-20"><el-input v-model.trim"queryParams.wipOrderNo" size"small" clearable style"width:150px" placeholder"请输入工单号" /><el-select class"ml-20" v-model"queryParam…

[数据结构 C++] AVL树的模拟实现

文章目录 1、AVL树1.1 AVL树的概念 2、AVL树节点的定义3、AVL树的插入和旋转3.1 左单旋左旋代码实现 3.2 右单旋右旋代码实现 3.3 右左双旋右左双旋的代码实现 3.4 左右双旋左右双旋的代码实现 3.5 insert接口实现 4、判断是否为AVL树判断AVL树的代码实现 5、AVL树的性能 问题引…

金和OA c6 uploadfileeditorsave接口存在任意文件上传漏洞

产品简介 金和网络是专业信息化服务商&#xff0c;为城市监管部门提供了互联网监管解决方案&#xff0c;为企事业单位提供组织协同OA系统升开发平台&#xff0c;电子政务一体化平台智慧电商平合等服务 漏洞概述 金和-c6 uploadfileeditorsave 任意文件上传&#xff0c;攻击者…

计算机网络(9):无线网络

无线局域网 WLAN 无线局域网常简写为 WLAN (Wireless Local Area Network)。 无线局域网的组成 无线局域网可分为两大类。第一类是有固定基础设施的&#xff0c;第二类是无固定基础设施的。所谓“固定基础设施”是指预先建立起来的、能够覆盖一定地理范围的一批固定基站。 …

6个关键词,回顾网络安全行业的 2023!

话不多说&#xff0c;直接上 01 生成式人工智能 AIGC 热度&#xff1a;⭐️⭐️⭐️⭐️⭐️ AIGC 的发展不仅降低了内容创作的门槛&#xff0c;还为聊天机器人、数字人、元宇宙等领域提供了新的发展机遇。2023 年 8 月&#xff0c;首届人工智能生成内容国际会议在上海落地&…

Paddle3D 2 雷达点云CenterPoint模型训练

2 Paddle3D 雷达点云CenterPoint模型训练–包含KITTI格式数据地址 2.0 数据集 百度DAIR-V2X开源路侧数据转kitti格式。 2.0.1 DAIR-V2X-I\velodyne中pcd格式的数据转为bin格式 参考源码&#xff1a;雷达点云数据.pcd格式转.bin格式 def pcd2bin():import numpy as npimport…

C++面向对象语法总结(三)

目录 《C面向对象语法总结(一&#xff09;》《C面向对象语法总结(二&#xff09;》 二十一、多继承 C允许一个类可以有多个父类&#xff08;不建议使用&#xff0c;会增加程序设计复杂度&#xff09;在多继承中&#xff0c;会按照继承顺序将父类的成员变量放到子类成员变量的…

踩坑Vant组件 Dialog的组件调用

今天踩了一个非常蠢的坑&#xff0c;自己给自己蠢死的坑 在使用组件调用时自己没引入Dialog组件导致一直报错 不知道为什么全局引入不好使&#xff0c;后来使用了局部引用 现在没问题了 就这样局部引入一个Dialog.Component就可以了

CEEMDAN +组合预测模型(Transformer - BiLSTM+ ARIMA)

目录 往期精彩内容&#xff1a; 前言 1 风速数据CEEMDAN分解与可视化 1.1 导入数据 1.2 CEEMDAN分解 2 数据集制作与预处理 3 基于CEEMADN的 Transformer - BiLSTM 模型预测 3.1 定义CEEMDAN-Transformer - BiLSTM预测模型 3.2 设置参数&#xff0c;训练模型 4 基于A…

【日积月累】Java Lambda 表达式

目录 【日积月累】Java Lambda 表达式 1.前言2.语法3.应用场景3.1简化匿名内部类的编写3.1简化匿名内部类的编写3.2简化集合类中的操作3.3实现函数式接口3.4简化多个方法的调用3.5简化异步编程 4.总结5.参考 文章所属专区 日积月累 1.前言 Lambda表达式是一个匿名函数&#…

数据库索引、三范式、事务

索引 索引&#xff08;Index&#xff09;是帮助 MySQL 高效获取数据的数据结构。常见的查询算法,顺序查找,二分查找,二叉排序树查找,哈希散列法,分块查找,平衡多路搜索树 B 树&#xff08;B-tree&#xff09;。 常见索引原则有 选择唯一性索引&#xff1a;唯一性索引的值是唯…

爬虫入门与urllibrequests

前情摘要 一、web请求全过程剖析 我们浏览器在输入完网址到我们看到网页的整体内容, 这个过程中究竟发生了些什么? 我们看一下一个浏览器请求的全过程 接下来就是一个比较重要的事情了. 所有的数据都在页面源代码里么? 非也~ 这里要介绍一个新的概念 那就是页面渲染数据的…

[C#]使用onnxruntime部署Detic检测2万1千种类别的物体

【源码地址】 github地址&#xff1a;https://github.com/facebookresearch/Detic/tree/main 【算法介绍】 Detic论文&#xff1a;https://arxiv.org/abs/2201.02605v3 项目源码&#xff1a;https://github.com/facebookresearch/Detic 在Detic论文中&#xff0c;Detic提到…

基于Java SSM框架实现中国古诗词学习平台项目【项目源码】

基于java的SSM框架实现中国古诗词学习平台系统演示 JSP技术介绍 JSP技术本身是一种脚本语言&#xff0c;但它的功能是十分强大的&#xff0c;因为它可以使用所有的JAVA类。当它与JavaBeans 类进行结合时&#xff0c;它可以使显示逻辑和内容分开&#xff0c;这就极大的方便了用…

Docker中的核心概念

1.镜像 Image 一个镜像就代表一个软件。mysql镜像、redis镜像、mq镜像 2.容器 Container 一个镜像运行一次就会生成一个容器&#xff0c;容器就是一个运行的软件服务。 3.远程仓库 Repository 远程仓库用来存储所有软件的镜像&#xff0c;Docker Hub 4.本地仓库 用来存储…