0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

空间稀疏推理(SSI)加速深度生成模型

3D视觉工坊 来源:计算机视觉工坊 作者:空港 2022-11-08 09:22 次阅读

1. 个人理解

生成模型近年来发展迅猛,已经表现出极强的真实感合成能力,在三维重建、AI绘画、音视频创作、可控图像生成、真实图像编辑等领域的应用广泛。例如,即便没有绘画基础,大家也可以很容易利用生成模型绘制大师级画作。但近年来SOTA生成模型的主要问题是需要大量的计算资源,这一方面是由于深度网络的框架较为复杂,另一方面是因为每次针对图像可能只是做了很小的改动,但生成模型仍然需要重新计算整张图像。

在2022 NeurIPS论文“Efficient Spatially Sparse Inference for Conditional GANs and Diffusion Models”中,CMU、MIT、斯坦福联合提出了空间稀疏推理(SSI),它可以利用编辑区域的空间稀疏性来加速深度生成模型,并且可以应用于各种生成模型!在Apple M1 Pro CPU上的推理速度加快了14倍!

2. 摘要

在图像编辑期间,现有的深度生成模型倾向于从头开始重新合成整个输出,包括未编辑的区域。这导致了计算的显著浪费,尤其是对于较小的编辑操作。在这项工作中,我们提出了空间稀疏推理(SSI),这是一种通用技术,它选择性地对编辑区域执行计算,并加速各种生成模型,包括条件GAN和扩散模型。

我们的主要观察是,用户倾向于对输入图像进行渐进的改变。这促使我们缓存和重用原始图像的特征图。给定一个编辑过的图像,我们稀疏地将卷积滤波器应用于编辑过的区域,同时为未编辑的区域重用缓存的特征。

基于我们的算法,我们进一步提出稀疏增量生成引擎(SIGE)来将计算减少转换为现成硬件上的延迟减少。通过1.2%的面积编辑区域,我们的方法减少了7.5倍的DDIM和18倍的GauGAN的计算,同时保持视觉保真度。通过SIGE,我们加速了3.0倍在RTX 3090上的DDIM和6.6倍在苹果M1 Pro CPU上的推理时间,以及4.2倍在RTX 3090上的GauGAN和14倍在Apple M1 Pro CPU上的推理时间。

3. 算法分析

3.1 效果对比

话不多说,先看效果! 如图1(a)所示,上一次编辑的生成结果已经被计算,用户进一步编辑其中9.4%的区域。然而,普通的DDIM需要生成整个图像来计算新编辑的区域,在未改变的区域上浪费了80%的计算资源。解决这个问题的一个简单方法是首先分割新编辑的片段,合成相应的输出片段,并将输出与先前结果进行叠加。

但这种方法很容易在新编辑和未编辑的区域之间产生明显接缝。 为解决此问题,作者提出了空间稀疏推理(Spatially Sparse Inference,SSI)和稀疏增量生成引擎(SIGE),如图2(b)所示。作者的关键思想是重用之前编辑的缓存特征图并稀疏更新新编辑的区域。

0a3a3d2e-5ef3-11ed-8abf-dac502259ad0.png

图1 在交互式编辑场景中,用户添加了一个新的建筑,它占据了9.4%的像素 如图2所示是作者与其他生成模型的对比结果。可以看出相较于DDIM和GauGAN,作者提出的方法计算量大幅降低。其中相较于DDIM,计算量降低了4~6倍,相较于GauGAN,计算量降低了15倍,当引入模型压缩方法以后,计算量进一步减少了47倍。注意一下这里的MACs指标,1 MAC等于2 FLOPs。

0a6947ea-5ef3-11ed-8abf-dac502259ad0.png

图2 作者提出方法的计算量对比 重要的是,这种方法可以很容易得推广到其他生成模型中!进一步降低计算量!

3.2 激活稀疏性

