一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源
实时交互图像生成「一站式」解决方案
西风 发自 凹非寺
量子位 | 公众号 QbitAI
单RTX4090,每秒生成100张图!
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/b5e1d96457b95cab527683877c2ace71.gif)
一种专为实时交互式图像生成而设计的一站式解决方案,登顶GitHub热榜。
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/bfd939087da7d46555087edad849844c.gif)
方案名为StreamDiffusion,支持多种模型和输出帧率。
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/9aabbbe806e973fe557df0f0de37e15e.gif)
无论是图像到图像,还是文本到图像,都能实时生成:
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/5a088325629516be2bfb7c2ade11a3f4.gif)
重点是,该项目现已开源,在GitHub热榜已狂揽3400+星。
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/f01e6a6f5a5258a34b420a54539f54b0.png)
经测试,使用SD-turbo模型在去噪步骤为1步的情况下,文本-图像每秒帧率可达106,图像-图像每秒帧率达到93。
CM-LoRA+KohakuV2模型在4步的情况下,文本-图像每秒帧率为38,图像-图像每秒帧率为37。
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/375e9aa0e841676b880f994db4fc6e78.png)
除了高吞吐量、低延迟,StreamDiffusion还做到了低功耗。单块RTX3060上,可降低58.2%的功耗;单块RTX4090,降低49.8%。
网友们也是玩嗨了,纷纷上手尝试:
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/b90c0f4aba708444b962f48cfa395454.gif)
浅浅留下一个字:
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/0fd6dbdcea36d3a377c3b88a49348ff8.jpeg)
StreamDiffusion长啥样?
StreamDiffusion由来自UC伯克利、筑波大学等的研究人员联合提出。
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/736384e09ffab196d470562898353296.png)
StreamDiffusion Pipeline包含六大组件:Stream Batch、残差无分类器指导(RCFG)、输入/输出队列、随机相似性过滤器、KV-Caches预计算、带有小型自动编码器的模型加速工具。
首先Stream Batch,是将原来顺序的去噪步骤改为批量化处理。允许在一个批处理中,每幅图像处于去噪流程的不同阶段。
如此一来,可以大大减少UNet推理次数,显著提高吞吐量。
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/1ea6517ceae57873c06cad0c15e36d2c.png)
此外,原先的CFG算法中,需要额外大量计算负样本,导致计算效率低下。
RCFG方法则构建一个“虚拟残差噪声”,这样就只需要一次或者零次负样本计算,减少了计算负样本的开销。
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/a0e506499fe73615ee420cb8379c5092.png)
相比之前的CFG方法加速了2倍。
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/2033e29b4b689d8a7d35ac7799fedfd8.png)
而输入/输出队列主要是利用队列存储缓冲输入和输出,将图像数据预处理等操作与UNet主体网络分隔开,实现管道各个处理环节的并行化,防止处理速度不匹配的情况发生。
随机相似性过滤器,可以基于图像相似性跳过一些UNet处理,减少不必要的计算量,降低功耗:
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/9d5fa7305005f03e6d3570717000e872.gif)
预计算则是提前缓存一些静态量,如提示嵌入、噪声样本等,减少每次生成的重复计算。
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/f56f222e8fe7f6b710906526f6fbe9b8.png)
最后,使用TensorRT、Tiny AutoEncoder等加速模块,对模型进行优化,进一步提升推理速度。
![一秒100张实时生成二次元老婆照!高吞吐低延迟低功耗|登顶GitHub热榜、已开源](/wp-content/uploads/replace/b37831d7ff7518297e4bc1836fbeba69.png)
在测试阶段,研究人员使用SD-turbo、512×512分辨率、批处理大小为1,进行文本到图像的生成。
结果,使用StreamDiffusion可以在10毫秒内生成一张图像,也就是一秒100多张图。
参考链接:https://github.com/cumulo-autumn/StreamDiffusion
- CPU、GPU的互连从1米飙至100米,英特尔:你相信光吗?2024-07-27
- Nature封面:AI训AI,越训越傻2024-07-27
- 打乱/跳过Transformer层会怎样?最新研究揭开其信息流动机制,一口气解答8大问题2024-07-26
- 谷歌AI拿下IMO银牌,仅差一分得金!第四题仅用时19秒2024-07-26