1秒出图,全球最快的开源Stable Diffusion出炉
机器之心发布
机器之心编辑部
OneFlow 将 Stable Diffusion 的推理性能推向了一个全新的 SOTA。
第一辆汽车诞生之初,时速只有 16 公里,甚至不如马车跑得快,很长一段时间,汽车尴尬地像一种“很酷的玩具”。人工智能作图的出现也是如此。
AI 作图一开始的 “风格化” 本身就为 “玩” 而生,大家普遍兴致勃勃地尝试头像生成、磨皮,但很快就失去兴趣。直到扩散模型的降临,才给 AI 作图带来质变,让人们看到了 “AI 转成生产力” 的曙光:画家、设计师不用绞尽脑汁思考色彩、构图,只要告诉 Diffusion 模型想要什么,就能言出法随般地生成高质量图片。
然而,与汽车一样,如果扩散模型生成图片时“马力不足”,那就没法摆脱玩具的标签,成为人类手中真正的生产工具。
起初,AI 作图需要几天,再缩减到几十分钟,再到几分钟,出图时间在不断加速,问题是,究竟快到什么程度,才会在专业的美术从业者甚至普通大众之间普及开来?
显然,现在还无法给出具体答案。即便如此,可以确定的是 AI 作图在技术和速度上的突破,很可能已经接近甚至超过阈值,因为这一次,OneFlow 带来了字面意义上 “一秒出图” 的 Stable Diffusion 模型。
OneFlow Stable Diffusion 使用地址:https://github.com/Oneflow-Inc/diffusers/wiki/How-to-Run-OneFlow-Stable-DiffusionOneFlow 地址:https://github.com/Oneflow-Inc/oneflow/比快更快,OneFlow 一马当先
下面的图表分别展示了在 A100 (PCIe 40GB / SXM 80GB)、RTX 2080 和 T4 不同类型的 GPU 硬件上,分别使用 PyTorch, TensorRT, AITemplate 和 OneFlow 四种深度学习框架或者编译器,对 Stable Diffusion 进行推理时的性能表现。
![](https://www.shijiezz.com/data/attachment/portal/202303/07/xz4zswflunc.jpg)
![](https://www.shijiezz.com/data/attachment/portal/202303/07/rpmq20mmety.jpg)
对于 A100 显卡,无论是 PCIe 40GB 的配置还是 SXM 80GB 的配置,OneFlow 的性能可以在目前的最优性能之上继续提升 15% 以上。
特别是在 SXM 80GB A100 上,OneFlow 首次让 Stable Diffusion 的推理速度达到了 50it/s 以上,首次把生成一张图片需要采样 50 轮的时间降到 1 秒以内,是当之无愧的性能之王。
![](https://www.shijiezz.com/data/attachment/portal/202303/07/ogy01qtyfrt.jpg)
在 T4 推理卡上,由于 AITemplate 暂不支持 Stable Diffsuion,相比于目前 SOTA 性能的 TensorRT,OneFlow 的性能是它的 1.5 倍。
![](https://www.shijiezz.com/data/attachment/portal/202303/07/1k3vid2vpv3.jpg)
而在 RTX2080 上,TensorRT 在编译 Stable Diffsuion 时会 OOM ,相比于目前 SOTA 性能的 PyTorch,OneFlow 的性能是它的 2.25 倍。
综上,在各种硬件以及更多框架的对比中,OneFlow 都将 Stable Diffusion 的推理性能推向了一个全新的 SOTA。
生成图片展示
利用 OneFlow 版的 Stable Diffusion,你可以把天马行空的想法很快转化成艺术图片,譬如:
以假乱真的阳光、沙滩和椰树:
![](https://www.shijiezz.com/data/attachment/portal/202303/07/dvi4wnln4l3.jpg)
仓鼠救火员、长兔耳朵的狗子:
![](https://www.shijiezz.com/data/attachment/portal/202303/07/yc3j3iolrek.jpg)
在火星上吃火锅:
![](https://www.shijiezz.com/data/attachment/portal/202303/07/4j0dwnzxkvb.jpg)
未来异世界 AI:
![](https://www.shijiezz.com/data/attachment/portal/202303/07/fy1gudkkl2j.jpg)
集齐 OneFlow 七龙珠:
![](https://www.shijiezz.com/data/attachment/portal/202303/07/vol2ao3uus5.jpg)
上述图片均基于 OneFlow 版 Stable Diffusion 生成。如果你一时没有好的 idea,可以在 lexica 上参考一下广大网友的创意,不仅有生成图片还提供了对应的描述文字。
![](https://www.shijiezz.com/data/attachment/portal/202303/07/lgrlj4tx0di.jpg)
无缝兼容 PyTorch 生态,实现一键模型迁移
想体验 OneFlow Stable Diffusion?只需要修改三行代码,你就可以将 HuggingFace 中的 PyTorch Stable Diffusion 模型改为 OneFlow 模型,分别是将 import torch 改为 import oneflow as torch 和将 StableDiffusionPipeline 改为 OneFlowStableDiffusionPipeline:
![](https://www.shijiezz.com/data/attachment/portal/202303/07/c52pmofdtni.jpg)
之所以能这么轻松迁移模型,是因为 OneFlow Stable Diffusion 有两个出色的特性:
OneFlowStableDiffusionPipeline.from_pretrained 能够直接使用 PyTorch 权重。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。
使用 OneFlow 运行 Stable Diffusion
在 docker 中使用 OneFlow 运行 StableDiffusion 模型生成图片:
docker run --rm -it \ --gpus all --ipc=host --ulimit memlock=-1 --ulimit stack=67108864 \ -v ${HF_HOME}:${HF_HOME} \ -v ${PWD}:${PWD} \ -w ${PWD} \ -e HF_HOME=${HF_HOME} \ -e HUGGING_FACE_HUB_TOKEN=${HUGGING_FACE_HUB_TOKEN} \ oneflowinc/oneflow-sd:cu112 \ python3 /demos/oneflow-t2i.py # --prompt "a photo of an astronaut riding a horse on mars"
更详尽的使用方法请参考:https://github.com/Oneflow-Inc/diffusers/wiki/How-to-Run-OneFlow-Stable-Diffusion
后续工作
后续 OneFlow 团队将积极推动 OneFlow 的 diffusers(https://github.com/Oneflow-Inc/diffusers.git) 和 transformers(https://github.com/Oneflow-Inc/transformers.git) 的 fork 仓库内容合并到 huggingface 上游的的对应仓库。这也是 OneFlow 首次以 transformers/diffusers 的后端的形式开发模型,欢迎各位开发者朋友在 GitHub 上反馈意见。
值得一提的是,在优化和加速 Stable Diffusion 模型的过程中使用了 OneFlow 自研编译器,不仅让 PyTorch 前端搭建的 Stable Diffusion 在 NVIDIA GPU 上跑得更快,而且也可以让这样的模型在国产 AI 芯片和 GPU 上跑得更快,这些将在之后的文章中揭秘技术细节。
大家都在看
-
世界上最快的数据 #头条首发大赛#快速导读Cern的网络工程师成功在LHC和荷兰的数据存储站点之间建立了每秒800 Gbps的数据链路,增强了科学家们获取实验结果的能力。全球网络专家正致力于开发高速光纤系 世界最快07-02
-
全球最快的六款战斗机 全球飞给大家盘点一下全球飞的最快的六架战斗机,按照快慢的顺序排列,看看哪一款是你心目中真正的霸主?·排行老六的就是大名鼎鼎的f十五英式战斗机了,从一九七二年开始上天到现在 世界最快06-17
-
438.7公里 / 小时!日本Owl SP600登顶世界 IT之家 6 月 13 日消息,日本汽车制造商和工程公司 Aspark 联合意大利 Manifattura Automobili Torino 公司,升级打造了旗下 Owl 电动超跑。新车在德国的测试赛道上以接近 439 公里 / 世界最快06-13
-
世界上速度最快的10台车 世界上速度最快的1 世界最快的10台汽车。盘点世界上最快的10台汽车。你是否对全球最快的汽车充满好奇?那些驰骋在赛道上速度超越极限的猛兽究竟有哪些让人惊叹的数据与故事?从萨林S7到ssc Tuatara,我 世界最快06-05
-
你知道世界上最快的船是怎么样的吗? 你知道世界上最快的船是怎么样吗?你知道世界上最快的船是怎样的吗?让我们一起探索高速船的奥秘。在这个视频里,我们将深入了解高速船的定义、设计、应用和最新技术。高速船不仅仅是 世界最快05-28
-
盘点全球速度最快的10辆高铁:美国一辆都没 一口气看完全球最快列车天花板排名,中国不愧在这方面遥遥领先,美国是一辆都没有啊,就算强如法国阿尔斯通公司,也只能窃取我们的技术!第10名、KTX-山川(KTX Sancheon)KTX-山川, 世界最快05-23
-
世界上速度最快的7艘军用快艇! 引言最近,军事科技界的一大话题就是关于速度最快的军用快艇了。说起这项话题,你或许会想,这些高速艇究竟有多快?让我们走进这个话题,一起探求答案。细数全球速度领先的7艘军用快 世界最快05-23
-
世界上速度最快的10种动物,猎豹只能排第七 世界上速度最快的十种动物,你都知道几个?就连猎豹也只能排倒数,排第一名的动物更是比高铁还快,下面就带你一起盘点一下第十名:纯血马 纯血马,这个名字几乎成了速度与优雅的代名 世界最快05-22
-
“史上最快飞机”能否刷新纪录?美国推出的 美国最近展示了一架旨在成为史上最快飞机的实验机。开发这架飞机的是新兴企业赫尔墨斯公司。不过,该公司的目标更加远大。搭载与战斗机相同的引擎 2024年3月,美国航空航天制造商赫尔 世界最快05-21
-
世界上飞的最快的鸟,时速高达352公里,比 在自然界中,速度一直是生物们竞争的焦点。其中,尖尾雨燕和游隼以其惊人的飞行速度,成为了速度的代名词。尖尾雨燕,这种拥有一对剪刀尾的鸟类,以其最高时速352.5公里/小时的速度, 世界最快05-16
相关文章
- 世界上最快的四轴飞行器打破了吉尼斯纪录
- 全球最快的十款洲际弹道导弹
- 盘点世界上速度最快的5款摩托车,川崎忍者H
- 看看世界上最快的25款量产车都有谁,其中还
- 揭秘地球上移动速度最快的动物,你能想象每
- 世界上速度最快的8艘军用快艇 #军事武器
- 世界上速度最快的8艘军用快艇
- 10大全球最快的汽车,百公里加速仅差1.3秒
- 中国制造全球最快列车,时速620公里如同飞
- 运算速度最快的计算机刷新世界纪录
- 五常航母速度比拼,英国航母28节,俄罗斯29
- 全球最强防空导弹将面世,可拦截20马赫导弹
- 世界上跑得最快的博尔特值多少钱?钱从哪儿
- 我的世界什么铁轨最快 哪种铁轨速度最快最
- 发展新质生产力·一线观察丨时速400公里!
- 世界上速度最快的鱼类之一,时速达160公里
- 运营时速提升至 400 公里,世界最快高铁 CR
- 迄今为止,地球上速度最快的人造物是什么?
- 60年前的XB70女武神到底有多强?至今仍是世
- 时速400公里,世界最快高铁要来了!可为何
热门阅读
-
世界上速度最快的火箭车,每小时达到1600公 04-26
-
世界上飞行最快的鸟,灵活的军舰鸟 04-26
-
世界上语速最快的女人,在54.2秒内读完603 04-26
-
世界上最快的车,突破音速极限(最高时速: 07-14
-
世界上最快的摩托车,简直就是蝙蝠侠战车与 08-08
-
世界上跑的最快的男孩,100米仅用时13.48秒 04-26
-
世界上最快的快艇,非捷豹莫属。 07-14
-
刘翔110米栏世界纪录的意义重大 看完太激动 07-13