手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion

这篇具有很好参考价值的文章主要介绍了手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

前言导读

论文介绍 

模型优化

宏观设计

微观设计

实验与应用

移动端基准测试

下游任务测试

生图效果展示

总结


前言导读

        在手机等移动端侧运行 Stable Diffusion 等文生图生成式 AI 大模型已经成为业界追逐的热点之一,其中生成速度是主要的制约因素。

        近日,来自谷歌的一篇论文「MobileDiffusion: Subsecond Text-to-Image Generation on Mobile Devices」,提出了手机端最快文生图,在 iPhone 15 Pro 上只要 0.2 秒。论文出自 UFOGen 同一团队,在打造超小扩散模型的同时, 采用当前大火的 Diffusion GAN 技术路线做采样加速。

手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion,AIGC,深度学习,论文阅读,智能手机,人工智能,StableDiffusion,图像生成,AIGC,深度学习

论文介绍 

手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion,AIGC,深度学习,论文阅读,智能手机,人工智能,StableDiffusion,图像生成,AIGC,深度学习

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

下面是 MobileDiffusion 一步生成的结果。

手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion,AIGC,深度学习,论文阅读,智能手机,人工智能,StableDiffusion,图像生成,AIGC,深度学习

        那么,MobileDiffusion 是如何优化得到的呢?让我们先从问题出发,为什么优化是必须的?

        当下最火的文本到图像生成都是基于扩散模型来实现的。依赖于其预训练模型强大的基本图像生成能力和在下游微调任务上的稳健性质, 我们看到了扩散模型在诸如图像编辑、可控生成、 个性化生成以及视频生成的非凡表现。

        然而作为 Foundation Model, 它的不足也很明显,主要包括了两方面:一是扩散模型的大量参数导致计算速度慢,尤其是在资源有限的情况下;二是扩散模型需要多步才能采样,这进一步导致很慢的推理速度。拿最火的的 Stable Diffusion 1.5 (SD) 为例,其基础模型包含了接近 10 亿参数,我们在 iPhone 15 Pro 上将模型量化后进行推理,50 步采样需要接近 80s。如此昂贵的资源需求和迟滞的用户体验极大的限制了其在移动端的应用场景。

        为了解决以上问题,MobileDiffusion 点对点地进行优化。(1) 针对模型体积庞大的问题,我们主要对其核心组件 UNet 进行了大量试验及优化,包括了将计算昂贵的卷积精简和注意力运算放在了较低的层上,以及针对 Mobile Devices 的操作优化,诸如激活函数等。(2)针对扩散模型需要多步采样的问题, MobileDiffusion 探索并实践了像 Progressive Distillation 和当前最先进的 UFOGen 的一步推理技术

模型优化

        MobileDiffusion 基于当下开源社区里最火的 SD 1.5 UNet 进行优化。在每次的优化操作后, 会同时衡量相对于原始 UNet 模型的性能的损失,测量指标包括 FID 和 CLIP 两个常用 metric。

宏观设计

手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion,AIGC,深度学习,论文阅读,智能手机,人工智能,StableDiffusion,图像生成,AIGC,深度学习

        上图左边是原始 UNet 的设计示意, 可以看出基本包括了 Convolution 和 Transformer,Transformer 又包括了 Self-Attention 和 Cross-Attention。

        MobileDiffusion 对 UNet 优化的核心思路分为两点:

        1)精简 Convolution, 众所周知,在高分辨率的特征空间上进行了 Convolution 是十分耗时的, 而且参数量很大,这里指的是 Full Convolution;

        2)提高 Attention 效率。和 Convolution 一样,高 Attention 需要对整个特征空间的长度进行运算,Self-Attention 复杂度和特征空间展平后长度成平方关系,Cross-Attention 也要和空间长度成正比。

        实验表明将整个 UNet 的 16 个 Transformer 移到特征分辨率最低的内层,同时每一层都剪掉一个卷积,不会对性能有明显影响。达到的效果就是:MobileDiffusion 将原本 22 个 Convolution 和 16 个 Transformer,可以极致地精简到 11 个 Convolution 和 12 个左右 Transformer,并且这些注意力都是在低分辨率特征图上进行的,因为效率会极大提升,带来了 40% 效率提升和 40% 参数剪切,最终模型如上图右图所示。和更多模型的对比如下:

