AUTOMATIC1111 WebUI를 사용하여 윈도우에서 Stable Diffusion을 사용하는 방법을 정리 합니다. 여기서는 CUDA를 지원하는 적절한 그래픽카드를 보유중이라고 가정하고 진행하겠습니다. AMD의 그래픽카드 혹은 CPU를 활용하는 경우는 참고하기에 부적절할 수 있습니다.
1) 내가 가지고 있는 그래픽카드가 무엇인지 확인 후 적절한 CUDA Toolkit, cuDNN을 설치
1. 윈도우 시작 버튼을 누르고 다음의 명령어를 실행합니다.
control /name Microsoft.DeviceManager
2. “디스플레이 어댑터” 항목에서 내 그래픽 카드가 무엇인지 확인합니다.
3. CUDA를 지원하는 NVIDIA GeForce RTX 4090을 확인 하였습니다. 이 그래픽 카드의 아키텍쳐를 확인해야 하는데 저는 구글링을 통해서 Ada Lovelace 아키텍쳐임을 확인하였습니다.
4. CUDA Toolkit, Driver and Architecture Matrix 문서를 확인하여 내 그래픽카드가 지원하는 가장 최신의 CUDA Toolkit이 어떤 버전인지 확인합니다. 아직 Ada 아키텍쳐는 Ongoing이네요. Ada의 경우 11.8부터 가장 최신의 CUDA Toolkit을 설치해도 됩니다. 정확한 버전이 표기되어있을 경우 그 버전까지만 지원한다는 의미입니다.
5. Ongoing인 경우 최신 버전의 CUDA Toolkit 또는 구 버전의 CUDA Toolkit을 적절하게 선택하여 다운로드 후 설치를 진행합니다. 저의 경우에는 Windows 11을 사용하기에 다음과 같은 선택을 하였습니다.
다음의 명령어를 사용하여 정상적으로 설치가 되었는지 확인 해 봅니다. PowerShell에서 nvcc 및 nvidia-smi 명령어가 정상적으로 실행이 된다면 잘 설치되었다고 보셔도 됩니다.
PS > nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Fri_Nov__3_17:51:05_Pacific_Daylight_Time_2023
Cuda compilation tools, release 12.3, V12.3.103
Build cuda_12.3.r12.3/compiler.33492891_0
PS > nvidia-smi
Fri Dec 8 18:59:10 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 546.29 Driver Version: 546.29 CUDA Version: 12.3 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 4090 WDDM | 00000000:01:00.0 Off | Off |
| 0% 35C P8 11W / 450W | 1426MiB / 24564MiB | 6% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
+---------------------------------------------------------------------------------------+
2) Python 설치
1. Python 3.10.6 버전을 설치합니다. “Windows installer (64-bit)”를 받으면 되며 더 높은 버전은 지원하지 않으니 주의 바랍니다.
설치 시 “Add Python 3.10 to PATH”를 선택하여 환경변수에 PATH가 추가될 수 있도록 해줍니다.
2. 정상적으로 설치가 되었는지 PowerShell에서 확인 해 봅시다. 다음과 같이 버전이 출력되면 정상적으로 설치 된 경우입니다.
PS > python --version
Python 3.10.6
3) Git 설치
1. Windows 용 Git 다운로드 페이지에 방문하여 64-bit Installer 버전을 다운받아 설치 해 줍니다.
2. 다음과 같이 PowerShell에서 버전 출력이 되는지 확인 해 봅니다.
PS> git --version
git version 2.43.0.windows.1
4) Stable Diffusion WebUI 설치 및 실행
1. stable-diffusion-webui 를 git clone 받습니다.
PS> git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
Cloning into 'stable-diffusion-webui'...
remote: Enumerating objects: 28980, done.
remote: Counting objects: 100% (28/28), done.
remote: Compressing objects: 100% (17/17), done.
remote: Total 28980 (delta 14), reused 20 (delta 11), pack-reused 28952Receiving objects: 100% (28980/28980), 29.28 MiB Receiving objects: 100% (28980/28980), 32.87 MiB | 11.70 MiB/s, done.
Resolving deltas: 100% (20288/20288), done.
2. webui-user.bat 설정을 변경합니다. (COMMANDLINE_ARGS 값을 추가)
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --no-half-vae --medvram
call webui.bat
3. webui-user.bat를 통해서 Stable Diffusion WebUI를 실행 해 줍니다. 최초 실행 과정에서 필요한 라이브러리를 알아서 다운로드 받습니다.
PS> ./webui-user.bat
필요한 패키지를 순차적으로 다운받은 뒤 자동으로 웹브라우저에서 WebUI가 실행 됩니다.
5) NVIDIA cuDNN 설치
1. 이번에는 cuDNN(CUDA Deep Neural Network)를 설치합니다. 이미지 생성 속도를 2배 가까이 빠르게 해준다고 합니다. CUDA Toolkit 과는 다르게 NVIDIA Developer 계정을 가지고 있어야 다운로드를 할 수 있습니다. 가입이 어렵지 않으므로 가입을 해 줍니다.
다운로드 화면에 진입하면 어떤 CUDA 버전에 호환되는 cuDNN을 받을지 선택할 수 있습니다. 정확한 버전을 확인하려면 GPU, CUDA Toolkit, and CUDA Driver Requirements 문서를 확인해 보시면 됩니다. 설치한 CUDA Toolkit 버전에 맞추어 설치를 하면 됩니다. 저는 12.x 지원 버전으로 “Local Installer for Windows (Zip)”을 선택하여 다운로드 하겠습니다.
2. 다운로드 받은 파일은 단순히 압축 파일이며 압축을 해제한 뒤에 dll 파일들을 직접 옮겨야 합니다.
압축 해제한 디렉토리의 bin/ 디렉토리 밑에 있는 DLL 파일들을 모두 Stable Diffusion WebUI가 설치된 디렉토리의 다음의 위치로 복사 해 줍니다.
STABLE_DIFFUSION_WEBUI/venv/Lib/site-packages/torch/lib/
6) 완료
이제 모든 준비는 완료 되었습니다. webui-user.bat를 통해서 다시 실행 해 보시면 되며, 추가적인 Model, LoRA, Extension 들을 찾아가며 업그레이드 해 나가시면 됩니다.