AUTOMATIC1111을 설치하고 몇 가지 테스트를 하고 있었습니다.
그 중 Easy Diffusion에서 사용할 수 없었던 LoRA를 사용할 수 있다는 소식을 듣고 기뻤습니다.
그나저나 잘 달리는 것 같았는데… 쭉쭉 늘어져 버렸네요. 처음에 512×512 이미지 하나를 생성할 때는 문제가 없었지만 크기를 조금 늘려서 이미지 2개를 뽑아달라고 했더니 아래와 같이 “torch.cuda.OutOfMemoryError: CUDA out of memory. 38.00 MiB( GPU 0; 총 용량 4.00GiB; 이미 할당된 2.67GiB; 27.80MiB 사용 가능; PyTorch에서 총 2.71GiB 예약”하고 종료되었습니다.
그 후 다시 작동하지 않아 컴퓨터를 재부팅해야 했습니다.
사실 이것은 내 비디오 카드가 4GB VRAM이 있는 GeForce GTX 1050 Ti를 사용하는 호환 카드로 Stable Diffusion을 간신히 실행할 수 있을 만큼 충분히 낮았기 때문에 발생했습니다.
(Easy Diffusion은 LoRA를 베타 버전으로 사용할 수 있다고 해서 테스트 중에 늘어졌을 때 프로그램 탓을 했고 컴퓨터가 고장나서 그랬습니다.
개발자분들께 죄송합니다.
. :()
암튼 그래서 메모리 문제를 해결하기 위해 AUTOMATIC1111에서 설정을 찾아봤지만 너무 복잡해서 포기했습니다.
AUTOMATIC1111 최적화 문서그러고 보니 아래와 같이 xformers를 사용하면 메모리 사용량을 줄이면서 속도를 높일 수 있다고 해서 어쩔 수 없었습니다.
이 문서에 사용할 방법이 없어서 조금 더 찾아봤는데 설치(혹은 활성화)하는 방법이 정말 쉽습니다.
AUTOMATIC1111 webui가 설치된 %userprofile%/stable-diffusion-webui 디렉토리로 이동하여 (webui-user.bat) 파일을 편집하고 “set COMMANDLINE_ARGS=”에 “–xformers”를 추가하십시오. 아래와 같이
@에코 끄기
파이썬= 설정
설정 GIT=
VENV_DIR= 설정
COMMANDLINE_ARGS=–xformers 설정webui.bat 호출
그런 다음 실행하면서 xformers 모듈이 로드되고 실행됩니다.
다만, 대부분의 경우 환경설정과 시드번호가 같으면 같은 이미지가 생성되지만, 엑스포머를 사용할 경우 생성되는 이미지가 약간씩 차이가 난다.
아래는 내가 참조한 기사첫 번째는 원본 이미지이고, 오른쪽 두 개는 xformers를 켠 상태에서 만든 이미지… 뭔가 달라졌다고 하는데 별로 달라진 건 없는 것 같습니다.
육안으로 보기에는 별차이 없어보여서 다행입니다.
그런데 아래 데이터를 보면… 실행시간은 조금 줄었지만 VRAM 사용량은 확실히 줄었다는 것을 알 수 있습니다.
4.4GB가 650MB를 제공한다는 것은 획기적입니다.
|
|
|
GPU: RTX 3090 렌더링 시간: 16초 VRAM @ 유휴: 5440MB VRAM @ 최대: 9860MB 실제 최대 VRAM 사용량: 4420MB |
GPU: RTX 3090 렌더링 시간: 14초 VRAM @ 유휴: 5422MB VRAM @ 최대: 6076MB 실제 최대 VRAM 사용량: 654MB |
어쨌든… 다행이다.
이런 식으로 (언젠가는 사야겠지만) 돈은 잠시라도 탄탄하다.
얼마나 오래 버틸 수 있을지 기대됩니다.
헤헤
분, 푸른 하늘