“零”代码改动,静态编译让太乙Stable Diffusion推理速度翻倍

ba60c78bec6ead72f28d7bb593a8b4d2.jpeg

作者|梁德澎
 

AI 作图领域的工具一直不尽人意,直到去年 8 月 Stable Diffusion 开源,成为AI 图像生成领域无可争辩的划时代模型。

为了提升其推理效率,OneFlow 首度将 Stable Diffusion 模型加速至“一秒出图”时代,极大提升了文生图的速度,在AIGC领域引发巨大反响,并得到了 Stability.ai 官方的支持。至今,OneFlow 还在不断刷新 SOTA 纪录。

不过,由于目前大部分团队主要是基于翻译 API + 英文 Stable Diffusion 模型进行开发,所以在使用中文独特的叙事和表达时,英文版模型就很难给出正确匹配的图片内容,这对部分国内用户来说不太方便。


为了解决这一问题,国内的IDEA 研究院认知计算与自然语言研究中心(IDEA CCNL)也开源了第一个中文版本的“太乙 Stable Diffusion”,基于0.2亿筛选过的中文图文对训练。上个月,太乙 Stable Diffusion 在 HuggingFace 上有近 15 万下载量,是下载量最大的中文 Stable Diffusion。

近期,OneFlow 团队为太乙 Stable Diffusion 适配了 OneFlow 后端,大大提升了推理性能,也可以做到一秒出图。不少开发者好奇OneFlow使用了哪些优化“秘笈”,后文将进行简要解读。

欢迎Star、运行 OneFlow 版太乙 Stable Diffusion:
 

https://github.com/Oneflow-Inc/diffusers/wiki/How-to-Run-OneFlow-Stable-Diffusion#without-docker

1
对比 PyTorch,OneFlow 将“太乙 Stable Diffusion”推理速度提升1倍以上
 

下面的图表分别展示了在 A100 (PCIe 40GB / SXM 80GB),V100 ( SXM2 32GB ), RTX 2080,RTX 3080 Ti,RTX 3090, 和 T4 不同类型的 GPU 硬件上分别使用 PyTorch, 和 OneFlow对 太乙 Stable Diffusion 进行推理的性能表现。

b6bbced83e725c4f6a5897cef9b759f6.png

6c7ebe4c0a38a841e73e898dfef0c794.png

可以看到,对于 A100 显卡,无论是 PCIe 40GB 的配置还是 SXM 80GB 的配置,OneFlow 的性能相比 PyTorch 能提升 1 倍以上,推理速度达到了 50it/s 以上,生成一张图片所需要的时间在 1 秒以内。

其他硬件数据:

dfe5878aaf634dd4c582d640f2e90e6f.png

注:3090上的AIT数据由 IDEA 研究院提供

dbd9e7012f08f175280747ba99b6f123.png

7e348b38daf39e490ecf6af32f24826a.png

4b6cfdb3843d5bb2cd0654a40f5cf1b0.png

898c6617fe1f7b68552e9cfde62d67a3.png

综上,在各种硬件的对比中,对比 PyTorch, OneFlow 能将太乙 Stable Diffusion 的推理性能提升 1 倍多。

2

生成图片展示

滔滔江水, 连绵不绝, 唯美, 插画

870f173c57f3a2504455fe15c1483962.png

长城, 清晨, 朦胧, 唯美, 插画

57648864a4a0ebf4891aca2247563a8e.png

梦回江南,中国古代小镇,唯美,插画

79f2ea43173b6baf5065a7601e0f7f8c.png

中国的未来城市, 科幻插画

f6f92477a4d4606591dfe311e3e6a6f9.png

古代建筑, 白雪纷飞

3d6d1ea88877e1094ebbebb97fb03d7e.png

螺蛳粉

0b5e0b273e7431458bebadefb0886127.png

注:上述图片均基于 OneFlow 版太乙 Stable Diffusion 生成
 

3

无缝兼容 PyTorch 生态

想体验 OneFlow 版的太乙 Stable Diffusion?只需要修改两行代码:

fc93a1a650ff324695c67af8e1bc0d8a.png

之所以能这么轻松迁移模型,是因为 OneFlow Stable Diffusion 有两个出色的特性:

  1. OneFlowStableDiffusionPipeline.from_pretrained 能够直接使用 PyTorch 权重。

  2. OneFlow 本身的 API 和 PyTorch 对齐,因此 import oneflow as torch 之后,torch.autocast、torch.float16 等表达式完全不需要修改。

上述特性使得 OneFlow 兼容了 PyTorch 的生态,这不仅在 OneFlow 对 太乙 Stable Diffusion 的迁移中发挥了作用,也大大加速了 OneFlow 用户迁移其它许多模型,比如在和 torchvision 对标的 flowvision 中,许多模型只需通过在 torchvision 模型文件中加入 import oneflow as torch 即可得到。