作者的启发灵感是,在交互式图像编辑期间,用户通常每次只编辑图像中的一部分。因此,可以为未编辑区域重用原始图像的激活。因此,可以利用编辑区域的空间稀疏性来加速深度生成模型。具体来说,给定用户输入,首先计算一个差异掩码来定位新编辑的区域。

对于每一个模型中的卷积层,仅稀疏地将滤波器应用于掩蔽的区域,而对未改变的区域重复使用先前的生成模型。稀疏更新可以在不损害图像质量的情况下显著减少计算量。 此外,由于稀疏更新涉及聚集-分散过程,现有的深度学习框架会导致显著的延迟开销。

为了解决这个问题,作者进一步提出了稀疏增量生成引擎(SIGE)来将算法的理论计算减少转化为在各种硬件上测量的延迟减少。 如图3所示是具体的算法原理,首先预计算原始输入图像的所有激活。在编辑过程中,通过计算原始图像和编辑图像之间的差异掩模来定位编辑区域。然后,对未编辑的区域重新使用预先计算的激活,并且通过对它们应用卷积滤波器来仅更新已编辑的区域。

0abab79c-5ef3-11ed-8abf-dac502259ad0.png

图3 稀疏卷积原理概述 具体的数学推导为:

0aed263c-5ef3-11ed-8abf-dac502259ad0.png

其中Al表示第l层卷积层F的输入tensor,W和b分别是第l层的权重和偏置。 如图4所示,ΔAl共享了用户所做编辑中的结构化空间稀疏性,因此非零值主要聚集在编辑区域内。这样就可以直接使用原始图像和编辑后的图像来计算一个差异掩码,并用这个掩码对ΔAl进行稀疏化。

0b1923f4-5ef3-11ed-8abf-dac502259ad0.png

图4 左图:图像编辑示例。右图:在不同特征图分辨率下,DDIM第l层的∆Al通道平均值

3.3 稀疏增量生成引擎SIGE

但是如何利用结构化稀疏性来加速Wl*ΔAl呢? 一种简单的方法是为每个卷积从ΔAl中裁剪一个矩形编辑区域,并且只计算裁剪区域的特征。但作者发现这种裁剪方法对于不规则的编辑区域(图4所示的例子)效果很差。 因此,如图5所示,作者使用基于tiling的稀疏卷积算法。

首先将差异掩码向下采样到不同的比例,并扩展向下采样的掩码,将ΔAl在空间上划分为多个相同大小的小块。每个块索引指的是具有非零元素的单个块。然后将非零块沿批维度进行相应的聚集,并将其馈入卷积Fl。最后,根据索引将输出块分散成零张量,以恢复原始空间大小,并将预先计算的残差计算。

0b3fc338-5ef3-11ed-8abf-dac502259ad0.png

图5 基于titling的稀疏卷积

4. 实验

作者分别在三个模型上进行实验,包括扩散模型和GAN模型:DDIM、Progressive Distillation (PD)、GauGAN。使用LSUN Church数据集和Cityscapes数据集进行实验。在评价指标方面,使用PSNR、LPIPS、FID来评估图像质量。对于Cityscapes数据集还是用了语义分割中的mIoU这一指标。

4.1 主要结果

表1所示是作者方法应用于DDIM、Progressive Distillation (PD)和GauGAN的定量结果,并在图6中显示了定性结果。对于PSNR和LPIPS来说,对于DDIM和Progressive Distillation (PD)来说,作者方法始终优于所有基线,并获得与原始模型相当的结果。当由于全局上下文不足而编辑的区域很小时,补片推理失败。

尽管作者方法仅将卷积滤波器应用于局部编辑区域,但是可以重用存储在原始激活中的全局上下文。因此,作者的方法可以像原始模型一样执行。对于GauGAN,作者的方法也比GAN Compression执行得更好,MACs减少更多。当应用于GAN Compression时,进一步实现了大约40倍MACs的减少,性能略有下降,同时超过了0.19 GauGAN和GAN Comp。

