
stable-diffusion-webui ã® TensorRT æ¡åŒµ(ãŸããã®NVIDIAå ¬åŒ)ã䜿ããšæ©ãïŒïŒïŒã®ã§äœ¿ãæ¹ãªã©
ãèŠåã
ç§ã¯å°éå®¶ã§ã¯ãããŸããïŒïŒïŒ
ãªã«ããã©ãã«ãèµ·ããŠã責任ã¯åããŸããïŒïŒïŒ
ãã詊ãå Žåã¯èªå·±è²¬ä»»ã§ãé¡ãããŸãïŒïŒïŒ
ãŸããä»åã®èšäºã¯è¥å¹²ããããããªå
容ãå«ãã§ããŸãïŒïŒïŒ
éäžã§åæžãç©æãçããå Žåã¯éããã«ããŒãžãéããŠãã ããïŒïŒïŒ
ä»åã¯ã¿ããªå€§å¥œã Stable Diffusion web UI ãé«éåãã TensorRT ãšããæ©èœã䜿ããããã«ãªãæ¡åŒµæ©èœã®èª¬æã§ã
ãªãããªããçµæ§ãŸã 芪åãããªãæ°ãããã®ã§
奜å¥å¿æºçãªäººãšé床åœãªäººä»¥å€ã¯è©Šããªãæ¹ãããããã§ã
詊ããŠããããã©ãïŒ
å ¬åŒã®ãµããŒãããŒãžã¯ãã¡ãã«ãããŸã
ã§ãäœïŒã©ããªããïŒ
ãã¡ããã¡ãé©åœãªèª¬æããããšã
æ®éã®ã¢ãã«ãããªãã®ç°å¢ãšæ±ºããããçææ¡ä»¶ã«åãããå°çšã®ã¢ãã«ã«å€æããããšã§å¹çãäžãã£ãŠãã£ã¡ãåŠçãæ©ããªã
ã¿ãããªæãã§ãå€åãããããã©

ã©ããããåŠçæ©ããªãã®ïŒ
NVIDIA ã®å ¬åŒã®ãµããŒããµã€ãã«æ¯èŒã®ã°ã©ãããããŸã

çŽ ã®ç¶æ
ã«å¯Ÿã㊠xformers ã䜿ã£ãå Žåãš TensorRT ã䜿ã£ãå Žåã®é床æ¯èŒã§ã
512x512 ãš 768x768 ã®ç»åã®çæã§ xformers 㯠1.4 ~ 2åãããã®é«éåããŠããã®ã«å¯ŸããTensorRT ã¯2.5 ~ 3åã®é«éåããŠãããšããçµæã§ãã
ãxformers ã£ãŠãªããããïŒãã£ãŠãã人ããããšæããŸãã现ããããšã¯æ°ã«ããªãã§ãã ããããšããããæ©ããã ãïŒ
å
¬åŒãèšã£ãŠãããšã¯ä¿¡ããããã®ã§å®éã«è©ŠããŠã¿ãŸãã
ãããå®éã«çžŠæšª1024pxã®ç»åãçæããŠããæ åã ïŒ