此外,OneFlow 还提供全局 “mock torch” 功能,在命令行运行 eval $(oneflow-mock-torch) 就可以让接下来运行的所有 Python 脚本里的 import torch 都自动指向 oneflow。
 

4

动静一体的编程体验

深度学习算法原型开发阶段需要快速修改和调试,动态图执行(Eager mode, define by run)最优。但在部署阶段,模型已经固定下来,计算效率变得更重要,静态图执行(Lazy mode,define and run)可以借助编译器做静态优化来获得更好的性能。因此,推理阶段主要使用静态图模式。

最近,PyTorch 升级到2.0引入了compile()这个API,可以把一个模型或一个Module从动态图执行变成静态图执行。OneFlow里也有一个类似的机制,不过接口名是nn.Graph(),它可以把传入Module转成静态图执行模式。

不仅如此,OneFlow的nn.Graph模式基于MLIR实现了一系列计算图的图层优化,譬如内存布局、算子融合等。
 

这不仅使得计算图表示的深度学习模型可以在各种硬件上达到最高性能,更重要的是,使得深度学习框架导入的计算图更方便地在不同硬件之间实现迁移,有助于克服国产硬件软件生态薄弱的问题。未来,我们将发布更多内容来揭示OneFlow深度学习编译器的设计和实现。

欢迎Star、运行 OneFlow 版太乙 Stable Diffusion:
 

https://github.com/Oneflow-Inc/diffusers/wiki/How-to-Run-OneFlow-Stable-Diffusion#without-docker
 

OneFlow 地址:https://github.com/Oneflow-Inc/oneflow/
 

其他人都在看

  • 35张图,直观理解Stable Diffusion

  • ChatGPT的一小步,NLP范式转变的一大步

  • 2023年AI十大展望:GPT-4领衔大模型变革

  • 李白:你的模型权重很不错,可惜被我没收了

  • OpenAI掌门Sam Altman:AI下一个发展阶段

  • 比快更快,开源Stable Diffusion刷新作图速度

  • OneEmbedding:单卡训练TB级推荐模型不是梦

欢迎Star、试用OneFlow最新版本:https://github.com/Oneflow-Inc/oneflow/icon-default.png?t=MBR7https://github.com/Oneflow-Inc/oneflow/

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

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

相关文章

Java学习方式分享

哈喽,大家好呀,好久不见!咱依然是那个腼腆害羞内向社恐文静、唱跳rap篮球都不大行的【三婶er】 坦白地说,今天是偶然看到C站这个活动的,这个主题我颇有感触,刚学java时的场景,历历在目。所以今天…

多模态大模型的发展、挑战与应用

多模态大模型的发展、挑战与应用 2023/04/15 研究进展 随着 AlexNet [1] 的出现,过去十年里深度学习得到了快速的发展,而卷积神经网络也从 AlexNet 逐步发展到了 VGG [2]、ResNet [3]、DenseNet [4]、HRNet [5] 等更深的网络结构。研究者们发现&#…

隐私计算头条周刊(2.13-2.19)

开放隐私计算 收录于合集 #企业动态44个#周刊合辑44个#政策聚焦37个#隐私计算91个#行业研究36个 开放隐私计算 开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神,专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的…

SpringBoot版的低代码开发平台,关联无 SQL - 第462篇

