
ããPCã§ç»åçæAIåãããŠã¿ããCPU Stable Diffusionã ãCPUã§ç»åçæã¯çŸå®çã?ã
çããããã«ã¡ã¯ãRcatã§ãã
å°ãåã®èšäºã§ããPCãè²·ã£ãã®ã玹ä»ããŸããããä»åã¯ãã®ããœã³ã³ã䜿ã£ãŠç»åãçæAIïŒStable DiffusionïŒãåãããŠã¿ãŸãã
ãã®AIã§ãããè²ã
調ã¹ããšã©ãã®ãµã€ãã§ãGPUã®è©±ã°ã£ããããŠãã®ã§GPUããªããšã ããªã®ããšæã£ãŠãããã§ãããå®ã¯CPUã§ããããã£ãœãã§ãã
ãšããããã§ã24æéãµãŒããŒã§æŸçœ®çæã§ãããªãæéãããã£ãŠãããã®ã§CPUã§è©ŠããŠã¿ãããšã«ããŸããã
次åã¯ãã¡ã
ããããäœã§CPUã§ããããã®?
æåã«ãæžããŸãããã24æé皌åçšã®ããœã³ã³ã䜿ãããã£ãããã§ãã
æ®æ®µäœ¿ã£ãŠããããœã³ã³ã¯é±æ«ãã䜿çšããŸããããã²ãŒã ã§äœ¿ã£ãŠããéã¯ãã¡ãã䜿çšã§ããŸããããããªããšAIã§ç»åãçæã§ããã¿ã€ãã³ã°ã¯éãããŠããŸããïŒãããã£ãŠèšäºæžããŠããéã¯åãããã§ããâŠïŒã
åŸã¯åçŽã«å€§ããç»åãçæã§ãããšããã¡ãªããããããŸãã
ç§ã®GPUã¯å€ãã®ã§ã¡ã¢ãªã6GBãããããŸããããã®ããã1000ãã¯ã»ã«ãè¶
ããç»åãäœãããšãããšäžæ°ã«åŠçé床ãèœã¡ããããŸãã¯çæã«å€±æããŸããããã°ã©ãå€ããããšãã話ãªãã§ããâŠ
ãããCPUã§ããã°ãç©ãã§ããã¡ã¢ãªã䜿ããã®ã§ãå°ãªããšã10GBãããç©ãã§ãããšèããŠãå·®ãæ¯ããªããšæããŸãã
ãšã«ããèªåã§æäœãããåžžæåæã«çæãç¶ããŠãããç°å¢ãã®ãã®ã«æå³ããããšèããŠããŸããä»äºãããŠããéã«ãåæã«å¢ãç¶ããŠããã®ã§ãã
æåã«çµè«
ã§ã¯ãŸãããããã䜿ãç©ã«ãªãã®ãã©ãããšãã話ã§ãããçµè«ããèšããšäœ¿ããŸãã
ç»åã®ãµã€ãºã䜿ããµã³ãã©ãŒã«ãã£ãŠããªãå·Šå³ãããŠããŸããŸããã倧äœ10-40åã§1æã»ã©çæã§ããæãã§ããã
äŸãã°ä»¥äžã®èšå®ã®å Žåã¯çŽ20åã§ãã