çæãã¿ã³ãæŒããŠè¡šç€ºããããŸã§ã¯å€§äœ3ç§åŒ·
åæ¡ä»¶ã§ TensorRT ããªãã«ããŠçæããŠã¿ãã1æ5ç§åŒ·ã ã£ãã®ã§ç¢ºãã«éãïŒ
ãã«HD(1920x1080)ã ãš6ç§åŒ±ã§ããïŒãªãã ãš9ç§åŒ·ãããïŒ
NVIDIA ãŠãœèšã£ãŠãªãã£ãïŒ
ãããã®ããœã³ã³ã§ã䜿ããŸããïŒ
以äžã®ç°å¢ãå¿ èŠã§ã
16GB 以äžã®ã¡ã€ã³ã¡ã¢ãª
NVIDIA RTX ã·ãªãŒãºã®ã°ã©ãã£ãã¯ããŒãïŒVRAM 8GB以äžïŒ
NVIDIA ã®ã°ã©ãã£ãã¯ãã©ã€ãã®ããŒãžã§ã³ 537.58 以äž
ïŒ2023/10/10以éã®ãã®ïŒ
RTX æèŒã ã£ããå€å倧äžå€«ãšèšã£ãŠããã ããïŒ
ãã©ã€ãã¯ã¢ããããŒãããå¿
èŠãå€åãããŸãïŒ
ïŒNVIDIAã®ãµã€ãã GeForce Experience ãããã§æŽæ°ãããïŒïŒ
ããšSDXLã«ã察å¿ããŠããã©å®è³ªãŸã 䜿ããŸããïŒ
ïŒæ£ç¢ºã«ã¯ webui ãããŒã¿çã«ããªããšäœ¿ããªãïŒ
ãã¡ãªããã¯ãããŸããïŒ
ãããŸãïŒ
以äžãå¶çŽã§ã
ã¢ãã«ããšã«å€æã®äœæ¥ãå¿ èŠïŒã¡ãã£ãšæéãããïŒ
ControlNet ãšã䜿ããªããªãã¯ãïŒâ»è©ŠããŠãªãïŒ
LoRA ã䜿ãã®ãããããããªãïŒïŒâ»è©ŠããŠãªãïŒ
åºåç»åã®è§£å床㯠64 ã®åæ°ã®ã¿ããèš±ãããªããªã
ãªããä»ã®æ¡åŒµæ©èœãåããªããªãã®ããããïŒïŒâ»æªç¢ºèªïŒ
ãã©æå¹ç¡å¹ã®åãæ¿ãã¯äžç¬ã§ã§ããã®ã§å¥ã«ãããŸã§åé¡ã§ã¯ãªãã§ã
ïŒâ»åäººã®ææ³ã§ãïŒ
å®éã«äœ¿ã£ãŠã¿ããïŒ
å§ãæ¹ã¯æ®éã«æ¡åŒµæ©èœãå
¥ããã ãã§ã
ã§ãéžã°ããè
ãããªãã£ãå Žåã¯ã€ã³ã¹ããŒã«åŸã«ãšã©ãŒãçºçãããããïŒ
æ¡åŒµæ©èœã®ã€ã³ã¹ããŒã«ã®ãšããã® URL ã«ä»¥äžãå
¥åããŠãã ãã
https://github.com/NVIDIA/Stable-Diffusion-WebUI-TensorRT
ã§ãApply and Restart UI⊠ãããªã㊠webui ãåèµ·åããã»ããããã§ã
åèµ·ååŸã« TensorRT ã¿ããåºçŸãã人ã¯éžã°ããè
ã§ã
ä»ããã«äœ¿ãå§ããããšãã§ããŸããããã§ãšãããããŸã

TensorRT ã¿ããã§ãŠããªãã£ã人
æ®å¿µãªããããªãã®ç°å¢ã§ã¯ãã®ãŸãŸã§ã¯äœ¿ããŸãã
è§£æ±ºæ¹æ³ã¯ããããããªãã®ã§é 匵ã£ãŠãã ããâŠ
ïŒtorch2 ã«ãªã£ãŠãªãã£ãããæŽæ°ãããåãããã¿ãŒã³ãšãããããããªããŸãŸ venv æ¶ãããåãããã¿ãŒã³ã¯ç¢ºèªããŸããïŒ

TensorRT 圢åŒã«ã¢ãã«ã倿ãã
ã§ããã£ãâã®ã©ããã§æžããéã倿ãããå¿
èŠããããŸã
倿ãããã¢ãã«ãéžæïŒçæã§ããç¶æ
ïŒããŠã
Export Default Engine ãšæžããŠãããªã¬ã³ãžã®ãã¿ã³ãæŒããŠãã ãã
ãããšäžã®æ¹ã«ãããªè¡šç€ºãåºãŸã

