0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OneFlow 將 Stable Diffusion的推理性能推向了一個(gè)全新的SOTA

人工智能與大數(shù)據(jù)技術(shù) ? 來(lái)源:機(jī)器之心 ? 作者:機(jī)器之心 ? 2022-11-30 10:03 ? 次閱讀

OneFlow 將 Stable Diffusion 的推理性能推向了一個(gè)全新的 SOTA。

第一輛汽車(chē)誕生之初,時(shí)速只有 16 公里,甚至不如馬車(chē)跑得快,很長(zhǎng)一段時(shí)間,汽車(chē)尷尬地像一種“很酷的玩具”。人工智能作圖的出現(xiàn)也是如此。

AI 作圖一開(kāi)始的 “風(fēng)格化” 本身就為 “玩” 而生,大家普遍興致勃勃地嘗試頭像生成、磨皮,但很快就失去興趣。直到擴(kuò)散模型的降臨,才給 AI 作圖帶來(lái)質(zhì)變,讓人們看到了 “AI 轉(zhuǎn)成生產(chǎn)力” 的曙光:畫(huà)家、設(shè)計(jì)師不用絞盡腦汁思考色彩、構(gòu)圖,只要告訴 Diffusion 模型想要什么,就能言出法隨般地生成高質(zhì)量圖片。

然而,與汽車(chē)一樣,如果擴(kuò)散模型生成圖片時(shí)“馬力不足”,那就沒(méi)法擺脫玩具的標(biāo)簽,成為人類手中真正的生產(chǎn)工具。

起初,AI 作圖需要幾天,再縮減到幾十分鐘,再到幾分鐘,出圖時(shí)間在不斷加速,問(wèn)題是,究竟快到什么程度,才會(huì)在專業(yè)的美術(shù)從業(yè)者甚至普通大眾之間普及開(kāi)來(lái)?

顯然,現(xiàn)在還無(wú)法給出具體答案。即便如此,可以確定的是 AI 作圖在技術(shù)和速度上的突破,很可能已經(jīng)接近甚至超過(guò)閾值,因?yàn)檫@一次,OneFlow 帶來(lái)了字面意義上 “一秒出圖” 的 Stable Diffusion 模型。

OneFlow Stable Diffusion 使用地址:https://github.com/Oneflow-Inc/diffusers/wiki/How-to-Run-OneFlow-Stable-Diffusion

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

比快更快,OneFlow 一馬當(dāng)先

下面的圖表分別展示了在 A100 (PCIe 40GB / SXM 80GB)、RTX 2080 和 T4 不同類型的 GPU 硬件上,分別使用 PyTorch, TensorRT, AITemplate 和 OneFlow 四種深度學(xué)習(xí)框架或者編譯器,對(duì) Stable Diffusion 進(jìn)行推理時(shí)的性能表現(xiàn)。

659d18c6-7050-11ed-8abf-dac502259ad0.png

65b0bbce-7050-11ed-8abf-dac502259ad0.png

對(duì)于 A100 顯卡,無(wú)論是 PCIe 40GB 的配置還是 SXM 80GB 的配置,OneFlow 的性能可以在目前的最優(yōu)性能之上繼續(xù)提升 15% 以上。

特別是在 SXM 80GB A100 上,OneFlow 首次讓 Stable Diffusion 的推理速度達(dá)到了 50it/s 以上,首次把生成一張圖片需要采樣 50 輪的時(shí)間降到 1 秒以內(nèi),是當(dāng)之無(wú)愧的性能之王。

65bb3a0e-7050-11ed-8abf-dac502259ad0.png

在 T4 推理卡上,由于 AITemplate 暫不支持 Stable Diffsuion,相比于目前 SOTA 性能的 TensorRT,OneFlow 的性能是它的 1.5 倍。

65c97db2-7050-11ed-8abf-dac502259ad0.png

而在 RTX2080 上,TensorRT 在編譯 Stable Diffsuion 時(shí)會(huì) OOM ,相比于目前 SOTA 性能的 PyTorch,OneFlow 的性能是它的 2.25 倍。

綜上,在各種硬件以及更多框架的對(duì)比中,OneFlow 都將 Stable Diffusion 的推理性能推向了一個(gè)全新的 SOTA。

生成圖片展示