微观设计

手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion,AIGC,深度学习,论文阅读,智能手机,人工智能,StableDiffusion,图像生成,AIGC,深度学习

        这里将只介绍几种新颖的设计,有兴趣的读者可以阅读正文, 会有更详细的介绍。

Decouple Self-Attention and Cross-Attention

        传统 UNet 里 Transformer 同时包含 Self-Attention 和 Cross-Attention,MobileDiffusion 将 Self-Attention 全部放在了最低分辨率特征图,但是保留一个 Cross-Attention 在中间层,发现这种设计既提高了运算效率又保证了模型出图质量

Finetune softmax into relu

        softmax 众所周知在大部分未优化情况下是难以并行的,因此效率很低。MobileDiffusion 提出直接将 softmax 函数 finetune 到 relu,因为 relu 是每一个点的激活,更为高效。令人惊讶的是,只需要大概一万步的微调,模型 metric 反而提升了,出图质量也有保障。因此 relu 相比于 softmax 的优势是很明显的了。

Separable Convolution (可分离卷积)

        MobileDiffuison 精简参数的关键还在采用了 Seprable Convolution。这种技术已经被 MobileNet 等工作证实是极为有效的,特别是移动端,但是一般在生成模型上很少采用。MobileDiffusion 实验发现 Separable Convolution 对减少参数是很有效的,尤其是将其放在 UNet 最内层,模型质量经分析证明是没有损失的。

采样优化

        当下最常采用的采样优化方法包括了 Progressive Distillation 和 UFOGen, 分别可以做到 8 steps 和 1 step。为了证明在模型极致精简后,这些采样依然适用,MobileDiffusion 对两者同时做了实验验证。

        采样优化前后和基准模型的比较如下,可以看出采样优化后的 8 steps 和 1 step 的模型,指标都是比较突出的。

手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion,AIGC,深度学习,论文阅读,智能手机,人工智能,StableDiffusion,图像生成,AIGC,深度学习

实验与应用

移动端基准测试

        MobileDiffusion 在 iPhone 15 Pro 上可以得到当前最快的出图速度,0.2s!

手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion,AIGC,深度学习,论文阅读,智能手机,人工智能,StableDiffusion,图像生成,AIGC,深度学习

下游任务测试

        MobileDiffusion 探索了包括 ControlNet/Plugin 和 LoRA Finetune 的下游任务。从下图可以看出,经过模型和采样优化后,MobileDiffusion 依然保持了优秀的模型微调能力。

手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion,AIGC,深度学习,论文阅读,智能手机,人工智能,StableDiffusion,图像生成,AIGC,深度学习

生图效果展示

手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion,AIGC,深度学习,论文阅读,智能手机,人工智能,StableDiffusion,图像生成,AIGC,深度学习

手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion,AIGC,深度学习,论文阅读,智能手机,人工智能,StableDiffusion,图像生成,AIGC,深度学习

总结

        MobileDiffusion 探索了多种模型和采样优化方法,最终可以实现在移动端的亚秒级出图能力,下游微调应用依然有保障。我们相信这将会对今后高效的扩散模型设计产生影响,并拓展移动端应用实例。

        感谢你看到这里,也欢迎点击关注左下方公众号,一个有趣有AI的AIGC公众号:关注AI、深度学习、计算机视觉、AIGC、Stable Diffusion等相关技术,欢迎一起交流学习~文章来源地址https://www.toymoban.com/news/detail-836643.html