ããã§ïŒErrorïŒã¿ãããªã®ãåºãŠãããã以äžã詊ããŠã¿ãŠãã ãã
èµ·åèšå®ã« medvram ãšã lowvram ãã€ããŠããäžæŠæ¶ã
äœæ¥åã« webui èšå®ç»é¢ã® Actions ãã Unload SD checkpoint to RAM ãæŒããŠã¿ã
é 調ã«é²ãã§ããå Žåã¯ã以äžã®ããã«ã¡ãã»ãŒãžãç¶ããŸã

誰ãå¿
èŠãšããŠãªã説æããããšã
1. ã¢ãã«ã ONNX ã¿ãããªåœ¢åŒã«å€æïŒå€ææžã¿ã ã£ããã¹ãããïŒ
2. 倿ããã ONNX ãã TensorRT Engine ã¿ãããªåœ¢åŒã«å€æ
ã¿ãããªé åºã§åŠçãé²ã¿ãŸã
ãã®åŠçäž webui ãèµ·åããŠããã¿ãŒããã«ç»é¢ã«ã¯ãšã©ãŒãšèŠåãã¢ãã¿ããã«è¡šç€ºãããŸãããåŠçãæ¢ãŸã£ãŠãªããã°å®³ã¯ãããŸããïŒå€åïŒ
æåŸãŸã§å®äºãããšã以äžã®ã¡ãã»ãŒãžã衚瀺ãããŸã

倿å®äºåŸã䜿ãããã«ã¯åèªã¿èŸŒã¿ãå¿
èŠã§ã
äžçªäžã® Available TensorRT Engine Profiles ã®å·Šã«ããðãã¿ã³ãæŒããŠãã ãã
åèªã¿èŸŒã¿åŸãã£ãã TensorRT ã®ã¿ããéããŠäžçªäžãèŠããšãããªæãã®ãå¢ããŠãã¯ãã§ã

SDv1ç³»ã®ã¢ãã«ã§ Default ã§äœæãããšãããšåãç¶æ
ã«ãªã£ãŠãããšæããŸã
ãã®è¡šã瀺ããŠããããšã¯ä»¥äžã®éãã§ã
察å¿ç»åãµã€ãºã 512x512 ~ 768x768
察å¿ããããµã€ãºã 1 ~ 4
察å¿ããŠããããŒã¯ã³é·ã 75 ~ 150
ïŒããã³ããå ¥åæ¬ã®å³äžã«è¡šç€ºãããŠããã€ïŒ
ãã®æ¡ä»¶ã«æ²¿ã£ãèšå®ã«ããŠãçæããŠã¿ãŸããã

ã¯ãïœãïŒ
ããã§ããªãã TensorRT 䜿ãã ïŒ
éã«é
ããªã£ãïŒãšãã人ïŒ
ããããããVRAMäžè¶³ãããããŸãã
TensorRT ã䜿çšãããšéåžžã®ã¢ãã« + α ã®VRAMã䜿çšããã®ã§ã¡ã¢ãªäžè¶³ã«é¥ãããããªããŸãïŒã¡ã¢ãªäžè¶³ã«ãªããšãã¡ããã¡ãé
ããªãïŒ
èµ·åãªãã·ã§ã³ã« medvram / lowvram ãªã©ãã€ããŠã¿ãŠãã ãã
ãªããå€ããããïŒã£ãŠèšã人㯠webui èšå®ç»é¢ã®
Stable Diffusion â SD Unet ã Automatic ã«ãªã£ãŠããããšã確èªããŠãã ãã

ç°¡ååãæ¿ãçšã« Quicksettings List ã«è¿œå ããããšããã¹ã¹ã¡ããŸãïŒ
ããã§è©Šãã«æ¡ä»¶ããå€ããèšå®ïŒ1024x1024ãšãïŒã§çæããŠã¿ãŸããã
ãã¶ãç¡äºãšã©ãŒã«ãªããŸããããã代åâŠ

