Re: [討論] Intel ARC用SD.Next跑SDXL

看板AI_Art作者 (悠久の翼)時間2年前 (2023/10/08 22:21), 2年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
有點長,主要分三節 安裝-> SD1.5-> SDXL SD.Next安裝 2023/11/08更新 SD.NEXT現在可以在windows下用IPEX跑了 安裝方式也大為簡化 https://github.com/vladmandic/automatic/wiki/Intel-ARC WIN版的優勢在啟動速度快兩倍跟安裝容易 但跑分上來看wsl版的算圖速度還是小勝windows版 舊版內容 這東西用到Intel Extensions for PyTorch (IPEX),只能在windows的WSL或 原生linux上跑,而且因為要求 Linux 6.2 kernel所以要Ubuntu 23.04以上。 跟A1111相比來說,HiRes可以用GPU跑,也可以跑SDXL INTEL的那個宣傳網頁是推薦下面這個網頁的安裝 https://www.technopat.net/sosyal/konu/installing-stable-diffusion-webui-with- intel-arc-gpus.2593077/ 不過我裝了之後發現跑SD1.5的Checkpoint是沒問題 可是切換到SDXL的checkpoint會一直報weight錯誤,不管哪一個都是... 後來找到另一個人手把手教你的文字跟YT影片版 複製用文字版,從教你如何在Windows上裝WSL開始 https://github.com/ospangler/intel-arc-stable-diffusion-tutorial YT影片教學 https://youtu.be/GZLjbTPLCVk?si=YKfCxUVycHabvF9E
他跟上面那個的差別是有更新windows wsl Ubuntu的intel驅動,修改Hangcheck跟改 wslconfig。因為windows的wsl會有memory leak問題....會卡住系統記憶體空間 我自己有32G記憶體,開機吃掉9G 所以限制WSL在22G。 限制記憶體上限只是避免當機,最後還是要重開wsl,一勞永逸解決方法放在最後面 Native linux不會有這問題,但是你要裝雙系統 lol SD.Next的安裝在第一次啟動 ./webui.sh --use-ipex後才會開始正式安裝需要的東西 這個過程非常漫長 影片內是說大概要跑一小時 但我的跑了快兩小時 這個時間問題不是說硬體吃重或怎樣,因為看工作管理員會發現wsl的CPU根本沒在動 網路也沒在下載,系統記憶體也沒上升。根本不知道這過程到底發生甚麼事 全部完成後第二次啟動 ./webui.sh --use-ipex 這次啟動會在啟動tensor停一陣子 這步驟如果後面又修改wslconfig內記憶體空間的話,又會重跑一次.... SD.NEXT啟動過程非常吃 CPU 9700K 八顆實體核心4.8G,第一顆核心永遠100%,其他是50%。 最後一步Torch啟動全部100%跑一分鐘 整個過程啟動過程大概要4~5分鐘,相較下A1111只要30秒 https://i.imgur.com/auRsPEC.png
SD1.5 checkpoint 跟A1111用OpenVINO加速後只要3秒相比,SD.Next一張要10秒 https://i.imgur.com/Jaxo9Bj.png
但是可以使用HiRes功能,時間拉到40秒(兩階段各20 steps) https://i.imgur.com/yybgtBj.png
SDXL SDXL只有A770可以跑,因為光checkpoint載入後就會把顯卡記憶體吃到10G 系統記憶體全程維持在28~29G左右,考量到開機8G跟設上限22G,這應該是吃滿上限 跑SDXL要改一下pipeline跟backend https://i.imgur.com/nHAKSuY.png
可是用sd_xl_base_1.0.safetensors跟sdxl_vae.safetensors跑,只有第一張是比較正常 後面同樣prompt出來都是奇怪東西 https://i.imgur.com/Ijv0r2U.png
所以後來改用這個blue_pencil-XL跑,他是說是不用VAE,但看系統都會自動抓sdxl_vae https://civitai.com/models/119012/bluepencil-xl 而且SD.Next沒有這個要求的DPM++ 3M SDE Exponential採樣器,跑起來會有一條光擋著 1024x1024 無upscaling 28秒 11G VRAM https://i.imgur.com/sKOqb1c.png
2048x2048 HiRes 2倍 20步 1分47秒 12G VRAM https://i.imgur.com/vUGaXx0.png
2560x2560 Hires 2.5倍 20步 NA秒數 13G VRAM https://i.imgur.com/aORGaCI.png
3072x3072 HiRes 3倍 20步 3分21秒 14G Vram https://i.imgur.com/iaZR84Y.png
沒有4096x4096,因為VRAM突破16G 直接當機 但是這傢伙有跑出SDXL 4096x4096,大概還需要調整一些東西 https://github.com/vladmandic/automatic/discussions/2024#discussioncomment- 6755194 顯卡記憶體到底用掉多少也是個問題 因為像3072x307x 我看ARC自己顯示面板是寫用掉14G VRAM 但wsl上是寫只用了 6.62G https://i.imgur.com/WeU4QA1.png
看3072那張圖下面也寫 GPU active 12.3G reserved 12.3G/ used 6.7G free 9.4G total 16G 那個光條怎樣調整都在,所以改用這個DeepBlue XL,用它的看板娘prompt跑 https://civitai.com/models/128397/deepblue-xl 1344x1920 batch連續十張 3分25秒 13G記憶體 溫度在第五張就跑到80度 猜Up是用簡單的R-ESRGAN 4x+ Anime6B的關係,時間才那麼短 後來有測一張latent的忘了截圖 https://i.imgur.com/5OQW5Ec.png
總結來說我覺得以後是SDXL天下吧,因為SD1.5的就算可以upscale到1024 SDXL的時間還是比你短,而且還可以繼續Upscale去加細節 雖然說不同checkpoint不能比,同樣prompt下 覺得這張精靈試作比之前的精細多了,手指倒是一樣XD 920x1490 Upscale from 460x745, SD1.5, Counterfeit-V2.5 https://i.imgur.com/OzAZaDn.jpg
1344x1920 Native, SDXL, DeepBlue XL https://i.imgur.com/9WbaYO3.jpg
-- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.113.223 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/AI_Art/M.1696774915.A.7B9.html 更新 1. 為何會有奇怪光紋產生的原因 這似乎是INTEL的BUG...在SDXL下畫512倍數 (1024-2048-3072-4096)會產生干擾 這BUG在SD1.5如果產生四張512x512的時候會出現 說嚴重很嚴重 說不嚴重也不嚴重 因為只要加一個像素就不會有這問題.... 2. 解決wsl memory leak方法是使用jemalloc減少碎片占用。下面是直接讓WSL運行 的東西都使用jemalloc。這個方法就不用每次切換checkpoint時 需要關閉wsl再重新 啟動去釋放上一個checkpoint卡住的記憶體空間。 #!/bin/bash ※ 編輯: tsubasawolfy (218.161.113.223 臺灣), 11/08/2023 22:04:03
文章代碼(AID): #1b8hi3Uv (AI_Art)