前言

在前面AI三部曲中的第二部「安裝Stable Diffusion需要哪種等級的顯卡與電腦?」中

吉米跟大家分享了不管你是PC還是蘋果電腦,安裝Stable Diffusion之後,大概會有怎樣的效能

當然這個效能僅供參考,因為那是吉米自己研究手邊設備的效能數據

今天,吉米就要進一步來研究,「我自己」要怎麼升級我的設備

其實從上面那個測試結果,吉米因為是macOS使用者,所以我心裡出現了兩個疑問

1.既然都要花錢買顯卡,是不是乾脆再買一台兒子那台內建3060的筆電?

2.是否可能透過外接顯卡的方式?來讓我的黑蘋果可以外掛N家顯卡(以下簡稱N卡)來加強算圖?

吉米加入Dark Side應該不只四年了

當初吉米本來要分享eGPU對於蘋果電腦有很大的幫助,撰文時想要佐以實測數據時

不小心捅到了大大的蜂窩,發現了不能說的祕密

推薦大家來看看這篇「《吉米教你看》外掛eGPU甚至AMD高檔顯卡對於FCP X輸出效果的幫助(最終回)

你們就會知道阿婆這幾年不斷自廢武功、壓抑效能的故事

這場實驗結束後,我手邊就多了一台可以跑macOS的PC組裝電腦

這邊非常感謝XFastest的站長半夜陪我搞這些有的沒的

與我的蘋果顧問MAQ的技術支援

所以以下內容,都是我自己需求為出發點,衍生出的各種測試

還有一個很大的重點,就是黑蘋果只能用A卡,所以機箱內一定得是A卡,不然無法使用macOS

3060筆電真的那麼快嗎?

要確認這個想法,第一件事情當然就是借一張Nvidia RTX 3080 10GB的顯卡來測試囉

當然搭配OWC推出的Thunderbolt3外接顯卡盒

就這樣RTX 3080透過Thunderbolt3連接到了我的電腦

這裡我們得到了第一個結論:

macOS無法使用外接方式連接N卡

蘋果電腦,不管是白的還是黑的,因為多年前恩怨,所以打死不認識前男友N卡

就算我們放在外接盒裡面想要借屍還魂,也因為macOS底層就不想認識它

因此什麼虛擬機還是其他方式外掛啟動N卡是不可能的

不然我們用黑蘋果的人早就全換3080或是4090了

若你是使用2015年之後,機器上面有原生Thunderbolt3的蘋果電腦,或是你也在Dark Side

只要重新開機進入Windows,你就可以接著看下去

Windows透過Thunderbolt3外掛N卡

開機後,插上連接外接顯卡盒的Thunderbolt3排線,螢幕有沒有接在它後面沒有差別

除非你是要用這張卡來打電動,才需要把主要螢幕設定在這張外接顯卡後方的輸出

等電腦辨識成功之後就會出現兩張顯卡啦

這時候執行Stable Diffusion,因為N卡支援CUDA,所以只會用N卡來跑算圖,A卡就負責畫面顯示功能

測試基準

既然要測試,當然所有方式都要相同,以下是出圖數據,有興趣的話你也來試試看你電腦數據是多少

SD 模型:https://civitai.com/models/6424/chilloutmix
Lora 模型:https://civitai.com/models/7716/taiwan-doll-likeness

Prompt:

, best quality, ultra high res, (photorealistic:1.4), 1girl, loose and oversized black jacket, white sports bra, (yoga pants:1), (light brown hair:1.2), looking at viewer, smiling, full body, streets, urban, makeup, wide angle

Negative prompt:

paintings, sketches, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, glans

測試一:
Size: 512×768
Seed: 537380690
Steps: 28
Sampler: DPM++ SDE Karras
CFG scale: 8
Hires steps: 0
Hires upscale: 1.75,
Hires upscaler: Latent (bicubic antialiased)
Denoising strength: 0.5

測試二:
Size: 512×768
Seed: 537380690
Steps: 28
Batch count: 2
Batch Size: 2
Sampler: DPM++ SDE Karras
CFG scale: 8
Hires steps: 0
Hires upscale: 1.75,
Hires upscaler: Latent (bicubic antialiased)
Denoising strength: 0.5

然後看看所需時間

基準線Baseline

本來依照慣例,跑基準線應該要用我天天在用的A卡來測試

但是測試一預估就要25分鐘45秒,我就不想測試了,直接按取消,它說多少就是多少

所以我們今天用兒子的筆電來當基準線

Asus 3060 筆電

實驗一:3分10秒

實驗二:8分22秒

RTX 3080

其實經過吉米實測,3080不管是外接的方式,還是內接插在主板上面,成績都差不多

實驗一:2分09秒

實驗二:3分31秒

這裡大家可以觀察到,其實跑SD最重要的是VRAM越大越好,這張3080卡上有10GB的VRAM,最大已經用掉8,927MB的VRAM,難怪算再大一點的圖就爆掉了

RTX 4070 Ti

這時候好心的海盜船長,直接買了一張全新的RTX 4070 Ti 12GB來借我測試

這張卡已經巨大到無法塞入外接顯卡盒

所以內接一定是唯一解

但這樣就違反的第一個原則,黑蘋果機箱內一定要裝A卡,不然永遠回不到macOS,所以4070Ti裝在機殼內的時間,就只能當純PC來使用啦