利用 OneFlow 版的 Stable Diffusion,你可以把天馬行空的想法很快轉(zhuǎn)化成藝術(shù)圖片,譬如:

以假亂真的陽(yáng)光、沙灘和椰樹(shù):

倉(cāng)鼠救火員、長(zhǎng)兔耳朵的狗子:

在火星上吃火鍋:

未來(lái)異世界 AI:

集齊 OneFlow 七龍珠:

圖片均基于 OneFlow 版 Stable Diffusion 生成。如果你一時(shí)沒(méi)有好的 idea,可以在 lexica 上參考一下廣大網(wǎng)友的創(chuàng)意,不僅有生成圖片還提供了對(duì)應(yīng)的描述文字。

無(wú)縫兼容 PyTorch 生態(tài),實(shí)現(xiàn)一鍵模型遷移

想體驗(yàn) OneFlow Stable Diffusion?只需要修改三行代碼,你就可以將 HuggingFace 中的 PyTorch Stable Diffusion 模型改為 OneFlow 模型,分別是將 import torch 改為 import oneflow as torch 和將 StableDiffusionPipeline 改為 OneFlowStableDiffusionPipeline:

669e52e4-7050-11ed-8abf-dac502259ad0.png

之所以能這么輕松遷移模型,是因?yàn)?OneFlow Stable Diffusion 有兩個(gè)出色的特性:

OneFlowStableDiffusionPipeline.from_pretrained 能夠直接使用 PyTorch 權(quán)重。

OneFlow 本身的 API 也是和 PyTorch 對(duì)齊的,因此 import oneflow as torch 之后,torch.autocast、torch.float16 等表達(dá)式完全不需要修改。

上述特性使得 OneFlow 兼容了 PyTorch 的生態(tài),這不僅在 OneFlow 對(duì) Stable Diffusion 的遷移中發(fā)揮了作用,也大大加速了 OneFlow 用戶遷移其它許多模型,比如在和 torchvision 對(duì)標(biāo)的 flowvision 中,許多模型只需通過(guò)在 torchvision 模型文件中加入 import oneflow as torch 即可得到。

此外,OneFlow 還提供全局 “mock torch” 功能,在命令行運(yùn)行 eval $(oneflow-mock-torch) 就可以讓接下來(lái)運(yùn)行的所有 Python 腳本里的 import torch 都自動(dòng)指向 oneflow。

使用 OneFlow 運(yùn)行 Stable Diffusion

在 docker 中使用 OneFlow 運(yùn)行 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"

更詳盡的使用方法請(qǐng)參考:https://github.com/Oneflow-Inc/diffusers/wiki/How-to-Run-OneFlow-Stable-Diffusion

后續(xù)工作

