谷歌优化扩散模型!在三星手机上运行Stable Diffusion,12秒内出图!

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—>【扩散模型】微信技术交流群

转载自:机器之心 | 编辑:陈萍、小舟

Speed Is All You Need:谷歌提出针对 Stable Diffusion 一些优化建议,生成图片速度快速提升。

Stable Diffusion 在图像生成领域的知名度不亚于对话大模型中的 ChatGPT。其能够在几十秒内为任何给定的输入文本创建逼真图像。由于 Stable Diffusion 的参数量超过 10 亿,并且由于设备上的计算和内存资源有限,因而这种模型主要运行在云端。

在没有精心设计和实施的情况下,在设备上运行这些模型可能会导致延迟增加,这是由于迭代降噪过程和内存消耗过多造成的。

如何在设备端运行 Stable Diffusion 引起了大家的研究兴趣,此前,有研究者开发了一个应用程序,该应用在 iPhone 14 Pro 上使用 Stable Diffusion 生成图片仅需一分钟,使用大约 2GiB 的应用内存。

此前苹果也对此做了一些优化,他们在 iPhone、iPad、Mac 等设备上,半分钟就能生成一张分辨率 512x512 的图像。高通紧随其后,在安卓手机端运行 Stable Diffusion v1.5 ,不到 15 秒生成分辨率 512x512 的图像。

近日,谷歌发表的一篇论文中《 Speed Is All You Need: On-Device Acceleration of Large Diffusion Models via GPU-Aware Optimizations 》,他们实现了在 GPU 驱动的设备上运行 Stable Diffusion 1.4 ,达到 SOTA 推理延迟性能(在三星 S23 Ultra 上,通过 20 次迭代生成 512 × 512 的图像仅需 11.5 秒)。此外,该研究不是只针对一种设备;相反,它是一种通用方法,适用于改进所有潜在扩散模型。

在没有数据连接或云服务器的情况下,这项研究为在手机上本地运行生成 AI 开辟了许多可能性。Stable Diffusion 去年秋天才发布,今天已经可以塞进设备运行,可见这个领域发展速度有多快。

680ed5910d1ce6b307d480fb38e06ee6.png

Speed Is All You Need: On-Device Acceleration of Large Diffusion Models via GPU-Aware Optimizations

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

为了达到这一生成速度,谷歌提出了一些优化建议,下面我们看看谷歌是如何优化的。

方法介绍

该研究旨在提出优化方法来提高大型扩散模型文生图的速度,其中针对 Stable Diffusion 提出一些优化建议,这些优化建议也适用于其他大型扩散模型。