ããŒããŠã§ã¢
äžèšèšäºåç §ïŒCPU : N100 DDR5 16GBïŒã¢ãã«
SakuraMix-v4ç»åãµã€ãº
900x600ãµã³ãã©ãŒ
DDIM / 20step
ãããªæãã§CPUã§ãçãããç»åã®çæã«æåããŸãã!!
ãããªç»åã1æ¥70æè¿ãçæããŠãããããªããŠçŽ æŽãããã§ããã
ã¡ãªã¿ã«åããã®ãRTX2060ã§åãã°30ç§ãããã§ã§ããŸãâŠã
ã¡ãªã¿ã«10幎åã®Core i7ãšçææ¯èŒããçµæã¯ãã¡ãâ
ç»åçæAIãæ§ç¯
ããã§ã¯å®éã«AIå°å
¥æé ã解説ããŠãããŸãã
ä»å䜿çšããã®ã¯å°å
¥ãç°¡åãªããšã§æåãªStable Diffusionã®automatic1111ã§ãã
ã©ã€ãã©ãªãæ¬äœã®DL
ãŸãã¯ããã€ãã®ããã°ã©ã ãã€ã³ã¹ããŒã«ããŸãã
è²ã
調ã¹ãŠãç§ã¯äžèšã®ããæ¹ã§æåããŠããŸãã
sudo apt install wget git python3-venv python3-pip libgl1-mesa-dev次ã«ç»åçæAIãã€ã³ã¹ããŒã«ãããã©ã«ããŒã«ã«ã¬ã³ããåãæ¿ããŠãã以äžã®ã³ãã³ããå®è¡ããŸãã
ãããããšã«ã¬ã³ããã£ã¬ã¯ããªã«AIãããŠã³ããŒããããŸãã
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.gitCPUã§èµ·åããããã«ã¡ããã£ãšæžãæããïŒæ³šæäºé ããïŒïŒ2023/12æçŸåšïŒ
ç§ãããããªãµã€ããåèã«ã€ã³ã¹ããŒã«ãé²ããŠããäžã§ãã©ãããŠãæ
å ±ãåããªãéšåããããŸããã
ãããç°å¢æ§ç¯ã¹ã¯ãªãããGPUããCPUã«æžãæããéšåã§ãããããäžçªå€§äºãªãã§ãããããã®æ
å ±ãæè¿å€ãã£ãã®ããã©ã®ãµã€ãã«ãæžããŠããŸããã§ããã
倧æµã®ãµã€ãã ãš"launch.py"ã®ä»¥äžã®è¡ãæžãæããæç€ºããããã§ãããçŸåšã®ããŒãžã§ã³ã ãšãããŸããã
確ãã«ç§ã¯çŸåšäœ¿ã£ãŠããGPUã§ã®ããŒãžã§ã³ã§ã¯ãã®è¡ããããŸããã
torch_command = os.environ.get('TORCH_COMMAND', "pip install torch==1.13.1+cu117 torchvision==0.14.1+cu117 --extra-index-url https://download.pytorch.org/whl/cu117")æ¢ããŠãåºãŠããªãã®ã§ãèªåã§æ¢ãããšããã"modules"ãã£ã¬ã¯ããªã®äžã«ãã"launch_utils.py"ã®äžã«ã€ã³ã¹ããŒã«ã³ãã³ããèšèŒãããŠããŸããã®ã§ã"torch_index_url"ã以äžã®ããã«æžãæããŸããã
URLã®æ¹ã¯torchã®å
¬åŒãµã€ãããCPUçãã€ã³ã¹ããŒã«ããã®ã«å¿
èŠãªURLã調ã¹ãŸããã
torch_index_url = os.environ.get('TORCH_INDEX_URL', "https://download.pytorch.org/whl/cpu")ãªãã»ã©ãçæAIã§ãã€ããäžè©±ã«ãªã£ãŠãtorchã®CPUçãã€ã³ã¹ããŒã«ããã°ããã ããªãã§ããã
ç§ã¯éå»ã®èšäºã§èªç¶èšèªAIãèªåã§åãããšããããšããã£ãŠããã®ã§ããã®èŸºãããªãçè§£ããããšãã§ããŸããã
æºåãã§ãããAIãèµ·åããŸãã
ãŸãã¯æ®éã«èµ·åããŠã¿ãŠç«ã¡äžããã確èªããŸãããã
ãŸããååã®ç«ã¡äžããã»ããã¢ãããå
ŒããŠããã®ã§ãæåã¯æéãããããŸãã
#æ®éã«èµ·åãããšã
./webui.sh --skip-torch-cuda-test --precision full --no-half --listen
#SSHåæããŠãç¶æããããšã
nohup ./webui.sh --skip-torch-cuda-test --precision full --no-half --listen &å®è¡æã®åŒæ°ã«ã€ããŠã§ãããCPUçã®æã¯ããããGPUã®æãšå°ãéããããªã®ã§æ³šæããŠãã ããããŸããä»åã¯å¥ã®ããœã³ã³ããæ¥ç¶ããåæãªã®ã§ãããçšã®åŒãæ°ïŒ--listenïŒã远å ããŠããŸããããããªããšä»ã®ããœã³ã³ããã¢ã¯ã»ã¹ã§ããŸããã
ã¢ãã«ãã€ã³ã¹ããŒã«ãã
ããŠã1åç«ã¡äžãã£ããçµäºããŠæ¬¡ã«ã¢ãã«ãå
¥ããŸãã
ç»åãçæããã«ã¯ã¢ãã«ãå¿
èŠã§ä»»æã®ã¢ãã«ãå
¥ããŸãããã
äŸãã°ãäžçªæåã«è²Œã£ãç»åãçæããããã«äœ¿çšããã¢ãã«ã¯äžèšã«ãªããŸãã
ãã¡ã€ã«ã«ãŒãã®äžããã¢ãã«ãéžæããŸãã
ãã®ç»é¢ããããŠã³ããŒãããŠsftpã§è»¢éããŠãããã§ãããwgetã§ããŠã³ããŒããããŠãããã§ãã

