小米也发布了一个大幅增强SD图片生成速度的项目SDXS,可以在单个GPU 上实现SD1.5每秒100张图的生成速度,SDXL每秒30张图。
推测是为了在小米的本地设备上运行SD模型而研究的。比如博主本人之前参与研发的小米手机相册的AI写真功能。
![](./source/plugin/wq_wechatcollecting/static/images/wq_dian.jpg)
以及昨天发布的小米汽车也展示了相关的文生图功能。
![](./source/plugin/wq_wechatcollecting/static/images/wq_dian.jpg)
相关链接
项目地址:https://github.com/IDKiro/sdxs
论文地址:https://arxiv.org/abs/2403.16627
模型地址:https://huggingface.co/IDKiro/sdxs-512-0.9
论文阅读
具有图像条件的实时一步潜伏扩散模型
摘要
最近扩散模型的发展使它们处于图像生成的前沿。尽管扩散模型性能优越,但并非没有缺点;
它们具有复杂的架构和大量的计算需求,由于其迭代采样过程而导致显著的延迟。为了降低这些限制,我们引入了一种涉及模型小型化和减少采样步骤的双重方法,目的是显著降低模型延迟时间。
我们的方法利用知识蒸馏来简化U-NET和图像解码器的架构,并引入了一种创新的一步管理培训技术,利用特征匹配和评分蒸馏。
我们提出了两个模型,即SDX-512和SDX-1024,实现了大约 100 FPS (30x faster than SD v1.5) and 30 FPS (60x比sdxl快),分别在单个的GPU上。
此外,我们的培训方法在图像条件控制中提供了有前途的应用,促进了有效的图像转换。
概述
假设图像生成时间限于1秒,sdxl只能使用16个nfes来产生轻微模糊的图像,而sdxS-1024可以产生30个清晰的图像。除此之外,我们提出的方法也可以训练控制网。
![](./source/plugin/wq_wechatcollecting/static/images/wq_dian.jpg)
![](./source/plugin/wq_wechatcollecting/static/images/wq_dian.jpg)
![](./source/plugin/wq_wechatcollecting/static/images/wq_dian.jpg)
![](./source/plugin/wq_wechatcollecting/static/images/wq_dian.jpg)
方法
模型加速度
SDXS训练了一个极轻的图像解码器,通过输出精馏损失和甘氏损失的组合来模拟原始的VAR解码器的输出。还利用块清除蒸馏战略,有效地将知识从原来的U网络转移到更紧凑的版本。
SDXS显示的效率远远超过了基本模型,甚至在GPAR上的512x512图像和1024图像上的100FPS的图像生成。
![](./source/plugin/wq_wechatcollecting/static/images/wq_dian.jpg)
![](./source/plugin/wq_wechatcollecting/static/images/wq_dian.jpg)
文本到图像
为了减少NFES,我们建议通过用特征匹配损失代替蒸馏损失函数,来修正采样轨迹,快速地将多步骤模型调整为一步模型。然后,我们扩展了扩散训练策略,利用所提出的特征匹配损失的梯度来取代后半段分选精练提供的梯度。
尽管模型的规模和所需取样步骤的数目都明显缩小,但SDX-512的快速跟踪能力仍高于SDV1.5。这一观察在SDX-1024的性能中得到了一致验证。
![](./source/plugin/wq_wechatcollecting/static/images/wq_dian.jpg)
图像对图像
我们将我们提出的训练策略扩展到控制网的训练,依靠增加预先训练的控制网的得分功能。
我们展示了它在利用控制网促进图像转换方面的有效性,特别是在涉及到精明边缘和深度地图的转换方面。
![](./source/plugin/wq_wechatcollecting/static/images/wq_dian.jpg)