nVidia Geforce GT 1030 (2GB VRAM) 으로 Stable Diffusion WebUI 사용하기
※ 여러가지 시행착오끝에 아래와 같은 512x768 이미지를 GT 1030 에서 2분대에 생성할 수 있도록 했다. 작년 이맘때 생성한게 10분 대였다는걸 감안하면 많은 발전이다. 그만큼 기술이 늘었다는 셈이다. 이 방법은 아마도 2G VRAM 을 가진 모든 nVidia 계열에서 사용할 수 있을거 같다.
※ 하는 방법을 적어 놓는다.
1. Ubuntu 22.04 를 설치하고 nVidia 그래픽 카드 드라이버를 설치한다. 이 글을 쓰는 시점에서 드라이버 버전은 550.67 이다. 윈도에서는 이 방법이 되지 않는다.
2. OS 가 띄워진 후에도 VRAM 2GB 를 온전히 비워질 수 있도록 한다. 필자의 경우 모니터 연결은 내장 그래픽을 사용했다.
3. Stable Diffusion WebUI 를 설치하고 실행한다. 옵션은 "--medvram --listen --xformers" 을 준다.
glibc version is 2.35 Check TCMalloc: libtcmalloc_minimal.so.4 libtcmalloc_minimal.so.4 is linked with libc.so,execute LD_PRELOAD=/lib/x86_64-linux-gnu/libtcmalloc_minimal.so.4 Python 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] Version: v1.9.0 Commit hash: adadb4e3c7382bf3e4f7519126cd6c70f4f8557b Launching Web UI with arguments: --medvram --listen --xformers Loading weights [********] from Model.safetensors Running on local URL: http://0.0.0.0:7860
To create a public link, set `share=True` in `launch()`. Startup time: 7.1s (prepare environment: 1.4s, import torch: 2.4s, import gradio: 0.6s, setup paths: 1.2s, import ldm: 0.1s, initialize shared: 0.1s, other imports: 0.3s, list SD models: 0.1s, load scripts: 0.4s, create ui: 0.4s). Creating model from config: /home/windy/stable-diffusion-webui/configs/v1-inference.yaml Applying attention optimization: xformers... done. Model loaded in 1.6s (load weights from disk: 0.5s, create model: 0.3s, apply weights to model: 0.5s, calculate empty prompt: 0.2s).
4. 이미지를 생성한다. 아래 화면 참조하자. 프롬프트는 75 토큰 이하, 네거티브 프롬프트가 반드시 75토큰이상 150토큰 이하이어야 한다. (왜그래야 하는지는 모르겠다)
4-1. 아래와 같이 화면에 표시된다.
100%|████████████████████████████████████████████████████████| 24/24 [02:33<00:00, 6.40s/it] Total progress: 100%|██████████████████████████████████████████████| 24/24 [02:36<00:00, 6.54s/it] Total progress: 100%|██████████████████████████████████████████████| 24/24 [02:36<00:00, 6.36s/it]
+-----------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=========================================================================================| | 0 N/A N/A 5895 C python3 1952MiB | +-----------------------------------------------------------------------------------------+