768x768 çšåºŠããæºè¶³ã§ããªããã ãïŒ
ããããããªã®ã§ãã倧ããªè§£å床ã«å¯Ÿå¿ãããã®ãäœæããŸããã
ããäžåºŠ TensorRT ã®ã¿ããéãé©åœã«ããªã»ãããéžã³ãŸã
ããããã«Â Advanced Settings ãæŒããšè©³çްèšå®ãåºãã®ã§ããããããããšã奜ã¿ã®èšå®ã§å€æããããšãã§ããŸã
ïŒOptimal ïœ ã¯æé©ã£ãŠæå³ãããïŒ
ãŸããUse static shapes. ã«ãã§ãã¯ãä»ãããšããã³ãã€ã³ããªèšå®å°çšã®ãã®ãäœæããŸã
ãã§ãã¯ãå€ããšãäœããç¯å²ãæè»ãªãã®ãäœæããããšãåºæ¥ãŸã
é©åœã«èšå®ããã Export Engine ãã¯ãªãã¯ïŒããšã¯æµãã§
ã©ãèããŠãæè»ãªã»ãããããããïŒã£ãŠæããŸããæè»ã«ããããšè¥å¹²é ããã€VRAMãããå€ã䜿ãããã«ãªã£ãŠããŸãããã

ãŒãã®ããããããããããã®ãã£ãŠã
ãšããããŸã§èª¬æãããŠããŸãããã¶ã£ã¡ããããã©ãããã®ã§å šå¯Ÿå¿ã®æ§ãã®ã€ããäžåäœã£ãã»ããæ¥œã§ã
ãããªæãã§äœããïŒ

ããããã®æé«å€ã®èšå®ãäžãããšäœææã®VRAM䜿çšéããã£ã¡ãå€ããããé©åœã«èª¿æŽããŠãïŒ
Multi Diffusionã䜿ã£ãŠãå Žåã¯äžéãäžããã»ãããããïŒ
ãªãããã£ã±ã倿ãã¡ãã£ããã©å€§äžå€«ïŒ
ãã£ã±ããã£ãŠãèªåã§äžçªæé©ãªãã®ãéžã°ããã£ãœãã®ã§ããŸãæ°ã«ããªããŠãããã¿ããã§ã
æŽçããæ©èœã¯çŸç¶ãªãã£ãœããã©ããé ããªãæªæ¥ã«æŽæ°ãæ¥ãããªãªãŒã©ãããã®ã§ãããåŸ
ãšãïŒ
äœããããã®ã¯ models/Unet-trt ã®äžã«ãããŸããããã¡ã€ã«ã ãæ¶ããšãããããªããŸã
ãããããªã£ãŠããŸã£ãå Žå㯠model.json ãæ¶ããäžèº«ãèŠãŠã©ãã«ãããŠãã ããïŒ
ãŸãšã
確ãã«æ©ããã©ã¯ã»ã匷ããïŒã§ããããããïŒ
ä»åŸããã«é²åãããšãããïŒ
ä»ã«ããªããè²ã
现ãã話ã¯ãããã©ãããããã®ã§å
šéšå²æããŸã
ãã®å
ã¯åã®ç®ã§ç¢ºãããŠã¿ãŠããïŒ
æè¬ãããããããŸã§èªãã§ããã

倧äºãªLoRA䜿ããšãã®è©±ãšãããªããã§ããã©
åã®ç®ã§ç¢ºãããŠã¿ãŠããïŒ
ââã£ãŠããæ¡åŒµæ©èœã¯ã€ãããŸããïŒ
åã®ç®ã§ç¢ºãããŠã¿ãŠããïŒ
â³â³ã¯ã§ããŸããïŒ
åã®ç®ã§ç¢ºãããŠã¿ãŠããïŒ
ïœïœã£ãŠãããšã©ãŒãã§ãŠã§ããªããã§ããã©
ãšã©ãŒãã°ãåã®ç®ã§ç¢ºãããŠã¿ãŠããïŒ
ããŸã
å šç¶é¢ä¿ãªããã© Civitai ã§ã¢ã¢ã€ã³ã³ãã¹ãéå¬ããŠãŸããåå ããŠãïŒ
â» ãããŸã§ã®ã¢ã¢ã€ã¯å šãŠDALL-E 3補ã§ã