CVPR2024 | 加速Diffusion,韩松团队提出分布式并行推理方案DistriFusion,加速6.1倍,质量不下降,已开源

https://arxiv.org/pdf/2402.19481.pdf
https://github.com/mit-han-lab/distrifuser

本文概述

扩散模型在合成高质量图像方面取得了巨大成功。然而,由于巨大的计算成本,利用扩散模型生成高分辨率图像仍然具有挑战性,导致交互式应用程序的延迟过高。在本文中,我们提出DistriFusion通过利用多个 GPU 的并行性来解决这个问题。我们的方法将模型输入拆分为多个块,并将每个块分配给GPU

然而,这样的算法最基本实现会破坏补丁之间的交互并失去保真度,而合并这样的交互将产生巨大的通信开销。为了克服这个困境,我们观察到相邻扩散步骤的输入之间的高度相似性,并提出置换补丁并行性,它通过复用前一步计算的特征并利用扩散过程的顺序特性为当前步提供上下文信息。因此,我们的方法支持异步通信,可以通过计算进行管道化。大量实验表明,我们的方法可以应用于最新的 Stable Diffusion XL,且质量不会下降,并且与 1 台相比,8 台 NVIDIA A100 上的速度提升高达 6.1×。

本文方案

DistriFusion 的关键思想是通过将图像分割成补丁来跨设备并行计算。这可以通过以下两种方式来完成:(1)独立计算补丁并将它们拼接在一起,或者(2)在补丁之间同步通信中间激活。然而,第一种方法会导致每个补丁的边界处出现明显的差异,因为它们之间缺乏相互作用(见图 1 和图 2(b))。另一方面,第二种方法会产生过多的通信开销,从而抵消了并行处理的好处。

为了应对这些挑战,我们提出了一种新的并行范例,即置换补丁并行,它利用扩散模型的顺序性质来重叠通信和计算。我们的主要见解是重用先前扩散步骤中稍微过时或“陈旧”的激活,以促进补丁之间的交互,我们将其描述为激活位移。这是基于连续去噪步骤的输入相对相似的观察。因此,在某一层计算每个补丁的激活不依赖于其他补丁的新激活,从而允许通信隐藏在后续层的计算中。

本文实验

推荐阅读

  • 超越SwinIR,Mamba入局图像复原,达成新SOTA
  • 入局CV,Mamba再显神威!华科王兴刚团队首次将Mamba引入ViT,更高精度、更快速度、更低显存!
  • Swin版VMamba来了!精度再度提升,VMamba-S达成83.5%,超越Swin-S,已开源!
  • MiOIR | 直面 “多合一”图像复原,港理工张磊团队提出MiOIR,融顺序学习与提示学习于一体!
  • NAFNet :无需非线性激活,真“反直觉”!但复原性能也是真强!
  • 真实用!ETH团以合成数据+Swin-Conv构建新型实用盲图像降噪

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

bvh文件,人体骨骼重定向