首先来看一下 Stable Diffusion 的主要组成部分,包括:文本嵌入器(text embedder)、噪声生成(noise generation)、去噪神经网络(denoising neural network)和图像解码器(image decoder,如下图 1 所示。

ff61abaabb9180f704135d6d5ae881de.png

然后我们具体看一下该研究提出的三种优化方法。

专用内核:Group Norm 和 GELU

组归一化(GN)方法的工作原理是将特征图的通道(channel)划分为更小的组,并独立地对每个组进行归一化,从而使 GN 对批大小的依赖性降低,更适合各种批大小和网络架构。该研究没有按顺序执行 reshape、取均值、求方差、归一化这些操作,而是设计了一个独特的 GPU shader 形式的内核,它可以在一个 GPU 命令中执行所有这些操作,而无需任何中间张量(tensor)。

高斯误差线性单元(GELU)作为常用的模型激活函数,包含大量数值计算,例如乘法、加法和高斯误差函数。该研究用一个专用的 shader 来整合这些数值计算及其伴随的 split 和乘法操作,使它们能够在单个 AI 作画调用中执行。

提高注意力模块的效率

Stable Diffusion 中的文本到图像 transformer 有助于对条件分布进行建模,这对于文本到图像生成任务至关重要。然而,由于内存复杂性和时间复杂度,自 / 交叉注意力机制在处理长序列时遇到了困难。基于此,该研究提出两种优化方法,以缓解计算瓶颈。

一方面,为了避免在大矩阵上执行整个 softmax 计算,该研究使用一个 GPU shader 来减少运算操作,大大减少了中间张量的内存占用和整体延迟,具体方法如下图 2 所示。

664fe323263c9cfbed0924cca64239e9.png

另一方面,该研究采用 FlashAttention [7] 这种 IO 感知的精确注意力算法,使得高带宽内存(HBM)的访问次数少于标准注意力机制,提高了整体效率。

Winograd 卷积

Winograd 卷积将卷积运算转换为一系列矩阵乘法。这种方法可以减少许多乘法运算,提高计算效率。但是,这样一来也会增加内存消耗和数字错误,特别是在使用较大的 tile 时。

Stable Diffusion 的主干在很大程度上依赖于 3×3 卷积层,尤其是在图像解码器中,它们占了 90% 。该研究对这一现象进行了深入分析,以探索在 3 × 3 内核卷积上使用不同 tile 大小的 Winograd 的潜在好处。研究发现 4 × 4 的 tile 大小最佳,因为它在计算效率和内存利用率之间提供了最佳平衡。

467011e8f3347e91cab03e98db90f151.png

实验

该研究在各种设备上进行了基准测试:三星 S23 Ultra(Adreno 740)和 iPhone 14 Pro Max(A16)。基准测试结果如下表 1 所示:

db2cd70a4fb6946b986fcb3506111348.png

很明显,随着每个优化被激活,延迟逐渐减少(可理解为生成图像时间减少)。具体而言,与基线相比:在三星 S23 Ultra 延迟减少 52.2%;iPhone 14 Pro Max 延迟减少 32.9%。此外,该研究还对三星 S23 Ultra 端到端延迟进行评估,在 20 个去噪迭代 step 内,生成 512 × 512 像素图像,不到 12 秒就达到 SOTA 结果。

小型设备可以运行自己的生成式人工智能模型,这对未来意味着什么?我们可以期待一波。

点击进入—>【扩散模型】微信技术交流群

最新CVPR 2023论文和代码下载

 

后台回复:CVPR2023,即可下载CVPR 2023论文和代码开源的论文合集

后台回复:Transformer综述,即可下载最新的3篇Transformer综述PDF

扩散模型和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer333,即可添加CVer小助手微信,便可申请加入CVer-扩散模型或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如扩散模型或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群▲扫码或加微信号: CVer333,进交流群
CVer计算机视觉(知识星球)来了!想要了解最新最快最好的CV/DL/AI论文速递、优质实战项目、AI行业前沿、从入门到精通学习教程等资料,欢迎扫描下方二维码,加入CVer计算机视觉,已汇集数千人!▲扫码进星球
▲点击上方卡片,关注CVer公众号

整理不易,请点赞和在看870a051130b39e5c0bc775916dd448ce.gif

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

再次加入OpenAI,特斯拉前AI总监Andrej Karpathy刚刚官宣!

点击下方卡片,关注“CVer”公众号 AI/CV重磅干货,第一时间送达 点击进入—>CV微信技术交流群 转载自:机器之心 官宣回归OpenAI,特斯拉前AI高级总监Andrej Karpathy的下家定了。 刚刚,特斯拉前 AI 高级总监 Andrej K…

行业前沿 | 畅想AIGC技术研究与应用实践(一)

AIGC的火热之势已经蔓延到各行各业,技术浪潮冲击下,关于AIGC创业、AIGC未来发展方向以及AIGC的应用实践等,企业、投资者以及技术产品专家们有着不一样的思考。 近日,数美科技联合AMD举办的AIGC沙龙活动,邀请了经纬创投…

用GPT-4一天赚440元/ PyTorch2.0稳定版正式发布/ 谷歌眼镜彻底告别舞台…今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 嗯咳咳~今天是3月16日星期()。 V我50(Doge)带你看看科技圈都发生了哪些大事。 周鸿祎:GPT要消灭人类 周鸿祎又语出惊人!前脚GPT-4刚刚发布&#xff0…

互动福利|免费试用阿里云端TuGraph图数据库,还有GoPro、filco键盘、苹果HomePod mini等你拿!...

想要对数据关系进行 更好的数据可视化? 更高效的数据处理? 更精准的数据分析? 更快的查询速度? 来试试图数据库吧! 为鼓励更多用户探索应用图数据库,TuGraph联合阿里云计算巢,开放限量免费…

用AI给娃定制绘本 #麻瓜+AI混合工作流试验 9

这次试着用AI给娃定制一本绘本,目的是解决一个问题——娃很喜欢国际象棋,但在下棋的时候又很怕输……过程中尽量少人工参与,先看半成品,再说工作流。 这个画风,有点像娃喜欢的《工作细胞》。 主要流程 第一步&#xff…

AI制作有声绘本《小马历险记》

最近,我正在准备一堂给家长AI的课程,其中有一节专门介绍如何利用AI帮助孩子养成良好的习惯。为了帮助我的女儿改掉拖延的习惯,我借助AI制作了一本绘本,名为《小马历险记》,并为它配上了音乐和主题歌。请大家欣赏一下这…

为什么要学习研究 ChatGPT 等新一代 AI 技术

我最近一直在研究 ChatGPT,包括注册账号,试用聊天功能等。 其实 2022 年 11 月 ChatGPT 发布以来,我一直是个旁观者,看到好多文章和网友讨论这款 AI 大语言模型驱动的聊天应用,却没有使用和进一步了解它。直到最近我突…

chatGPT+Midjourney制作绘画本

chatGPTMidjourney制作绘画本 灵感来源:https://www.bilibili.com/video/BV1N24y1F7ga/?spm_id_from888.80997.embed_other.whitelist&vd_source6dd97671c42eb7cf111063714216bd0b 最终效果: 绘本故事 故事塑造能力弱的人可以使用chatGPT来帮助编…

01.自动化办公的准备工作(免费指导,只需三步)

两步准备,一步到位! 智动办公 在开始自动化办公前,有一些准备工作是必须先完成的,比如程序运行环境的搭建,百度AIP的本地安装等。听着很玄乎,其实操作起来很简单,照着我的详细步骤来就没错了&a…

not available in your country

解决OpenAIs API is not available in your country. 使用教程 链接: 链接 使用教程 1.点击连接后注册并登录,点击用户中心,下滑找到一下界面。并根据步骤,下载软件并运行之后一键导入配置。 2. 之后点击软件左侧 3.点击主页,将…

Overleaf编写试验报告初体验

昨天刚刚体验了用Markdown文本编辑器编写一个实验心得,但对于要提交实验报告的我来讲还远远不够,于是我请教了我们班的学委,得知了一款常用的编写学术文章的程序--Overleaf 网址:https://www.overleaf.com/ 你可以使用谷歌账号登录…

markdown学习

m a r k d o w n 学习 \mathbf{{\Huge markdown学习}} markdown学习 一、markdown简介[1] 转换:markdown编写的文档导出HTML、Word、Latex、PDF等文档 后缀:.md或.markdown 用途:撰写电子书,例如GitHub、CSDN、简书、reddit、Dia…

SSM+微信小程序+VUE项目实战:商城系统

实训时小组写的一个项目,有2个使用端,用户端是微信小程序,后台管理端是vue写的网页,后端统一是一个项目SpringSpringMVCMybatis。 文章目录 项目仓库项目截图需求描述功能分析开发环境数据库设计小程序页面后端难点技术选型 管理端…

记爬虫一个网站图片,反反爬虫破解一个图片加密算法

目录 一、初遇拦路虎 二、破解加密 1、详细分析 2、分析js代码 三、转化为python爬虫代码 四、全部代码 心血来潮想玩下最近比较火的AI绘画,于是想要搞点图片丢到模型上训练 一、初遇拦路虎 随便找个外国的图片网站来爬点图片,随手f12打开、检视…

鸿蒙系统文件删除怎么恢复,鸿蒙系统升级后会删除东西吗?鸿蒙系统游戏数据互通吗?...

鸿蒙系统无疑是这段时间最大的热点了,也因为太过于火爆,花粉俱乐部已经在维护修理了,不过很多小伙伴还在担忧鸿蒙系统游戏和安卓系统通用吗?鸿蒙系统升级后会丢失数据吗?下面一起来看看升级鸿蒙系统的注意事项。 鸿蒙系…

华为鸿蒙系统HarmonyOS学习之七:鸿蒙Harmony给IoT带来新的契机

华为鸿蒙系统HarmonyOS学习之七:鸿蒙Harmony给IoT带来新的契机 一、物联网将带来生产生活方式的变革 物联网是新一代信息技术的高度集成和综合运用,对产业变革和经济社会绿色、智能、可持续发展具有重要意义。 自从国家把物联网列入重点发展领域以来…

HarmonyOS系统内核中GPIO控制方法

大家好,今天主要和大家聊一聊,如何使用鸿蒙系统控制开发板去点亮LED灯。 目录 第一:鸿蒙外设GPIO简介 第二:鸿蒙外设接口说明 GPIO使用流程图: ​编辑 第三:鸿蒙系统中API分析 第四:硬件设计…

harmonyos鸿蒙系统开发者工具 DevEco Studio详解安装

文章适合新手了解DevEco Studio开发工具。文章在编写过程中难免有疏漏和错误,欢迎大佬指出文章的不足之处;更多内容请点进👉 Lino_White 👈查看。 未来的世界充满着各式各样的数据,我们该怎么好好利用起来呢&#xff1…

我的HarmonyOS实战——鸿蒙系统初定义

【本文正在参与“有奖征文 | HarmonyOS征文大赛” 】活动链接 鸿蒙系统介绍 1 官方定义 鸿蒙是一个全场景,面向未来的操作系统。 解释: 鸿蒙并不是一个单纯的手机操作系统,而是手机智能设备的总称。可以安装在包括手机、手表、无人机等很…

我的HarmonyOS实战——鸿蒙系统开发入门学习

1.为什么要学习鸿蒙开发? 开发者的角度: 安卓操作系统连接外部设备时,发现,配对,连接,组合,验证每一步都不能少。连接上了之后才能调用控制第三方设备。换一个设备之后,所有的代码…