表1 定量质量评估

0b6ad41a-5ef3-11ed-8abf-dac502259ad0.png

0b866a04-5ef3-11ed-8abf-dac502259ad0.png

图6 所提出方法的定性对比

在模型模型效率方面,作者测试了了图6所示的编辑实例在4个设备上的加速比,包括RTX 3090、RTX 2080Ti、Intel Core i9-10920X CPU和Apple M1 Pro CPU,并且设置batch size为1来模式真实应用。对于GPU设备,首先执行200次预热运行,并测量接下来200次运行的平均耗时。对于CPU设备,首先执行10次预热运行和10次测试运行,重复此过程5次并报告平均耗时。结果如表2所示。

表2 模型效率对比

0bbacc36-5ef3-11ed-8abf-dac502259ad0.png0bf507c0-5ef3-11ed-8abf-dac502259ad0.png

4.2 消融研究

表3显示了消融研究结果。 内存使用:原始图像预先计算的激活需要额外的存储量,但作者所提出的方法仅将DDIM、PD、GauGAN和GAN Compression的单次转发的峰值内存使用量分别增加了0.1G、0.1G、0.8G和0.3G。表3(a)所示是在RTX 2080Ti上为DDIM添加的每个内核优化的有效性。

简单地应用基于tiling的稀疏卷积可以将计算量减少7.6倍。表3(b)是在TensorRT上进行了模型部署,TensorRT进一步加快了模型的运行效率。

表3 模型消融实验结果

0caa4040-5ef3-11ed-8abf-dac502259ad0.png

5. 结论

在2022 NeurIPS论文“Efficient Spatially Sparse Inference for Conditional GANs and Diffusion Models”中,CMU、MIT、斯坦福联合提出了空间稀疏推理(SSI)和稀疏增量生成引擎(SIGE)。这种算法减少了现有深度生成模型的计算资源浪费问题,对于生成模型的落地和应用具有重要意义。重要的是,算法已经开源,并且可以应用于各种生成模型,包括条件GAN和扩散模型!






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10816

    浏览量

    210963
  • MIT
    MIT
    +关注

    关注

    3

    文章

    253

    浏览量

    23356
  • GaN
    GaN
    +关注

    关注

    19

    文章

    1913

    浏览量

    72865
  • SSI
    SSI
    +关注

    关注

    0

    文章

    38

    浏览量

    19204

原文标题:加速各种生成模型!NeurIPS开源!CMU、MIT、斯坦福提出高效空间稀疏推理!