关于两个bvh文件,人体骨骼重定向,小白记录 1、打开 Motionbuilder ,选择 打开特定路径下的bvh文件。 绑定骨骼(在绑定骨骼过程中,如果骨骼角度,大小之类的不方便,可以shift键加鼠标拖拽界面&…

谈谈高并发系统的设计方法论

何为高并发系统? 在理解高并发系统之前,我们先来理解几个相关概念。 什么是并发(Conurrent)? 在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同…

图片的处理库Thumbnailator

摘要:最近遇到图片处理的问题,借助了Thumbnailator库,记录下使用步骤如下…… 图片处理,JDK中也提供了对应的工具类,不过处理较麻烦,Thumbnailator 是Google一个 开源Java 图像处理库,用于简化 …

redis的基本数据类型(一)

redis的基本数据类型 1、redis1.1、数据库分类1.2、NoSQL分类1.3、redis简介1.4、redis应用1.5、如何学习redis 2、redis的安装2.1、Windows安装2.2.1、客户端redis管理工具 2.2、Linux安装🔥2.2.1、redis核心文件2.2.2、启动方式2.2.3、redis桌面客户端1、redis命令…

【C++从0到王者】第四十六站:图的深度优先与广度优先

文章目录 一、图的遍历二、广度优先遍历1.思想2.算法实现3.六度好友 三、深度优先遍历1.思想2.代码实现 四、其他问题 一、图的遍历 对于图而言,我们的遍历一般是遍历顶点,而不是边,因为边的遍历是比较简单的,就是邻接矩阵或者邻接…

Personality Enhanced Emotion Generation Modeling for Dialogue Systems

对话系统的人格增强情绪生成建模 摘要1 介绍2 相关工作2.1 个性、情感和情绪2.2 个性的理论模型2.3 在对话系统中整合个性情感建模 3 方法3.1 任务定义3.2 个性增强型情感生成模型3.3 情感状态推理单元3.3.1 情绪遗忘机制3.3.2 情感调节机制 3.4 训练 4 实验4.1 数据集 PELD 摘…

C语言基础(三)——指针

五、指针 5.1 指针的定义 内存区域中的每字节都对应一个编号,这个编号就是“地址”. 在程序中定义一个变量,在对程序进行编译时,系统就会给这个变量分配内存单元. 按变量地址存取变量值的方式称为“直接访问”,如printf("&…

C++ 入门(八)— 常量和字符串

常量和字符串 常量变量常量表达式编译时优化 Constexpr 变量std::string字符串输出 std::coutstd::string可以处理不同长度的字符串字符串输入 std::cin用于输入文本std::getline()不要按值传递Constexpr 字符串 std::string_view可以使用许多不同类型的字符串进行初始化可以接…

基于springboot+html实现的衣物捐赠平台

一、系统架构 前端:html | layui | jquery | css 后端:springboot | thymeleaf | mybatis 环境:jdk1.8 | mysql | maven 二、代码及数据库 三、功能介绍 01. 登录页 02. 注册 03. web页-首页 04. web页-捐赠衣服 05. web页-论坛交流…

Doris实战——金融壹账通指标中台的应用实践

目录 前言 一、业务痛点 二、早期架构挑战 三、架构升级 四、一体化指标数据平台 4.1 构建指标体系 4.2 构建指标平台功能 五、Doris指标应用实践 六、未来规划 原文大佬的这篇指标中台的应用实践有借鉴意义,这里摘抄下来用作学习和知识沉淀。 前言 在搭建…

开源项目_代码生成项目介绍

1 CodeGeeX 系列 1.1 CodeGeeX 项目地址:https://github.com/THUDM/CodeGeeX 7.6k Star主要由 Python 编写深度学习框架是 Mindspore代码约 2.5W 行有 Dockerfile,可在本地搭建环境模型大小为 150 亿参数相对早期的代码生成模型,开放全部代…

BAT等大厂必问技术面试题,2024Android开发面试解答之设计模式

IT行业薪水高,这是众所周知的,所以很多人大学都选择IT相关专业,即使非该专业的人,毕业了也想去一个培训机构镀镀金,进入这一行业。 但是有关这个行业35岁就退休的说法,也一直盛传。 加上这几年不断有各大…

基于java Springboot实现课程评分系统设计和实现

基于java Springboot实现课程评分系统设计和实现 博主介绍:多年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 央顺技术团队 Java毕设项目精品实战案例《1000套》 欢迎点赞 收藏 ⭐留言 文末获取源…

【白嫖8k买的机构vip教程】Appium自动化(3):Appium-Desktop界面介绍

Appium-Desktop主界面包含三个菜单Simple、Advanced、Presets Simple界面: Host设置Appium server的ip地址,本地调试可以将ip地址修改为127.0.0.1;Port设置端口号,默认是4723不用修改Start Server 启动 Appium serverEdit Confi…

网络安全课程VIP介绍(比同行便宜)

免责声明 本文发布的工具和脚本,仅用作测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。如果任何单位或个人认为该项目的脚本可能涉嫌侵犯其权利&#xff0c…

(学习日记)2024.03.01:UCOSIII第三节

写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录&a…

Java毕业设计-基于springboot开发的私人健身与教练预约系统-毕业论文+答辩PPT(有源代码)

文章目录 前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1.开发说明2.需求分析3、系统功能结构 三、系统实现展示1、系统功能模块2、后台功能模块2.1管理员功能2.2用户功能2.3教练功能 四、毕设内容和源代码获取总结 [Java毕业设计-基于springboot…

零拷贝技术深入分析

一、零拷贝 在前面的文章“深浅拷贝、COW及零拷贝”中对零拷贝进行过分析,但没有举例子,也没有深入进行展开分析。本文将结合实际的例程对零拷贝进行更深入的分析和说明。 在传统的IO操作中,以文件通过网络传输为例 ,一般会经历以…

【前端素材】推荐优质在线花卉商城电商网页Flowery平台模板(附源码)

一、需求分析 1、系统定义 在线花卉商城是一个通过互联网提供花卉销售服务的电子商务平台,用户可以在该平台上浏览、选择和购买各种花卉产品。 2、功能需求 在线花卉商城是一个通过互联网提供花卉销售服务的电子商务平台,用户可以在该平台上浏览、选…

内存取证 Volatility

文章目录 安装工具volatility和插件mimikatz[陇剑杯 2021]内存分析 内存分析工具 volatility,有Volatility2和Volatility3两种,分别基于Python2和Python3环境运行。说是一般Volatility2比Volatility3好用,所以我也选择的Volatility2版本。 一…