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