文章出处:【微信号:3D视觉工坊,微信公众号:3D视觉工坊】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    使用vLLM+OpenVINO加速大语言模型推理

    随着大语言模型的广泛应用,模型的计算需求大幅提升,带来推理时延高、资源消耗大等挑战。
    的头像 发表于 11-15 14:20 120次阅读
    使用vLLM+OpenVINO<b class='flag-5'>加速</b>大语言<b class='flag-5'>模型</b><b class='flag-5'>推理</b>

    高效大模型推理综述

    模型由于其在各种任务中的出色表现而引起了广泛的关注。然而,大模型推理的大量计算和内存需求对其在资源受限场景的部署提出了挑战。业内一直在努力开发旨在提高大模型
    的头像 发表于 11-15 11:45 135次阅读
    高效大<b class='flag-5'>模型</b>的<b class='flag-5'>推理</b>综述

    FPGA和ASIC在大模型推理加速中的应用

    随着现在AI的快速发展,使用FPGA和ASIC进行推理加速的研究也越来越多,从目前的市场来说,有些公司已经有了专门做推理的ASIC,像Groq的LPU,专门针对大语言模型
    的头像 发表于 10-29 14:12 185次阅读
    FPGA和ASIC在大<b class='flag-5'>模型</b><b class='flag-5'>推理</b><b class='flag-5'>加速</b>中的应用

    FPGA加速深度学习模型的案例

    FPGA(现场可编程门阵列)加速深度学习模型是当前硬件加速领域的一个热门研究方向。以下是一些FPGA加速
    的头像 发表于 10-25 09:22 124次阅读

    AI大模型深度学习的关系

    人类的学习过程,实现对复杂数据的学习和识别。AI大模型则是指模型的参数数量巨大,需要庞大的计算资源来进行训练和推理深度学习算法为AI大模型
    的头像 发表于 10-23 15:25 343次阅读

    使用OpenVINO C++在哪吒开发板上推理Transformer模型

    OpenVINO 是一个开源工具套件,用于对深度学习模型进行优化并在云端、边缘进行部署。它能在诸如生成式人工智能、视频、音频以及语言等各类应用场景中加快深度学习
    的头像 发表于 10-12 09:55 255次阅读
    使用OpenVINO C++在哪吒开发板上<b class='flag-5'>推理</b>Transformer<b class='flag-5'>模型</b>

    【《大语言模型应用指南》阅读体验】+ 基础知识学习

    与匹配 模型可能结合高效检索技术来快速定位与问题相关的信息源。通过匹配算法和索引技术,模型可以从海量数据中筛选出最相关的文本片段作为候选答案。 3. 推理生成 在获得候选答案后,
    发表于 08-02 11:03

    LLM大模型推理加速的关键技术

    LLM(大型语言模型)大模型推理加速是当前人工智能领域的一个研究热点,旨在提高模型在处理复杂任务时的效率和响应速度。以下是对LLM大
    的头像 发表于 07-24 11:38 745次阅读

    深度神经网络模型量化的基本方法

    尽量保持模型的性能。这一技术通过降低模型参数的位数来显著减小模型的大小,加速推理过程,并降低能耗,从而有助于将
    的头像 发表于 07-15 11:26 586次阅读

    深度学习模型量化方法

    深度学习模型量化是一种重要的模型轻量化技术,旨在通过减少网络参数的比特宽度来减小模型大小和加速推理
    的头像 发表于 07-15 11:01 448次阅读
    <b class='flag-5'>深度</b>学习<b class='flag-5'>模型</b>量化方法

    如何加速大语言模型推理

    的主要挑战。本文将从多个维度深入探讨如何加速大语言模型推理过程,以期为相关领域的研究者和开发者提供参考。
    的头像 发表于 07-04 17:32 454次阅读

    昆仑万维开源2千亿稀疏模型Skywork-MoE

    近日,昆仑万维公司宣布开源一款名为Skywork-MoE的稀疏模型,该模型拥有高达2千亿参数,不仅性能强劲,而且推理成本更低,为人工智能领域带来了新的突破。
    的头像 发表于 06-04 14:44 534次阅读

    英特尔助力京东云用CPU加速AI推理,以大模型构建数智化供应链

    英特尔助力京东云用CPU加速AI推理,以大模型构建数智化供应链
    的头像 发表于 05-27 11:50 491次阅读
    英特尔助力京东云用CPU<b class='flag-5'>加速</b>AI<b class='flag-5'>推理</b>,以大<b class='flag-5'>模型</b>构建数智化供应链

    【大语言模型:原理与工程实践】揭开大语言模型的面纱

    大语言模型(LLM)是人工智能领域的尖端技术,凭借庞大的参数量和卓越的语言理解能力赢得了广泛关注。它基于深度学习,利用神经网络框架来理解和生成自然语言文本。这些模型通过训练海量的文本数
    发表于 05-04 23:55

    HarmonyOS:使用MindSpore Lite引擎进行模型推理

    如下图所示。**图 1 **使用 MindSpore Lite 进行模型推理的开发流程 进入主要流程之前需要先引用相关的头文件,并编写函数生成随机的输入,具体如下: #include <
    发表于 12-14 11:41