NVIDIA推出支援Stable Diffusion WebUI的TensorRT運算框架最佳化外掛程式,能夠明顯提升圖像生成的速度。
外掛程式安裝與模型轉換
為了要獲得加速的效果,使用者需要完成TensorRT運算框架最佳化外掛程式的安裝,以及Checkpoint或LoRA等模型轉換等前置工作,才能在算圖時發揮加速的效果。
根據NVIDIA的說明,目前外掛程式正式版支援Stable Diffusion 1.5 / 2.1,且可支援套用LoRA小模型與Hires. Fix功能,如果想要使用SDXL版本的模型,則需切換至Stable Diffusion WebUI的Dev分支。由於NVIDIA說明未來會正式將SDXL納入支援,所以目前我們就暫時不討論搶先試用開發中版本的部分。
不過需要注意的是,目前TensorRT外掛程式僅可套用1組LoRA,若套用多組則僅於sd_unet選單指定的單一LoRA有效,造成比較大的使用限制,未來若能支援多組LoRA則可大幅提升方便性。
外掛程式安裝與模型轉換請參考下列圖文說明。其中建議讀者在轉換過程中展開自定選項,並根據需求修改參數。如果需要使用Hires. Fix功能,則需將解析度參數的範圍設定大於目標生成圖像的解析度。
進階設定說明
Min / Optimal / Max batch-size:最小 / 最佳 / 最大批次算圖數量。若顯示記憶體為10GB以下,建議設定為1。若為16GB以上,則可嘗試1~4等數值。
Min / Optimal / Max height:最小 / 最佳 / 最大解析度高度。建議設定512~2048,以利使用Hires. Fix功能。
Min / Optimal / Max width:最小 / 最佳 / 最大解析度寬度。建議設定512~2048。
Min / Optimal / Max prompt token count:最小 / 最佳 / 最大提示詞數量。建議設定75~300。
可正確啟用1組LoRA
完成前置作業後,使用者只需在Unet下拉式選單中選取指定的Checkpoint或LoRA模型,其餘設定皆依照一般圖像生成即可。
需要注意的是,無論是否使用Hires. Fix功能,在放大前、後的解析度都必需設定為64的整數倍(例如768 x 512,或1920 x 1280),而且需要小於轉換模型時的設定值。
要使用LoRA的話,則需在Unet下拉式選單指定的LoRA,且僅有該組LoRA會在圖像生成時產生作用。若在提示詞中寫入其他LoRA,雖然照樣能夠完成圖像生成並輸出,但該部分提示詞就不會產生作用。
從測試結果可以看到,TensorRT能在不使用Hires. Fix功能時帶來明顯的加速效果,而在使用時則沒什麼幫助。
與之前的開發中版本相比,這次使用的版本已經可以正確發揮LoRA小模型的效果已經能發揮更大的實用價值,若能套過多組LoRA並提升Hires. Fix效能,則可帶來更大的便利。
(回到系列文章目錄)
加入電腦王Facebook粉絲團