第一辆汽车诞生之初,时速只有 16 公里,甚至不如马车跑得快,很长一段时间,汽车尴尬地像一种“很酷的玩具”。人工智能作图的出现也是如此。
AI 作图一开始的 “风格化” 本身就为 “玩” 而生,大家普遍兴致勃勃地尝试头像生成、磨皮,但很快就失去兴趣。直到扩散模型的降临,才给 AI 作图带来质变,让人们看到了 “AI 转成生产力” 的曙光:画家、设计师不用绞尽脑汁思考色彩、构图,只要告诉 Diffusion 模型想要什么,就能言出法随般地生成高质量图片。
然而,与汽车一样,如果扩散模型生成图片时“马力不足”,那就没法摆脱玩具的标签,成为人类手中真正的生产工具。
起初,AI 作图需要几天,再缩减到几十分钟,再到几分钟,出图时间在不断加速,问题是,究竟快到什么程度,才会在专业的美术从业者甚至普通大众之间普及开来?
显然,现在还无法给出具体答案。即便如此,可以确定的是 AI 作图在技术和速度上的突破,很可能已经接近甚至超过阈值。
其中一大标志性事件是,近期 OneFlow 首度将 Stable Diffusion 模型加速至“一秒出图”时代,随后AI社区开启一场AI作图的竞速“内卷”。刚刚,OneFlow又刷新了SOTA记录。
-
OneFlow Stable Diffusion 使用地址: https://github.com/Oneflow-Inc/diffusers/wiki/How-to-Run-OneFlow-Stable-Diffusion -
OneFlow 地址: https://github.com/Oneflow-Inc/oneflow/
比快更快,OneFlow 一马当先
11月7日,OneFlow 宣布将 Stable Diffusion 模型作图速度实现了字面意义上的“一秒出图”,在各种硬件以及更多框架的对比中,OneFlow 都将 Stable Diffusion 的推理性能推向了一个全新的 SOTA。
下面的图表分别展示了此前在 A100(PCIe 40GB / SXM 80GB)硬件上,分别使用 PyTorch, TensorRT, AITemplate 和 OneFlow 四种深度学习框架或编译器,对 Stable Diffusion 进行推理时的性能表现。
性能优化无止境,OneFlow 也在不断迭代。两周之后,OneFlow 对Stable Diffusion 也做了进一步性能升级,并再度反超了 AITemplate 的结果 ,现在速度最快的还是 OneFlow。
可以看到,在 A100 显卡上,无论是 PCIe 40GB 的配置还是 SXM 80GB 的配置,OneFlow 基于此前性能结果继续提升 10% 以上,并且依然是当之无愧的性能之王。
生成图片展示
无缝兼容 PyTorch 生态,实现一键模型迁移
-
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 运行 Stable Diffusion
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
后续工作
欢迎在GitHub上Star、试用:
-
OneFlow Stable Diffusion 地址: https://github.com/Oneflow-Inc/diffusers/wiki/How-to-Run-OneFlow-Stable-Diffusion -
OneFlow 地址: https://github.com/Oneflow-Inc/oneflow/
-
更快的YOLOv5问世,附送全面中文解析教程 -
李白:你的模型权重很不错,可惜被我没收了 -
Stable Diffusion半秒出图;VLIW的前世今生 -
大模型狂潮背后:AI基础设施“老化”与改造工程 -
OneEmbedding:单卡 训练TB级推荐模型不是梦