Jak używać Stable Diffusion bez karty graficznej (poradnik CPU)
Stable Diffusion bez karty graficznej

Generowanie obrazów za pomocą sztucznej inteligencji zawładnęło siecią i mediami społecznościowymi. Rozwiązania online są coraz bardziej solidne i zaawansowane, ale lokalne uruchamianie modeli ma dwie podstawowe zalety: jest darmowe oraz usuwa ograniczenia narzucane przez platformy internetowe. Najlepszą opcją offline pozostaje Stable Diffusion, ale jego standardowa konfiguracja zaleca karty graficzne Nvidia. Na szczęście zalecenie nie oznacza obowiązku, a dziś sprawdzimy, jak skierować Stable Diffusion do korzystania z procesora…

Jeśli chcesz spróbować swoich sił w generowaniu obrazów, najprościej jest założyć konto w DreamStudio lub skorzystać z Midjourney przez Discorda. Żadna z tych opcji nie jest jednak darmowa – po wykorzystaniu uprzejmych wersji próbnych musisz kupić kredyty. Alternatywnie, publiczna wersja demonstracyjna Stable Diffusion nadal działa, a jeśli masz cierpliwość (kolejka oczekujących, spontaniczne błędy i konieczność „przepracowania” swoich promptów) możesz tworzyć naprawdę interesujące obrazy.

Generowanie offline również istnieje. Jeśli masz kompatybilną kartę graficzną Nvidia, jest to zdecydowanie najlepszy sposób na uzyskanie obrazów. Dlaczego? Możesz testować różne modele udostępniane przez społeczność, uniknąć (logicznych) ograniczeń wersji online, a co najważniejsze – tworzyć obrazy bez płacenia ani grosza. Co jednak, gdy karta graficzna nie wchodzi w grę? W takim razie rozwiązaniem jest przekonanie Stable Diffusion do korzystania z CPU.

Zanim zaczniesz…

Musisz ograniczyć oczekiwania. Proces poświęca czas w zamian za kompatybilność. Dokładna wydajność zależy od każdego procesora i od tego, jak mocne są jego rdzenie („rdzenie” w liczbie mnogiej – zdecydowanie potrzebujesz wielordzeniowego chipa i 16 GB RAM), ale średnio musisz poczekać około pięciu minut na obraz przy 20 krokach. Niektóre metody próbkowania wymagają 30–40 kroków, aby osiągnąć optymalne wyniki, więc trzeba uzbroić się w cierpliwość.

Jak skonfigurować Stable Diffusion bez karty graficznej

Jak używać Stable Diffusion bez karty graficznej (poradnik CPU)
Interfejs WebUI Stable Diffusion, wersja Automatic1111, działający bez GPU
  • W zasadzie ten przewodnik powtarza te same kroki co samouczek instalacji dla wersji WebUI Stable Diffusion opracowanej przez Automatic1111 na GitHubie. To jedna z najpopularniejszych i najbardziej aktualnych wersji w sieci, ale nie będzie działać na procesorach bez kilku modyfikacji na końcu. To jest nasze zadanie.
  • Po pierwsze musisz zainstalować Pythona 3.10.6 lub nowszego, zaznaczając opcję „Add Python to PATH”.
  • Następnie przychodzi czas na Gita dla Windows. W chwili pisania tego tekstu jego najnowsza wersja to 2.38.0, kompatybilna z systemami 64-bitowymi.
  • Tutaj masz dwie opcje: możesz użyć polecenia git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git, aby pobrać całe repozytorium, albo wykonać to samo pobieranie ręcznie, klikając zielony przycisk Code, a następnie wybierając Download Zip. Pierwsza ścieżka pozwala później użyć git pull do aktualizacji; w drugiej za każdym razem musisz pobierać zip. W każdym razie instalacja gita jest obowiązkowa.
  • Najtrudniejszy krok: zdobycie modelu Stable Diffusion 1.4. To czterogigabajtowa bryła, więc polecam użyć linku magnet do pobrania przez BitTorrent. Alternatywą jest bezpośrednie pobranie, ale trzymaj kciuki, żeby połączenie nie zostało przerwane.
  • Po pobraniu modelu zmień jego nazwę na model.ckpt i umieść go w folderze stable-diffusion-webui-master\models\Stable-diffusion\. Pozostałe modele pobierają się automatycznie przy pierwszym uruchomieniu.
  • Nie wyszliśmy jeszcze z dżungli. Kluczem do działania jest wymuszenie korzystania z CPU i jednocześnie wskazanie, że nie ma żadnych urządzeń CUDA.
  • Aby to osiągnąć, edytuj plik webui.bat i dodaj dwie linie, jak pokazano na obrazku poniżej: set CUDA_VISIBLE_DEVICES=-1 oraz set COMMANDLINE_ARGS=--precision full --no-half --use-cpu all --skip-torch-cuda-test --autolaunch. Zapisz zmiany.
Jak używać Stable Diffusion bez karty graficznej (poradnik CPU)
Plik webui.bat powinien wyglądać dokładnie tak, jak widać tutaj, z tymi dodatkowymi liniami
  • Otwórz konsolę z podwyższonymi uprawnieniami i uruchom webui.bat. Podniesienie uprawnień nie jest ściśle konieczne, ale pozwala uniknąć potencjalnych konfliktów z Windows.
  • Jeśli WebUI potrzebuje czegoś więcej, najprawdopodobniej spróbuje pobrać to automatycznie. To oczekiwane zachowanie. Jeśli wszystko pójdzie dobrze, WebUI Stable Diffusion otworzy się w karcie Twojej domyślnej przeglądarki pod adresem 127.0.0.1:7860.
  • Wpisz prompt i na początek ogranicz liczbę kroków do 20. Nie wszystkie samplery działają w trybie CPU (na przykład DDIM), a moja sugestia to pozostać przy Euler A lub LMS. Kliknij Generate i czekaj.
Jak używać Stable Diffusion bez karty graficznej (poradnik CPU)
Stable Diffusion na samym CPU, 16 wątków
Jak używać Stable Diffusion bez karty graficznej (poradnik CPU)
Nawet jeśli skonfigurujemy korzystanie z CPU, niektóre samplery po prostu nie będą działać

I to wszystko! Dzięki tym krokom generowanie obrazów za pomocą Stable Diffusion i procesora stanie się rzeczywistością. Reszta to… cierpliwość. Osobiście mogę utworzyć 16 obrazów na GPU na każde jedno na CPU, więc różnica w wydajności jest ogromna. Jednak dostrojenie liczby kroków i rozdzielczości pomoże skrócić czas przetwarzania. Powodzenia!