A卡深度學(xué)習(xí)福音!超詳細(xì)AI繪畫+ROCm部署教
某國(guó)政客扇扇嘴皮子,CN玩硬件和深度學(xué)習(xí)的圈子里就掀起了一場(chǎng)風(fēng)暴,這就是著名的嘴皮子效應(yīng)(誤)。沒了高性能計(jì)算的倒也能理解,但是美利堅(jiān)這波把禁售了就讓人無語了,所以不少做深度學(xué)習(xí)的老哥都在找替代方案。沒了之后,完全CUDA應(yīng)用就只有上一代的堪用,但是很多朋友不知道,其實(shí)AMD的系列民用顯卡也是能做深度學(xué)習(xí)的,而且性能也并不差。而且就在不久之前,AMD的11月和12月驅(qū)動(dòng)兩次加強(qiáng)了7000系顯卡的深度學(xué)習(xí)能力,也有提升
API在和都有對(duì)應(yīng)的AI繪圖整合包,也可以使用或者HIP,同時(shí)ROCm在上能夠替代CUDA做或者的GPU加速,算是目前非常有潛力的CUDA替代方案。今天我就來給大家詳細(xì)說說如何使用大家手中的A卡,來部署深度學(xué)習(xí)用的ROCm和ONNX,以及如何實(shí)現(xiàn)在和上跑AI繪圖!
1、選擇你的系統(tǒng)和環(huán)境
平臺(tái)的選擇會(huì)決定顯卡用什么樣的方式來運(yùn)行,因?yàn)樯疃葘W(xué)習(xí)開發(fā)一般都是使用的,所以Win和上有比較大的區(qū)別。一般玩家肯定是需要來玩游戲的,但是開發(fā)老鳥或許更熟悉一些,因此給大家列出下面這些選項(xiàng)
如果是一般玩家,家里有一張A卡,看著AI繪畫眼饞,可以直接看第二段的入門級(jí)教程。
如果是對(duì)于開發(fā)比較熟悉的,想要體驗(yàn)性能比較高的AMD顯卡深度學(xué)習(xí)推理,可以看第三段的 ONNX+,這個(gè)也可以用于其他模型的深度學(xué)習(xí)推理。
如果家里有多的硬盤,可以裝雙系統(tǒng)或者直接有多余的主機(jī)可以裝的,可以看第四段的 ROCm滿血部署方案,這個(gè)可以直接作為開發(fā)平臺(tái)使用(優(yōu)先推薦用這個(gè))
這次我用的配置是我一直以來用作輔機(jī)的配置,R9 +,但是換了新的內(nèi)存和硬盤,如圖,這個(gè)配置我跑AI繪畫和簡(jiǎn)單的開發(fā)是沒有問題的,大規(guī)模訓(xùn)練肯定還是優(yōu)先上服務(wù)器
從測(cè)試上來看,這仗顯卡實(shí)際上有56T單精度浮點(diǎn)的實(shí)力,理論上深度學(xué)習(xí)能力應(yīng)該不差,現(xiàn)在ROCm更新之后終于好好優(yōu)化了這幾張頂級(jí)的顯卡
2、 AMD GPU AI繪畫教程
這一部分內(nèi)容很簡(jiǎn)單,因?yàn)閍i繪畫目前已經(jīng)有非常多的整合包了,所以直接使用是沒有任何問題的。這里使用的整合包是某站大up秋葉地址的包,具體的使用過程和包的選擇可以查看他的文章,需要根據(jù)自己的平臺(tái)和想要的版本來進(jìn)行選擇。
因?yàn)楸敬问褂玫钠脚_(tái)是AMD,所以選中的是使用 API的整合包,直接下載之后打開即可。程序會(huì)自動(dòng)檢查更新并且安裝依賴的.Net6.0,整個(gè)UI非常整潔易懂
在使用過程之前,還需要一些小設(shè)置,首先是引擎選到GPU上,現(xiàn)在AMD可以直接使用進(jìn)行AI圖像生成,選自己的顯卡即可。顯存優(yōu)化根據(jù)自己顯卡的顯存來判斷,一般選擇8G優(yōu)化會(huì)比較快,其他的就不用更改,一鍵啟動(dòng)即可開始AI繪畫
可以看到生成過程中,顯卡實(shí)際上使用最多就是自己的張量核心,不過可惜的是目前并不能獲取滿血的性能,需要更高性能的話需要或者使用
3、 AMD GPU ONNX+使用教程
ONNX即是Open ,是為了適應(yīng)多種不同的深度學(xué)習(xí)框架而產(chǎn)生的一種通用性深度學(xué)習(xí)框架,可以處理、以及等一系列不同的模型文件并獲得ONNX模型。獲得ONNX模型之后就可以使用的ML進(jìn)行加速了,而AMD與微軟一起維護(hù)了一個(gè)的優(yōu)化方法,這個(gè)方法可以將GPU原本的調(diào)用方法改為使用ONNX+,從而大幅度提高性能
部署方法也不難,首先第一步是安裝環(huán)境,我推薦使用,也可以,用的GUI會(huì)更方便一些。打開的.exe,分步執(zhí)行下面這些命令,即可完成安裝
-n onnx =3.11
onnx
pip set .-url
pip -ai[gpu]
然后需要安裝一個(gè)git,這個(gè)熟悉代碼的朋友應(yīng)該都知道,我這里就不具體講述怎么安裝了,安裝之后重啟,然后繼續(xù)進(jìn)入中onnx環(huán)境的.exe,考慮到大部分網(wǎng)友都在本地,所以比官方教程多了換源的步驟
git -- url."". ""
git
cd ---
git --init --
pip ==0.24.1
.bat --onnx -- -- full --no-half
接下來就進(jìn)入的是帶有onnx的 ,在選項(xiàng)卡中選擇 with 即可獲取一個(gè)經(jīng)過優(yōu)化的模型,在最上方的選項(xiàng)卡中選擇這個(gè)模型,即可加速AI繪畫過程了
性能對(duì)比
經(jīng)過測(cè)試,這樣的方法能把AI繪畫的速度提升到原來的三倍左右,但是仍然不是完全體。使用的大小進(jìn)行測(cè)試,使用DPM++ SDE 采樣方法,可以看到,在9月的驅(qū)動(dòng)中,直接使用的話只有1.11次迭代這樣的速度,也就是畫圖一張圖20次迭代需要18s左右,如果使用新的12.1驅(qū)動(dòng),的性能暴漲到了3.58,畫圖僅需要不到6s,有超過3倍的提升。如果進(jìn)一步使用提升速度,則能達(dá)到10.71,2s一張出圖速度已經(jīng)非常快了
但這仍然不是AMD深度學(xué)習(xí)的極限,ROCm目前可以做到完全釋放顯卡的性能,在簡(jiǎn)單的深度學(xué)習(xí)開發(fā)上基本能和CUDA平起平坐,也是我最為推薦的一種方式,下面一個(gè)章節(jié)我來詳細(xì)介紹一下如何安裝部署一個(gè)基于ROCm的深度學(xué)習(xí)環(huán)境,并且實(shí)現(xiàn)
4、 AMD ROCm部署
隨著AMD不懈努力,AMD的ROCm on 終于形成了一個(gè)還不錯(cuò)的環(huán)境,是目前僅次于CUDA的一種深度學(xué)習(xí)API了。而且ROCm在以及中的使用方法仍然呼做cuda,所以很多代碼是不用更改就能換成ROCm來使用的。而且ROCm有自己的-dkms管理,安裝上比起一言不合就not 的cuda要穩(wěn)定不少,所以我個(gè)人是非常推薦目前有A卡的朋友在做開發(fā)的過程中使用ROCm作為CUDA的平替
ROCm的部署過程也不復(fù)雜,我這里就手把手的來教大家用一下。因?yàn)?000系顯卡是最新支持的,AMD把這些顯卡的應(yīng)用內(nèi)核版本限制到了22.04的上以便,所以首先我們需要準(zhǔn)備的是.04.3版本的系統(tǒng),可以直接官網(wǎng)下載,具體安裝過程我就不贅述了,網(wǎng)上的教程已經(jīng)非常豐富
開機(jī)第一步,使用apt命令對(duì)源以及包進(jìn)行一次更新,然后確認(rèn)內(nèi)核版本是否為ROCm所支持的(目前LTS版本是一定支持的,這一步可以省略),然后安裝一些一定會(huì)用到的應(yīng)用,比如curl git 和vim這些
sudo apt
sudo apt curl vim ++-12-dev -
-a (檢查版本用)
按照AMD官方的指引一步一步地安裝ROCm,一般來說使用是最方便的安裝方法,我這里推薦使用5.7版本的ROCm,使用官方的dkms來安裝管理這個(gè)系統(tǒng)。分步執(zhí)行下面這些命令,即可安裝ROCm。這些包非常大,所以建議耐心等待或者使用更流暢的網(wǎng)絡(luò)
curl -0 ... 5.7.-.deb
sudo apt ./-.7.-.deb
sudo - --=,rocm
sudo -aG $USER
sudo -aG $USER
sudo (重啟之后才能看到rocm安裝好沒有)
重啟之后,再次打開,就能使用命令以及rocm-smi對(duì)硬件進(jìn)行監(jiān)測(cè)了。可以看到ROCM支持的設(shè)備一共有三個(gè),分別是CPU、和核顯
-n .5 rocm-smi
下一步需要安裝或者,這個(gè)我就不細(xì)說了,網(wǎng)上教程非常多。安裝之后重啟,然后對(duì)進(jìn)行換源,并且創(chuàng)建一個(gè)針對(duì)ROCm的新環(huán)境,我這里命名為,大家可以自行更改。隨后,進(jìn)入這個(gè)環(huán)境,更換pip的源,安裝深度學(xué)習(xí)所需要的包,這個(gè)包也是 所需要的。有兩種方案,一種是安裝穩(wěn)定版的,一種是安裝版的,我使用的是版,也是可以自行選擇其中之一
--add
--add
--add
-n =3.11
pip3 set .-url
(安裝穩(wěn)定版)pip3 ---url
(或者安裝預(yù)覽版)pip3 --pre ---url
到此為止,這個(gè)環(huán)境就已經(jīng)可以使用對(duì)代碼進(jìn)行調(diào)試開發(fā)了,rocm的呼喚方法和cuda是一樣的,不用特意修改代碼
需要 的話,下面就可以使用git 對(duì) 進(jìn)行下載,用pip安裝依賴。安裝好之后就能進(jìn)行試運(yùn)行了,試運(yùn)行的目的是為了檢查代碼是否能跑通,否則用bash是跑不起來的
git -- url."". ""
git
cd --
pip -r .txt
= .py -- --
可以看到這里有一個(gè)錯(cuò)誤,這個(gè)錯(cuò)誤是因?yàn)槟昃檬逈]有跟上版本導(dǎo)致的,所以我們需要根據(jù)自己環(huán)境地址,對(duì)這個(gè)文件進(jìn)行修改
使用vim命令修改文件,改成如下的格式
sudo vim ~//envs//lib/.11/site-//data/.py
下面繼續(xù)進(jìn)行測(cè)試,一般不會(huì)出現(xiàn)報(bào)錯(cuò)了,如有報(bào)錯(cuò)可以在評(píng)論區(qū)交流。但是如果網(wǎng)絡(luò)不佳會(huì)出現(xiàn)如下這種下載不了與訓(xùn)練模型的情況,這個(gè)情況是非常好解決的,目前網(wǎng)絡(luò)中SD的預(yù)訓(xùn)練模型很多,下載一個(gè)喜歡的放一個(gè)進(jìn)去就行,~/--//-/,如果之前操作了win上的整合包,那么要做的就是直接把整個(gè)文件復(fù)制過去!非常方便快捷
下面就能啟動(dòng)模型畫圖了,我這里提供一個(gè)便捷的啟動(dòng)腳本和命令。其中有一些需要自己修改,比如,你的顯卡是7000系的,就用11.0.0,如果是上一代或者上上代就用10.3.0
cat < ~/--/.sh
#!/bin/sh
# to your GPU: use 11.0.0; use 10.3.0
SION=11.0.0
# HIP to your GPU node: GPU:0, iGPU:1
=0
NF=:0.8,:512
.py -- --opt--- ----- --no-half-vae
EOF
然后使用下面這個(gè)命令在任意時(shí)候都能打開SD服務(wù),如果家在模型完成(出現(xiàn) ),打開本地的0.0.0.0:7860就能使用了
sd && cd ~/-- && bash .sh
大模型+高顯存+大圖片會(huì)讓迭代速度下降很多,不過在相同的環(huán)境下使用SD的話,/s的速度可以說是吊著上任意方式打的
的圖片分辨率不夠的話可以提升到,迭代速度大概4it/s,只要顯存夠,那么迭代速度只根據(jù)圖像大小線性下降,倒也是能接受的
這樣的環(huán)境是可以進(jìn)行深度學(xué)習(xí)開發(fā)的,除了系統(tǒng)中指定顯卡和版本的語句不一樣之外,在中的使用和CUDA是完全一致的,所以我認(rèn)為目前ROCm在簡(jiǎn)單的深度學(xué)習(xí)開發(fā)上,基本可以做到替代CUDA了
5、硬件介紹
本文使用的CPU和主板是AMD R9 + -,性能充沛,且內(nèi)存適配也不錯(cuò),比如這詞用的內(nèi)存就是的,可以直接EXPO ii開機(jī),如果要部署工作站或者開發(fā)機(jī)的話,也可以選擇R9 7900
顯卡用的是藍(lán)寶石的超白金,這張顯卡是目前藍(lán)寶石最好的型號(hào),玩游戲基本可以暢玩4K,做深度學(xué)習(xí)也有20GB的顯存,而且價(jià)格比低不少,而且散熱不錯(cuò),個(gè)人很喜歡
內(nèi)存和硬盤是金士頓的 16x2和,最近硬盤即將漲價(jià),需要買硬盤的朋友得趕緊了。金士頓的高頻燈條造型做得確實(shí)非常不錯(cuò),燈光也可以同步,頻率高而且穩(wěn)定,在上也能直接EXPO開機(jī),我覺得是目前比較值得買的高頻DDR5內(nèi)存
電源是海韻的新 ,在經(jīng)過多次改良之后,海運(yùn)的新版不僅標(biāo)準(zhǔn)符合了ATX3.0標(biāo)準(zhǔn),而且也支持接口,面對(duì)新的顯卡也毫無壓力
純白色的造型并且還送一套壓紋線,直接免去了定制線的需求,而且這個(gè)線還挺軟,走線也沒什么壓力,用起來很舒服
總結(jié)
很多朋友都覺得買了AMD就和深度學(xué)習(xí)絕緣了,其實(shí)并不然,AMD現(xiàn)在不僅在上有ROCm,在Win上使用加速之后,進(jìn)行模型推理也并不慢。而AI繪畫這個(gè)原本只有頂級(jí)顯卡才能跑的項(xiàng)目,現(xiàn)在經(jīng)過層層優(yōu)化,也能輕松部署在家用顯卡上了。對(duì)AI繪畫感興趣的朋友可以趕緊用手上的顯卡嘗試一下,畢竟現(xiàn)在AMD顯卡是真不貴,對(duì)比一下某禁售的4090,就只要三分之一的價(jià)格就能買到次旗艦我是真覺得不虧
這張顯卡我是比較推薦的,一來沒有旗艦卡那種維持門面的價(jià)格,也不用把頻率調(diào)校得離譜高,二來這卡用的又是旗艦散熱,讓顯卡的散熱爽到飛起,完全不用擔(dān)心熱量壓力。而且性能和顯存完全夠用,進(jìn)可暢爽玩AI,退可暢爽打游戲,非常理想
感謝大家圍觀!
腳本按著10.3.0來改可以試試
直接用整合包就能跑的
好的,真心感謝花了這么多心思,手把手地教大家在下面去配置。因?yàn)楣ぷ鞯年P(guān)系,我告別了選擇了,所以只有A卡可以使用,而A卡無論在或者下,在AIGC領(lǐng)域似乎無法發(fā)揮最大功效,對(duì)完全不了解然后一直沒有邁出這一步。有了這個(gè)詳細(xì)的技術(shù)貼,我決定勇敢邁出那一步。
請(qǐng)問:相應(yīng)的版本對(duì)其它硬件有什么要求嗎?非AMD的cpu可以嗎?目前我這邊用的是i7-7440的老U,B110的老主板
聲明:本站所有文章資源內(nèi)容,如無特殊說明或標(biāo)注,均為采集網(wǎng)絡(luò)資源。如若本站內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系本站刪除。