ã¢ãã«ã®æ ŒçŽå
ã¯ä»¥äžã§ãã
./stable-diffusion-webui/models/Stable-diffusion/
ã¢ãã«ãæ ŒçŽãããããäžåºŠç«ã¡äžããŠã¿ãŸããã
çææºåå®äº
ãªã¢ãŒãIPã¢ãã¬ã¹:ããŒãçªå·ã7860ã¢ã¯ã»ã¹ããŸãã
ãã¡ã€ã¢ãŠã©ãŒã«ãæå¹ã«ãªã£ãŠããå Žåã¯åŒŸãããå¯èœæ§ãããã®ã§ç©ºããšããŠãã ããã
以äžã®ãããªç»é¢ã衚瀺ãããã°æ§ç¯æåã§ãã
ããããå
ã¯ããããªãµã€ãã§äœ¿ãæ¹ã玹ä»ãããŠãããšæããŸãã®ã§ãåèã«çæããŠã¿ãŠãã ããã

ãŸãšã
ä»åã¯ã€ã©ã¹ãçæAIãCPUã§åããæ¹æ³ã«ã€ããŠãŸãšããŸããã
ããã€ãCPUã§çæããããã®æ
å ±ãèŒãããµã€ãã¯ãããã§ãããå
·äœçã«ã©ã®ããŒããŠã§ã¢ã§äœç§ããããšããæžããŠãªãã£ãã®ã§ããããã£ãèŠç¹ã§èŠãŠããã ããããã«æ¬èšäºãæžããŸããã
å°ãªããšãN100 CPUã§ã¯è»œãèšå®ã ãš15åãããã§æãããã§ãã
ç»åã®ãµã€ãºãæªããªããµã€ãºã ãšæãã®ã§ãååã«å®çšçã ãšèããŠããŸãã
ãã¡ããæåã«èšããŸããããåæã«çæãç¶ããç°å¢ã§ãããªãã°ã®è©±ã§ããããœã³ã³ã®åã«åº§ã£ãŠãã©ã¡ãŒã¿ãŒãããããªããçæããã«ã¯å³ããã§ãã
ãªã®ã§ãèªåã®ãæ°ã«å
¥ãã®èšå®æ¡ä»¶ãèŠã€ãããŸã§ã¯ãGPUã§ç»åã®çæãè¡ããåºæ¥äžãã£ãæ¡ä»¶ã§24æééç£åäœå¶ãäœãã®ãè¯ãã®ã§ã¯ãªãããšèããŠããŸãã
ãã¡ããã黿°ä»£ãšç¢ºèªããææ°ãæ°ã«ããªããªãGPUã§éç£ããã®ããããšæããŸãã?
次åã¯èªåçæç°å¢ã«ã€ããŠèããŠãããŸãã
ãããŸã§èªãã ãããªããæ°ã¥ããããããŸãããã24æéèªåçæãã©ããã£ãŠæäœããã®ãšããéšåãçåã«æããããããããŸããã
webuiã䜿ãå Žåãæ¥ç¶ããããœã³ã³ããã¹ã¯ããããå°ãªããšãç«ã¡äžãã£ãŠããå¿
èŠããããŸãã
ããããç§ã®24æéPCã¯ãã¹ã¯ãããç»é¢ã䜿ããŸãããã€ãŸããWebUIããæäœãããããšã¯ã§ããªããšããããã§ãããã¡ããä»ã®PCããæ¥ç¶ãããšããã®ãNGã§ãã
ã§ã¯ãã©ãããã®ããšããè©±ãæ¬¡åããŠããããšæããŸããå
·äœçã«ã¯APIã§ããã
ã§ã¯ãŸããäŒãããŸãããã
次åã¯ãã¡ã