[Diffusion] Speed is all your need

news2024/11/25 3:50:18

论文简要总结

刚读了下speed is all you need这个论文, https://arxiv.org/pdf/2304.11267.pdf

只是用的SD1.4没有对网络进行改造。
只做了4个改动
1 是对norm采用了groupnorm (GPU shader加速)
2 采用了GELU (GPU shader加速)
3 采用了两种attention优化,是partitially fused softmax或者Flash attention(2种方法视情况选1)
4 采用了winograd 卷积

实验效果 SD1.4 出512x512的图,迭代12次,12s以下(手机端)
under 12 seconds for Stable Diffusion 1.4 without INT8 quantization for a 512 × 512 image with 20 iterations

1 摘要

The rapid development and application of foundation models have revolutionized the fifield of artifificial intelligence.
Large diffusion models have gained signifificant attention for their ability to generate photorealistic images and support various tasks.
On-device deployment of these models provides benefits such as lower server costs, offline functionality, and improved user privacy.
However, com mon large diffusion models have over 1 billion parameters and pose challenges due to restricted computational and memory resources on devices.
We present a series of implementation optimizations for large diffusion models that achieve the fastest reported inference latency to-date(under
12
seconds for Stable Diffusion 1.4 without INT 8 quantization for a 512 × 512 image with 20 iterations) on GPU
equipped mobile devices.
These enhancements broaden the applicability of generative AI and improve the overall user experience across a wide range of devices.
基础模型的快速发展和应用给人工智能领域带来了革命性的变化。

大型扩散模型因其生成逼真图像和支持各种任务的能力而在上获得了显著的关注。
这些模型的设备上部署提供了诸如降低服务器成本、脱机功能和改进用户隐私等好处。
然而,com许多大型扩散模型具有超过10亿个参数,并且由于设备上有限的计算和内存资源而带来挑战。
我们提出了一系列针对大型扩散模型的实现优化,这些模型在GPU上实现了迄今为止最快的推断延迟(对于512 × 512图像,在没有INT8量化的情况下,SD1.4在12秒内实现了20次迭代)配备移动设备。
这些增强扩大了生成式人工智能的适用性,并在各种设备上改善了整体用户体验。

实验

To evaluate the improvement, we carried out a set of benchmarks on various devices, as displayed in Tab. 1 .
We chose the following target devices (and their GPU chip):

Samsung S23 Ultra (Adreno 740), and iPhone 14 Pro Max (A16).
As the denoising neural network, UNet, is the
most computationally demanding component, we provide the latency fifigures for executing UNet for a single iteration with 512 × 512 image resolution, measured in milliseconds.
Additionally, we document the memory usage generated during runtime for the intermediate tensors in the “Tensor” column and the memory allocated for holding the model weights in the “Weight” column, both quantifified in megabytes
.
Note that the memory manager [
17] optimizes the memory footprint by reusing the buffers for intermediate tensors. 

为了评估改进,我们在各种设备上进行了一组基准测试,如表1所示。
我们选择了以下目标设备(及其GPU芯片):
三星S23 Ultra (Adreno 740)和iPhone 14 Pro Max (A16)。
由于去噪神经网络UNet是计算要求最高的组件,我们提供了在512 × 512图像分辨率下执行UNet的单次迭代的延迟数字,以毫秒秒为单位测量。
此外,我们记录了运行时为“Tensor”列中的中间张量生成的内存使用情况,以及为保存“Weight”列中的模型权重而分配的内存,两者都以兆字节为单位进行量化。
请注意,内存管理器[17]通过重用中间张量的缓冲区来优化内存占用。