實驗一:1分10秒

實驗二:4分34秒

這個部分我實在不太懂,為什麼後期會變慢

而且我們觀察到VRAM最大使用來到12,132MB

根本就把12GB的VRAM給搾乾啦

所以測試到這裡,我又上網爬文去了

Xformers

Xformers是一個資料庫可以幫我們快速生成影像,並且減少VRAM的使用,但是這個優化只能針對N卡來使用

AUTOMATIC1111官方安裝教學請看這裡:https://github.com/AUTOMATIC1111/stable-diffusion-webui/wiki/Xformers

玩到這裡,大家應該都會搞了,所以這部份就不贅述了

重點在於安裝成功之後

這改webui-user.bat (windows使用者),找到「COMMANDLINE_ARGS=」字串,加上–xformers

修改 webui-user.sh(mac或是Linux使用者),找到「export COMMANDLINE_ARGS=」字串加上–xformers

啟動後看到字串有被吃到,就可以啦,其他所有東西都不變

3080 +xformers 實驗一:41秒

3080 +xformers 實驗一:2分13秒

4070 Ti +xformers 實驗一:42秒

4070 Ti +xformers 實驗一:2分44秒

VRAM最多也只用到8,197MB

真的是除了快很多之外,VRAM的使用也變小了

至於4070 Ti在吉米這幾天的測試下比3080慢,我剛爬文可能是CUDA沒有更新到最新版,我寫到這裡才知道CUDA要另外安裝驅動,呵呵

總結一下

從上面的表來看,先不管4070 Ti的奇怪表現,但是在3080上面有顯著的效能提昇,刷掉了將近一半的時間

所以若你有玩SD的話,強烈推薦安裝啊

當然這是N卡才有的福利

算圖速度快與慢,整個思考邏輯大不同

這就是我這個週末摸索的內容

顯卡的快慢,真的是「非常的重要」

你看我現在完全不提算一張3秒還是5秒嗎?

我這個週末算的圖,單一張用4070Ti都要將近一分鐘

因為當我們算力慢的時候,一張圖3分鐘,你下的prompt相對保守,因為你不知道3分鐘之後,是正妹還是后里蟹

算力快的時候,一張圖3秒鐘、5秒鐘,你就會開始變鬼變怪

例如超好用的魔咒百科词典 https://aitag.top/

解決了一堆我不知道女性服裝正確的英文名稱,這可真是考倒我了,還有各種運鏡、角度、情景的參考

從使用一個LORA,到多組日本、台灣、韓國、中國的LORA混合在一起…

產出更複雜精緻的圖片,產出更精緻的圖片之後,又會想要再放大、再細緻、再拓展

對,你今天看到的圖片全部都是AI生成

甚至生成之後,再用其他AI繼續擴展

這個在草地上面歡迎大家來到黑暗面的女孩

與前男友賭氣,打死不相往來的哭臉妹仔

還有這三位拿電腦採購單要我簽的秘書,你以為我這麼容易就放行嗎?

我還得問問資訊室的主管才行啊~

硬體升級之路

言歸正傳,畢竟不是每個人的鈔能力都沒有極限,全部都是選好選滿

當然若你是擁有這種鈔能力的課長,吉米建議你直接組一台最強的PC,不管是算圖還是電競,就算是看盤或是看小說,都覺得讓你飛天遁地

若你是intel晶片的蘋果電腦使用者,或是機箱裡面裝的是A卡的中階PC使用者,你可以考慮用Thunderbolt3的顯卡外接盒(約一萬出頭),再買一張N卡,撰文的現在3060約一萬元上下,3080約兩萬上下,又回到了鈔能力的原點,但前提是要有Thunderbolt3,且全程在Windows下面算圖,不能用虛擬機

雖然我已經有了顯卡外接盒,目前可能找張二手3080,沒事可以玩PC GAME,特效選項應該可以比我的VEGA64選好選滿

但缺點就是要佔用電腦時間,用PC就不能用Mac,兩難啊

或是直接去買一台3060的筆電,三萬元起跳也是多一台電腦,但這選擇適合沒有外接顯卡盒與顯卡的人,因為這兩個最基本就要兩萬了,你多花一萬就多一台電腦,多好

另一種不需要買硬體的方式,就是把網路上提供的雲計算服務,買好買滿,相信兩萬元低消,應該可以買不少時數,而且你還不用真的一次就花這麼多錢,先玩看看,有興趣再加碼

若你是M1/M2的蘋果電腦使用者,那你就跟Tim一樣… 只好去買Mac Studio Ultra +128GB RAM囉

你現在知道上面幾張圖是怎麼生成了吧

以上就是我的應用方式,我生圖用來不是只有電風扇,而是用來寫文當插圖,或是影片B Roll的用途

光看是這三部曲的封面圖,就比吉米之前都放自己的照片香太多了,不是嗎?

吉米,你不會裡面裝一張,外接再一張?

內接4070 Ti,外接3080,根本就是人生勝利組的感覺嘛~

當然這麼惡劣的想法我也想過啦

只是到我分享這篇文章之前,爬過了好多地方,很多人說python本身就支援多GPU,但是SD有沒有支援都沒有人測試成功

倒是有另外一個dream的AI平台,它比較像指派中心,把prompt丟給SD去跑,而這個指派中心有支援多CPU

也許不久的將來,就有支援吧

目前的測試是只有一張顯卡會運作