速度惊人!手机跑Stable Diffusion,12秒出图,谷歌加速扩散模型破记录
新智元报道
新智元报道
【新智元导读】手机12秒一键生图?谷歌最新研究做到了。
手机生图只要12秒?
这不是吹的,谷歌就给实现了。
最新研究中,谷歌研究人员对4个GPU分层优化,在三星手机上成功运行Stable Diffusion 1.4。
实现了11.5秒生成图像,重要的是,内存使用量也大幅减少。
正所谓,Speed Is All You Need!
论文地址:https://arxiv.org/abs/2304.11267
谷歌最新提出的方法是通用的,可以对所有扩散模型的改进,并非仅针对特定设备实现的。
通过实验结果发现,三星S23 Ultra和iPhone 14 Pro的整体图像生成时间分别减少了52%和33%。
这意味着,一部手机装下一个生成式AI模型的未来更近了。
从3080到一部手机
当前,将大型扩散模型合并到任何APP中的一个关键考虑因素是,模型将在何处执行选择。
在一个消费级设备上部署模型的好处是,较低的服务成本、改善扩展性、还可以离线,并且能改善用户隐私。
22年,Stable Diffusion刚刚发布的第一个版本,最初只能缓慢运行在RTX 3080上。
Stable Diffusion有超过10亿的参数,DALL-E是120亿,以后随着扩散模型的发展,参数量会逐渐增加。
由于设备计算和内存资源的限制,因此在运行时带来了诸多挑战。
在没有精心设计情况下,在设备上运行这些模型可能会导致,由于迭代去噪过程和过多的内存消耗,输出内容延迟就会增加。
此前,也有研究实现了将Stable Diffusion成功部署到设备上,但仅局限于特定的设备或芯片组。
对此,谷歌研究人员对大型扩散模型提供了一系列实现优化,这些模型在配备 GPU 的移动设备上实现了迄今为止报道的最快推理延迟。
在不使用INT8量化的情况下,对于一张512x512的图片进行20次迭代,Stable Diffusion 1.4的推理延迟低于12秒。
具体是如何实现的呢?
GPU感知优化
在论文中,研究人员侧重的是使用大型扩散模型,然后完成从文本描述生成图像的任务。
虽说论文中,部分讨论是研究者为Stable Diffusion特定结构所提出的优化建议,但这些优化可以很容易推广到其它大型扩散模型上。
研究人员表示,当用文本提示进行推理时,这个过程包含根据所需的文本描述,应用额外条件来指导反向扩散。
具体来说,Stable Diffusion的主要组成部分包括:文本嵌入器(Text Embedder)、噪声生成(Noise Generation)、去噪神经网络(Denoising Neural Network,aka UNet),以及图像解码器(Image Decoder)。
如下图所示:
Stable Diffusion中主要组件及其相互作用的示意图
下面,我们分别介绍一下这几个组成部分,各部分间的关系参照图。
· 文本嵌入器:
利用CLIP模型对文本提示y进行编码,生成一个高维嵌入向量τθ(y),将文本提示的语义封装进去。该嵌入被当作去噪神经网络的输入,为逆向扩散的过程提供指示。
· 噪声生成:
给潜在空间提供随机噪声z,该噪声作为逆向扩散过程的起始点。
· 去噪神经网络:
该网络被设计为近似p(z|y)形式的条件分布,利用条件去噪自动编码器θ(zt, t, τθ(y))(denoising autoencoder)。每次迭代t采用UNet架构。
同时,交叉注意机制(cross-attention mechanism)被用来操作潜在空间和文本嵌入向量,在迭代过程中预测z的去噪版本。
· 图像解码器:
12秒,业界领先
https://arxiv.org/abs/2304.11267
https://www.reddit.com/r/MachineLearning/comments/12zclus/d_google_researchers_achieve_performance/
微信扫码关注该文公众号作者