历史文章(文章累计450) 《国内最全的Spring Boot系列之一》 《国内最全的Spring Boot系列之二》 《国内最全的Spring Boot系列之三》 《国内最全的Spring Boot系列之四》 《国内最全的Spring Boot系列之五》 《国内最全的Spring Boot系列之六》 (…

手把手的教你安装PyCharm --Pycharm安装详细教程(一)(非常详细,非常实用)

简介 Jetbrains家族和Pycharm版本划分: pycharm是Jetbrains家族中的一个明星产品,Jetbrains开发了许多好用的编辑器,包括Java编辑器(IntelliJ IDEA)、JavaScript编辑器(WebStorm)、PHP编辑器(PHPStorm)、Ruby编辑器(RubyMine)、C和C++编辑器(CLion)、.Net编辑器…

清华大模型人才遭哄抢!盘点5大学术重镇10大产业玩家

衡宇 发自 凹非寺量子位 | 公众号 QbitAI 做类ChatGPT产品,组中国版OpenaAI恐怕是先当下最最人尽皆知的创投野心。 有人官宣标榜放话,也有VC开始把视角投向产学研转换的大模型项目——或许能更有基础一些,其中,清华大学显然处于身…

ChatGPT能取代多少程序员

“去年年底,我看到大佬们都在分享ChatGPT相关的内容,一开始我以为还是资本和大佬fomo的玩具,但是经过使用、和朋友交流,加上自己的研究,我确信ChatGPT模型是革命性的。”樊高曾在国内大厂做过后端工程师,离…

SpringBoot 整合 ChatGPT API 项目实战,挣了3K!

大家好,我是老赵 体验到了ChatGPT的强大之后,那么我们会想,如果我们想基于ChatGPT开发一个自己的聊天机器人,这个能搞定吗? ChatGPT平台已经为技术提供了一个入口了,很简单的就是实现了。 一、准备工作 &am…

【Notion AI 功能试用】写作修改、润色、总结、翻译效果

Notion AI 产品试用 软件连接 https://www.notion.so/product/ai?refgodly 国内可用,不屏蔽。 我的感觉它是一个方便生成博客文字的东西。没有用ChatGPT接口。 根据 Notion 官方介绍,Notion AI 的几个核心功能:写作、改写、总结、修正、提…

基于java的CRM客户关系管理系统的设计与实现

本科毕业设计(论文) 题 目: 基于java的CRM客户关系管理系统的设计与实现 专题题目: 说 明 请按以下顺序编排: 封面 任务书 开题报告 中外文摘要及关键词 目录 正文 附录(可选) 参考文献 外文资料(可选&…

导航、开源镜像、Prompt ( AI 提示词 )、AI工具集、chatgpt镜像

1、导航 网站 众多网址导航中,哪个最好?理由是什么? :https://www.zhihu.com/question/19899559 除了百度,其他搜索引擎: 综合类搜索导航(Anywhere Anything):http://lackar.com/aa/ 渗透师 导…

Docker的使用教程、学习笔记,附实战:部署chatgpt网页版ui,部署mysql8数据库

作者:ChenZhen 博客地址:https://www.chenzhen.space/ 版权:来自b站视频 【SpringCloudRabbitMQDockerRedis搜索分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 因为黑马的课件ppt做的实在是太好了&#xff…

软件工程实践-软件评测

2023春软件工程实践2023年福大-软件工程实践-W班社区-CSDN社区云这个作业要求在哪里软件工程实践——软件评测作业-CSDN社区这个作业的目标调研评测InsCode,IT屋,Online Compiler and IDE其他参考文献构建之法 文章目录 1. 产品调研1.1 InsCode1.1.1 体验…

AI智能编程工具Cursor使用介绍

快捷导航 一、简介二、使用体验2.1 让它写一个单例类,并让它不断改进2.2 做一道力扣算法题 三、安装使用3.1 下载-安装-注册3.2 使用3.3 怎么设置中文显示3.4 导入工程3.5 创建Maven项目 四、结语 一、简介 为使用人工智能编程而构建的编辑器,一款人工智…

给大家推荐一款ChatGPT国产IDE插件【TalkX】真的好用!

什么是TalkX? 今天给大家分享一款基于 ChatGPT / GPT 的开发插件:TalkX,它目前可以在 JetBrains(IntelliJ IDEA、PyCharm)、VS Code、HBuilder 这些开发软件的插件市场下载安装。 TalkX 据说是由国内多年互联网经验团…

打造中国版 ChatGPT,清华大模型人才遭哄抢!盘点国内5大学术团队10大产业玩家...

来源:量子位 做类ChatGPT产品,组中国版OpenaAI恐怕是先当下最最人尽皆知的创投野心。 有人官宣标榜放话,也有VC开始把视角投向产学研转换的大模型项目——或许能更有基础一些,其中,清华大学显然处于身负众望的头一梯队…

软件工程实践——软件评测作业

这个作业属于哪个课程2023春季软件工程&实践w班这个作业要求在哪里软件工程实践——软件评测作业这个作业的目标学会对产品进行调研评测与分析,并给出建议和规划其他参考文献《构建之法》、软件工程 案例分析作业 文章目录 第一部分 调研,评测&#…

AI歌手会成为发展的主流吗

文章目录 背景一、什么是AI音乐?它可以做什么?二、AI歌手的音乐听起来是如何的?三、这种新型演艺模式能否获得广泛的市场认可?原因是什么?四、你所了解到的这类AI应用还有哪些呢?可以分享一下。 背景 前文…

全国首份AIGC产业全景报告发布!53页108MB,中国50大值得关注的AIGC公司浮出水面...

文章转自:量子位 全国首份AIGC产业全景报告,主打硬核干货,它来了! 2023年,被称作ChatGPT元年,ChatGPT现世至今,AIGC这把火彻底点燃了全世界。 巨头们卡着对手的时间点,争相发布新产品…

首份中国AIGC产业全景报告发布!三大类玩家,四种商业模式,万亿规模市场,还有最值得关注50家企业...

组委会 发自 凹非寺量子位 | 公众号 QbitAI 是时候给出一份全面的洞察结果了—— 行业首份AIGC产业全景报告,主打硬核干货,它来了! 2023年,被称作ChatGPT元年,ChatGPT现世至今,AIGC这把火彻底点燃了全世界。…