到了这里,关于手机上0.2秒出图、当前速度之最,谷歌打造超快扩散模型MobileDiffusion的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 打造真实感十足的速度表盘:WPF实现动态效果与刻度绘制

      概述: 这个WPF项目通过XAML绘制汽车动态速度表盘,实现了0-300的速度刻度,包括数字、指针,并通过定时器模拟速度变化,展示了动态效果。详细实现包括界面设计、刻度绘制、指针角度计算等,通过C#代码与XAML文件结合完成。 新建 WPF 项目 : 在 Visual Studio 中创建一个新

    2024年03月16日
    浏览(52)
  • 谷歌google bard vs chatgpt给我的最大感受,速度真快,注册简单,多种答案提供。。。

    上一篇写了注册百度和Google,最后还是谷歌的速度战胜了,最终在长达3天的等待中得到了拿到了测试名额。 成功注册bard后,映入眼帘的就是提示下面的话,我做了翻译: As you try Bard, please remember: Bard will not always get it right Bard may give inaccurate or inappropriate responses. When in doubt

    2024年02月10日
    浏览(43)
  • 谷歌aab包手机怎么安装教程

    二、下载与配置 bundletool Github 下载地址:https://github.com/google/bundletool 准备环境 使用bundletool工具需要java环境,建议使用JRE8环境,请自行下载安装,并配置好系统环境变量 下载bundletool.jar包 使用cmd命令将aab文件转换为apks文件 命令格式参考如下: 使用cmd命令安装apks文件到手

    2024年02月05日
    浏览(35)
  • 华为手机安装谷歌软件的方法

    声明: 此文仅做交流学术及为出国用户提供微不足道的帮助用!!! 请遵守我国相关法律法规!!! 华为mate60 pro 鸿蒙版本号:4.0.0 手机中如果使用隐私空间的必须先关闭(安装后也一定不能使用,否则需要重新安装) 关闭系统分身 PS:微信双开无碍,只要不系统分身即可

    2024年02月08日
    浏览(165)
  • 定义行业新标准?谷歌:折叠屏手机可承受20万次折叠

    根据Patreon账户上的消息,Android专家Mishaal Rahman透露,谷歌计划推出新的硬件质量标准,以满足可折叠手机市场的需求。Android原始设备制造商(OEM)将需要完成谷歌提供的问卷调查,并提交样品设备进行严格审查。 更多的折叠次数,更长的使用寿命 谷歌对于折叠手机的要求之

    2024年02月13日
    浏览(55)
  • Android 查看当前手机、APP的ABI架构信息

    命令:adb shell \\\"getprop |grep cpu\\\"  命令:adb shell getprop ro.product.cpu.abi     在 data/system/packages.xml 文件中找到自己 app 的相关配置信息,这里有明确指出该去哪里加载 so 文件,以及 app 所运行的 CPU 架构,所以我们可以运行如下命令: adb pull data/system/packages.xml    可能报错 :  

    2024年02月11日
    浏览(67)
  • Unity Webgl项目判断当前是手机还是电脑运行

    首先:注意了! 该方法需要unitywebgl导出后才能看到效果!!!(特别注意,在unity中运行 会显示 大概意思是 找不到HelloFloat 方法) 首先需要写一个JS的脚本,主要是调用mergeInto();方法,第一个参数不用变,第二个参数就是JS的方法集合。写完之后将这个文件的后缀改为.jslib,名称

    2024年03月13日
    浏览(83)
  • 厉害!我的真我realme手机成功安装谷歌服务框架Google Play商店,安装谷歌三件套,超级简单

    刚到手realme真我X2 Pro手机。马上去到百度搜索下载安装谷歌play商店。我万万没有想到,我这么聪明的人居然被骗了59块钱。我在开始的时候,我尝试自己安装谷歌,但是安装出现了闪退,无法联网等毛病,没办法我只能搜QQ群。群主让我加这个QQ号,声称他可以在我的安卓手机

    2024年02月11日
    浏览(212)
  • microsoft authenticator 华为等手机无谷歌框架使用方法

    很多微软应用都强制要求使用microsoft authenticator。但是诸如华为等无谷歌框架的手机无法安装此应用。这里给出一个解决办法。 : 模拟器 新方法 :使用 谷歌身份验证器 ;把账号信息添加进入谷歌身份验证器(该方法可以在华为鸿蒙系统上正常使用,不受谷歌框架影

    2024年02月13日
    浏览(70)
  • 无线传感器基础:获取手机传感器、加速度

    一些实验过程中的疑问: 如何知道设备上有哪些传感器? 如果手机不支持的传感器,程序运行往往不会抛出异常,只是无法获得传感器传回的数据。那么如何知道设备上有哪些传感器可用呢?有两种方式,一种是直接方式,一种是间接方式。直接方式就是遍历获取得到传感

    2024年02月02日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包