后續(xù) OneFlow 團(tuán)隊(duì)將積極推動(dòng) OneFlow 的 diffusers(https://github.com/Oneflow-Inc/diffusers.git) 和 transformers(https://github.com/Oneflow-Inc/transformers.git) 的 fork 倉(cāng)庫(kù)內(nèi)容合并到 huggingface 上游的的對(duì)應(yīng)倉(cāng)庫(kù)。這也是 OneFlow 首次以 transformers/diffusers 的后端的形式開(kāi)發(fā)模型,歡迎各位開(kāi)發(fā)者朋友在 GitHub 上反饋意見(jiàn)。

值得一提的是,在優(yōu)化和加速 Stable Diffusion 模型的過(guò)程中使用了 OneFlow 自研編譯器,不僅讓 PyTorch 前端搭建的 Stable Diffusion 在 NVIDIA GPU 上跑得更快,而且也可以讓這樣的模型在國(guó)產(chǎn) AI 芯片和 GPU 上跑得更快,這些將在之后的文章中揭秘技術(shù)細(xì)節(jié)。

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    30947

    瀏覽量

    269216
  • 人工智能
    +關(guān)注

    關(guān)注

    1791

    文章

    47314

    瀏覽量

    238651
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3358

    瀏覽量

    42523

原文標(biāo)題:1秒出圖,這個(gè)開(kāi)源項(xiàng)目太牛了!

文章出處:【微信號(hào):TheBigData1024,微信公眾號(hào):人工智能與大數(shù)據(jù)技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    NVIDIA Jetson Orin Nano開(kāi)發(fā)者套件的新功能

    生成式 AI 領(lǐng)域正在迅速發(fā)展,每天都有新的大語(yǔ)言模型(LLM)、視覺(jué)語(yǔ)言模型(VLM)和視覺(jué)語(yǔ)言動(dòng)作模型(VLA)出現(xiàn)。為了在這充滿變革的時(shí)代保持領(lǐng)先,開(kāi)發(fā)者需要個(gè)足夠強(qiáng)大的平臺(tái)
    的頭像 發(fā)表于 12-23 12:54 ?163次閱讀
    NVIDIA Jetson Orin Nano開(kāi)發(fā)者套件的新功能

    利用Arm Kleidi技術(shù)實(shí)現(xiàn)PyTorch優(yōu)化

    PyTorch 是個(gè)廣泛應(yīng)用的開(kāi)源機(jī)器學(xué)習(xí) (ML) 庫(kù)。近年來(lái),Arm 與合作伙伴通力協(xié)作,持續(xù)改進(jìn) PyTorch 的推理性能。本文詳細(xì)介紹如何利用 Arm Kleidi 技術(shù)
    的頭像 發(fā)表于 12-23 09:19 ?172次閱讀
    利用Arm Kleidi技術(shù)實(shí)現(xiàn)PyTorch優(yōu)化

    解鎖NVIDIA TensorRT-LLM的卓越性能

    NVIDIA TensorRT-LLM 是個(gè)專為優(yōu)化大語(yǔ)言模型 (LLM) 推理而設(shè)計(jì)的庫(kù)。它提供多種先進(jìn)的優(yōu)化技術(shù),包括自定義 Attention Kernel、Inflight
    的頭像 發(fā)表于 12-17 17:47 ?176次閱讀

    如何開(kāi)啟Stable Diffusion WebUI模型推理部署

    如何開(kāi)啟Stable Diffusion WebUI模型推理部署
    的頭像 發(fā)表于 12-11 20:13 ?110次閱讀
    如何開(kāi)啟<b class='flag-5'>Stable</b> <b class='flag-5'>Diffusion</b> WebUI模型<b class='flag-5'>推理</b>部署

    Arm KleidiAI助力提升PyTorch上LLM推理性能

    熱門(mén)的深度學(xué)習(xí)框架尤為突出,許多企業(yè)均會(huì)選擇其作為開(kāi)發(fā) AI 應(yīng)用的庫(kù)。通過(guò)部署 Arm Kleidi 技術(shù),Arm 正在努力優(yōu)化 PyTorch,以加速在基于 Arm 架構(gòu)的處理器上運(yùn)行 LLM 的性能。Arm 通過(guò) Kleidi 技術(shù)直接集成到 PyTorch 中,
    的頭像 發(fā)表于 12-03 17:05 ?812次閱讀
    Arm KleidiAI助力提升PyTorch上LLM<b class='flag-5'>推理性能</b>

    澎峰科技高性能大模型推理引擎PerfXLM解析

    自ChatGPT問(wèn)世以來(lái),大模型遍地開(kāi)花,承載大模型應(yīng)用的高性能推理框架也不斷推出,大有百家爭(zhēng)鳴之勢(shì)。在這種情況下,澎峰科技作為全球領(lǐng)先的智能計(jì)算服務(wù)提供商,在2023年11月25日發(fā)布針對(duì)大語(yǔ)言
    的頭像 發(fā)表于 09-29 10:14 ?488次閱讀
    澎峰科技高<b class='flag-5'>性能</b>大模型<b class='flag-5'>推理</b>引擎PerfXLM解析

    開(kāi)箱即用,AISBench測(cè)試展示英特爾至強(qiáng)處理器的卓越推理性能

    近期,第五代英特爾?至強(qiáng)?可擴(kuò)展處理器通過(guò)了中國(guó)電子技術(shù)標(biāo)準(zhǔn)化研究院組織的人工智能服務(wù)器系統(tǒng)性能測(cè)試(AISBench)。英特爾成為首批通過(guò)AISBench大語(yǔ)言模型(LLM)推理性能測(cè)試的企業(yè)
    的頭像 發(fā)表于 09-06 15:33 ?350次閱讀
    開(kāi)箱即用,AISBench測(cè)試展示英特爾至強(qiáng)處理器的卓越<b class='flag-5'>推理性能</b>

    魔搭社區(qū)借助NVIDIA TensorRT-LLM提升LLM推理效率

    “魔搭社區(qū)是中國(guó)最具影響力的模型開(kāi)源社區(qū),致力給開(kāi)發(fā)者提供模型即服務(wù)的體驗(yàn)。魔搭社區(qū)利用NVIDIA TensorRT-LLM,大大提高了大語(yǔ)言模型的推理性能,方便了模型應(yīng)用部署,提高了大模型產(chǎn)業(yè)應(yīng)用效率,更大規(guī)模地釋放大模型的應(yīng)用價(jià)值?!?/div>
    的頭像 發(fā)表于 08-23 15:48 ?456次閱讀

    NB81是否支持OneNet SOTA功能?應(yīng)該如何激活SOTA?

    NB81是否支持OneNet SOTA功能? 可以支持,應(yīng)該如何激活SOTA?
    發(fā)表于 06-04 06:14

    旋變位置不變的情況下,當(dāng)使能SOTA功能與關(guān)閉SOTA功能時(shí),APP中DSADC采樣得到的旋變sin和cos兩者值不樣,為什么?

    旋變位置不變的情況下,當(dāng)使能SOTA功能與關(guān)閉SOTA功能時(shí),APP中DSADC采樣得到的旋變sin和cos兩者值不樣,用示波器采的輸入到MCU端的差分電壓是樣的,難道是
    發(fā)表于 05-17 08:13

    自然語(yǔ)言處理應(yīng)用LLM推理優(yōu)化綜述

    當(dāng)前,業(yè)界在傳統(tǒng)優(yōu)化技術(shù)引入 LLM 推理的同時(shí),同時(shí)也在探索從大模型自回歸解碼特點(diǎn)出發(fā),通過(guò)調(diào)整推理過(guò)程和引入新的模型結(jié)構(gòu)來(lái)進(jìn)步提升推理性能
    發(fā)表于 04-10 11:48 ?597次閱讀
    自然語(yǔ)言處理應(yīng)用LLM<b class='flag-5'>推理</b>優(yōu)化綜述

    UL Procyon AI 發(fā)布圖像生成基準(zhǔn)測(cè)試,基于Stable Diffusion

    UL去年發(fā)布的首個(gè)Windows版Procyon AI推理基準(zhǔn)測(cè)試,以計(jì)算機(jī)視覺(jué)工作負(fù)載評(píng)估AI推理性能。新推出的圖像生成測(cè)試提供統(tǒng)、精確且易于理解的工作負(fù)載,用以保證各支持硬件間
    的頭像 發(fā)表于 03-25 16:16 ?894次閱讀

    瑞薩電子宣布推出款面向高性能機(jī)器人應(yīng)用的新產(chǎn)品—RZ/V2H

    具有10TOPS/W能效的新代AI加速器無(wú)需冷卻風(fēng)扇即可提供高達(dá)80TOPS的AI推理性能
    的頭像 發(fā)表于 03-01 10:41 ?846次閱讀
    瑞薩電子宣布推出<b class='flag-5'>一</b>款面向高<b class='flag-5'>性能</b>機(jī)器人應(yīng)用的新產(chǎn)品—RZ/V2H

    Torch TensorRT是個(gè)優(yōu)化PyTorch模型推理性能的工具

    那么,什么是Torch TensorRT呢?Torch是我們大家聚在起的原因,它是個(gè)端到端的機(jī)器學(xué)習(xí)框架。而TensorRT則是NVIDIA的高性能深度學(xué)習(xí)
    的頭像 發(fā)表于 01-09 16:41 ?1757次閱讀
    Torch TensorRT是<b class='flag-5'>一</b><b class='flag-5'>個(gè)</b>優(yōu)化PyTorch模型<b class='flag-5'>推理性能</b>的工具

    OneFlow Softmax算子源碼解讀之WarpSoftmax

    寫(xiě)在前面:近來(lái)筆者偶然間接觸個(gè)深度學(xué)習(xí)框架 OneFlow,所以這段時(shí)間主要在閱讀 OneFlow 框架的 cuda 源碼。官方源碼基于
    的頭像 發(fā)表于 01-08 09:24 ?866次閱讀
    <b class='flag-5'>OneFlow</b> Softmax算子源碼解讀之WarpSoftmax