The table’s first row displays the result that follows the implementation in the public Github repository [19] using our internal OpenCL kernels without any optimizations.
Rows 2 through 5 sequentially enable each optimiza tion individually:
Opt. Softmax” refers to the partially fused softmax and optimized softmax reduction step (subsection 3.2;
S-GN/GELU” relates to the specialized kernels for Group Normalization and GELU (subsection 3.1;
FlashAttn.” pertains the FlashAttention implementation (subsection 3.2);
Winograd(All)” employs the Winograd convolution (subsection 3.3).
Note that each row includes all optimizations of its preceding rows, making the last row our final optimization numbers.

表的第一行显示了在公共Github存储库[19]中实现的结果,我们在没有任何优化的情况下使用内部OpenCL内核。

第2行到第5行依次单独启用每个优化:

“Opt. Softmax”是指部分融合的Softmax和优化的Softmax缩减步骤(参见章节3.2;

“S-GN/GELU”涉及群归一化和GELU的专门ker(第3.1节;

“FlashAttn。涉及FlashAttention实现(第3.2节);

“Winograd(All)”使用Winograd卷积(第3.3节)。

请注意,每一行都包含其前一行的所有优化,使最后一行成为我们的最终优化数。

 

It is evident that latency decreases incrementally as each optimization is activated.
Notable overall latency reductions in comparison to the baseline are observed on both devices: Samsung S23 Ultra (
52 . 2 % ); iPhone 14 Pro Max ( 32 . 9 % ).
Additionally, we assessed the end-to-end latency (from text input to decoded image output) on the Samsung S23 Ultra for
20 denoising iterations steps to generate a 512 ×  512 seconds. pixel image, achieving a state-of-the-art result under 12 seconds
很明显,随着每个优化的激活,延迟会逐渐减少。

与基线相比,在两种设备上都观察到显着的总体延迟降低:
三星S23 Ultra (- 52.2%);iPhone 14 Pro Max(−32.9%);
此外,我们在Samsung S23 Ultra上评估了20个去噪迭代步骤的端到端la趋势(从文本输入到解码图像输出),以在× 12 512秒内生成512。像素图像,在12秒内达到最先进的效果

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

一个简单的MCU内存管理模块(附源码)

现在非常多的的MCU性能都还不错,同时用户也会去扩展一些外部RAM,那么如何高效便捷的管理这些内存是一个重要话题。 今天给大家分享一份源码:基于无操作系统的STM32单片机开发,功能强大,可申请到地址空间连续的不同大小…

如何应对公民开发者的挑战?低代码流程自动化助你打造高效系统

如今,企业越来越倾向于采用公民开发作为提升流程自动化和数字化转型的手段。这种方法让非程序员(如客户和员工),有机会为特定任务创建自己的应用程序。它还使公司能够快速调整以适应客户偏好或业务需求。 尽管这种方法有很多好处&…

Prometheus+Grafana普罗米修斯搭建+监控MySQL

PrometheusGrafana普罗米修斯搭建监控MySQL 一,Prometheus 1.什么是Prometheus? ​ Prometheus 是 Cloud Native Computing Foundation 的一个监控系统项目, 集采集、监控、报警等特点于一体。 ​ Prometheus主要受启发于Google的Brogmon监控系统&…

数字化转型浪潮下,汽车零部件企业如何逐鹿突围?

一、汽车行业当下趋势 数据来源:汽车工业协会 1.乘用车及新能源车市场:2023年1-4月,乘用车销量同比增长6.8%,新能源车销量同比增长35.8%。 2.行业趋势:汽车行业生存压力大,4月中国汽车经销商库存系数下降…

中国科学院稀土研究院-PLC采集项目案例

1.项目背景 中国科学院稀土研究院(江西稀土研究院)隶属中国科学院。 作为中国国内唯一专注于稀土科技创新的国立科研机构,中国科学院稀土研究院将面向国家战略和产业发展重大需求,围绕稀土绿色、高效、均衡、高值化利用的核心科学…

【Spring MVC】没有Spring MVC,Spring Boot表现得毫无用处? ? ?走进Spring MVC,学习热部署自动运行程序 ! ! !

前言: 大家好,我是良辰丫,从今天开始,我们就要进入Spring MVC的学习了,前面的文章中我们的很多注解都没有讲解,是不是看的脑瓜嗡嗡的,哈哈,没关系,在我们Spring MVC中我们就要详细讲解那些注解了,请跟随良辰的脚步,gogogo! ! !💌💌💌 &#x…

希望之星、黄昏之星、三只乌鸦……怎么用 DolphinDB 快速计算 K 线?

K 线技术分析是股票投资中很常用的一种分析方法,主要通过历史价格图表中的数据来预测未来市场趋势。一根 K 线包括四个价格:开盘价、收盘价、最高价和最低价,通常简称为 OHLC。K 线按照周期一般可以分为日、周、月、年,以及五分钟…

Selenium自动化落地实践

01、自动化测试流程图 02、主要过程描述 1、自动化测试的切入点 开展自动化测试的时间点很关键,需要在系统已经过多版本的系统测试,达到稳定之后。 2、可行性分析 在进行项目自动化测试之前,第一步就是要确认其可行性,是否可以…

为何唐宋诗词鼎盛,而到了明清变成了小说

我国是一个历史悠久的国家,在漫长的历史长河中,随着朝代的更替,很多事也发生了有趣的变化。 例如唐宋时期盛行的是诗词,而到了明清时代,小说又开始盛行了起来,那么造成这种文风改变的原因是什么呢&#xf…

2023安博会进行时!英码科技1个重磅+4大看点隆重亮相

2023年6月7日,第十六届(2023)中国国际社会公共安全产品博览会(以下简称:安博会)在北京首钢会展中心盛大开幕!本届安博会以“自主创新数智融合”为主题,共设置了7大主题展馆&#xff…

linux开发:Linux下查看端口占用

前段时间有学生问到,怎么查看已经被占用的端口?下面我就统一给大家解释一下。 提到端口,那首先来回顾端口定义,为了区分一台主机接收到的数据包应该转交给哪个任务来进行处理,使用端口号来区别;我们知道TCP…

【活动预告】ACDU 中国行 · 深圳站精彩抢先看

近期活动 在当今数字化时代,数据库是各行各业中最核心的信息管理系统之一。 随着技术的飞速发展,数据库领域也不断涌现出新的前沿技术和创新应用。 数据库运维和开发人员需要紧跟前沿技术,才能保持竞争力,并实现更高效、更智…

Java-API简析_java.lang.Float类(基于 Latest JDK)(浅析源码)

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://blog.csdn.net/m0_69908381/article/details/131129886 出自【进步*于辰的博客】 其实我的【Java-API】专栏内的博文对大家来说意义是不大的。…

JMeter测试笔记(五):JDBC请求

引言: 进行性能测试时,我们有时需要模拟数据库的访问和操作,而JMeter中的JDBC请求可以帮助我们实现这个目的。 在本文中,我们将深入了解JDBC请求的使用方式,并学习如何正确配置它们来模拟对数据库的访问和操作。 如…

Excel函数VLOOKUP常用方法

一、基础用法 1、精确匹配 公式:VLOOKUP(待匹配值,查找范围,范围列数,查找方式) 定义好要输出表的表头和第一列,第一列即为要查找和匹配的父内容,在第二列输入公式,被查找表中一定也要将待查…

【大数据学习番外篇之爬虫2】爬虫入门简单例子

目录 1. 图片爬取 2. 破解百度翻译 3. 豆瓣电影爬取 4. 肯德基餐厅位置爬取 1. 图片爬取 通过以下代码我们可以看到图片已经爬取进入虚拟机里面。 # -*- coding: utf-8 -*- import re import requests from urllib import error from bs4 import BeautifulSoup import os…

Fmoc固相肽:116783-35-8,Fmoc-Thr(Ac3GalNAcα)-OH,进行总结说明

试剂基团反应特点(Reagent group reaction characteristics): Fmoc-Thr(Ac3GalNAcα)-OH,该构建块中的O-糖苷键和O-乙酰基保护对哌啶和TFA[1]都是稳定的,使其与Fmoc固相肽合成中的标准方案完全兼容。乙酰基保护基的去除…

了解set

了解set 1. set的介绍2. set的使用1. Member functions2.set的迭代器3. set的容量4.set修改操作4.1 insert4.2 erase、swap和clear4.3 emplace 5. observers(了解)6.Operations(了解) 3.set有关的题目 1. set的介绍 C中的set是一种关联式容器,它能够存储同一数据类型…

Airtest自动化测试工具实战演练

一开始知道Airtest大概是在年初的时候,当时,看了一下官方的文档,大概是类似Sikuli的一个工具,主要用来做游戏自动化的,通过截图的方式用来解决游戏自动化测试的难题。最近,移动端测试的同事尝试用它的poco库…

融合空间与视觉,揭示信息之美——GIS与可视化的奇妙结合

近年来,随着信息技术的快速发展,地理信息系统(GIS)和可视化技术在各行各业中的应用越来越广泛。作为一种集成空间数据管理、分析和可视化展示的强大工具,GIS为我们带来了全新的视角和洞察力,它以其直观、生…