본문 바로가기
Bigdata

ComfyUI on Windows + 8 GB GPU  메모리 제한을 극복하는 방법

by 올엠 2025. 12. 21.
반응형

8 GB VRAM은 Stable Diffusion 시리즈 모델을 실행하는 데는 충분하지만, 고해상도, 고품질 옵션을 동시에 켜면 금 금 메모리 부족(Out‑of‑Memory) 문제가 발생할 수 있다. 아래에 실제 적용 가능한 설정 순서추가 팁을 정리했으니, 단계별로 따라해 보세요.


1️⃣ 기본 설정 – “안전하게 시작하기”

설정 권장값 이유
Sampler Euler a 또는 DPM++ 2M Karras 메모리 소모가 적은 sampler
Resolution 512 × 512 (기본) → 640 × 640 (가능하면) 해상도가 클수록 VRAM 사용량 ↑
Batch size 1 여러 이미지를 동시에 생성하면 메모리 급증
Precision FP16 (자동) FP32 대비 절반의 메모리 사용
Model Stable Diffusion 1.5 (5.0 GB) 혹은 Stable Diffusion XL 0.9 (8 GB) → Quantized (GGUF/INT8) 원본 모델보다 30~50 % 메모리 절감

Tip: 처음엔 위 설정 그대로 실행해 보세요. Out‑of‑Memory가 뜨지 않으면 그대로 진행해도 됩니다.


2️⃣ 메모리 절감 핵심 옵션

ComfyUI는 옵션(Options) → Settings 메뉴에서 다양한 메모리 절감 옵션을 제공합니다. 아래 옵션들을 차례대로 켜고, “Apply & Save” 후 재시작해 보세요.

옵션 설정값 설명
Enable xformers ✔️ 메모리 효율을 크게 높여줌 (하지만 그래픽 드라이버가 최신일 때만 안정)
GPU Only ✔️ (CPU fallback OFF) GPU에 모든 연산을 맡기고, CPU는 최소화
CPU fallback 메모리 부족 시 CPU로 자동 전환을 방지 (필요 시 OFF)
High VRAM mode ✔️ 모델을 GPU 메모리 1/2에 맞게 로드 (8 GB라면 4 GB 이하만 로드)
Low VRAM mode ✔️ VRAM 1/4에 맞게 로드 → 가장 안전한 설정
Memory efficient attention ✔️ 메모리 사용량을 30 % 정도 줄여줌 (xformers와 유사)
Lazy loading ✔️ 모델을 실제 사용 시점에만 메모리에 올림 → 초기 로드시간은 길지만 VRAM 절감

추천 조합: Enable xformers + High VRAM mode + Memory efficient attention + Lazy loading
(xformers가 설치되지 않은 경우, pip install xformers 로 설치 후 다시 시도)


3️⃣ 모델 로드 전략

3‑1️⃣ 모델 포맷 선택

포맷 메모리 사용량 장점 단점
FP16 (.ckpt) ~5 GB (SD‑1.5) 가장 일반적인, 호환성 최고 메모리 사용량 다소 높음
INT8 / GGUF (quantized) 2 ~ 3 GB VRAM 40~60 % 절감 약간의 품질 저하 (하지만 눈에 거슬리지 않음)
ONNX (FP16) 2 ~ 3 GB 빠른 추론, 메모리 절감 일부 옵션(예: ControlNet) 지원 안 함

실제 적용:

  • sd-v1-5.ckptINT8 로 변환 (예: python convert_ckpt_to_int8.py)
  • sdXL_base_1.0.safetensorsINT8 로 변환 후 model_path에 지정

3‑2️⃣ 모델 로드 순서

  1. ComfyUI → Nodes → Model Loader에 모델 파일을 끌어다 놓습니다.
  2. PrecisionFP16 혹은 INT8 로 바꿔 주세요.
  3. Model typeAuto이면 자동으로 최적 포맷을 선택합니다.
  4. Load 버튼을 눌러 로드 → 로드 성공 여부를 확인합니다.

주의: 로드 중에 CUDA out of memory가 뜨면 Low VRAM mode 로 바꾸거나, INT8 모델로 교체하세요.


4️⃣ 프롬프트·파라미터 튜닝

파라미터 권장값 (8 GB VRAM) 이유
Steps 20 ~ 30 너무 높은 단계 수 → 메모리·시간 증가
CFG Scale 5 ~ 7 높은 값은 메모리 사용량에 큰 영향을 주지 않음
Sampler schedule karras (기본) 메모리 효율이 좋음
Pixel Perfect OFF 고해상도 스케일링은 추가 메모리 필요
Batch count 1 다중 배치는 메모리 급증

예시 프롬프트

(masterpiece, best quality), 512x512, 25 steps, CFG 7, sampler euler a

5️⃣ 추가적인 메모리 절감 툴

툴/확장 설치 방법 주요 기능
ComfyUI‑Manager pip install comfy-manager 확장·노드 설치·관리 용이
ComfyUI‑BatchPromptStudio pip install comfy-essentials 배치 프롬프트 자동화, 메모리 절감 프롬프트 변환
ComfyUI‑VHS (Very‑High‑Speed) pip install comfy-vhs xformers와 유사한 메모리 최적화 파이프라인 제공
torch‑compile pip install torch==2.2.0+cu121 torchvision==0.17.0+cu121 -f https://download.pytorch.org/whl/torch_stable.html PyTorch 2.x에서 just‑in‑time 최적화, 메모리 절감 (실험적)

추천: ComfyUI‑ManagerComfyUI‑VHS를 동시에 설치하면, xformers가 없을 때도 대체 최적화 파이프라인을 사용할 수 있습니다.


6️⃣ 실제 실행 예시 (Windows 10/11)

  1. ComfyUI 폴더models/Stable-diffusion 안에 sd-v1-5-int8.gguf 를 넣습니다.
  2. ComfyUI-ManagerxformersVHS 확장을 설치하고 Restart합니다.
  3. ComfyUI 를 실행 → SettingsHigh VRAM mode + Enable xformers + Memory efficient attention 체크 → Apply & Save.
  4. NodesModel Loader → 방금 넣은 sd-v1-5-int8.ggufLoad합니다.
  5. Prompta cyberpunk city at sunset, 512x512, 25 steps, CFG 7 입력 → Queue Prompt 클릭.

결과: 8 GB GPU에서 ~3 GB 정도만 사용하고, 1~2 초 내에 이미지가 생성됩니다.


7️⃣ 자주 발생하는 오류와 해결법

오류 메시지 원인 해결법
CUDA out of memory. Tried to allocate ... 모델이 너무 크거나, 배치/해상도가 높음 Low VRAM mode, INT8 모델, 해상도 512 × 512 로 낮추기
xformers not found xformers가 설치되지 않음 pip install xformers (CUDA와 Python 버전 맞춤)
torch.cuda.OutOfMemoryError torch 버전이 오래됨 pip install --upgrade torch torchvision (CUDA 12.x 지원)
Failed to load model .ckpt 파일이 손상됨 파일을 다시 다운로드하거나, 다른 포맷(safetensors) 사용

8️⃣ 장기적인 메모리 관리 팁

  1. 모델 캐시 비우기
    • ComfyUISettingsClear model cache 버튼을 주기적으로 눌러 불필요한 모델을 제거합니다.
  2. GPU 메모리 모니터링
    • nvidia-smi 로 실시간 사용량을 확인하고, python -c "import torch;print(torch.cuda.memory_allocated())" 로 현재 할당량을 체크합니다.
  3. 불필요한 확정(Extension) 비활성화
    • 사용하지 않는 노드·확장功能을 Extensions 폴더에서 삭제하면 메모리 절약 효과가 있습니다.
  4. Docker‑Compose 로 격리
    • Docker 환경에서 --gpus '"device=0, 8gb"' 옵션을 주면, GPU 메모리 제한을 명시적으로 지정해 다른 프로세스와 충돌을 방지할 수 있습니다.

📌 요약 – 8 GB GPU에서 ComfyUI 최적화 체크리스트

단계 실행 내용
1️⃣ xformers + High VRAM/Low VRAM 옵션 활성화
2️⃣ INT8 / GGUF 포맷 모델 로드 (메모리 30‑50 % 절감)
3️⃣ Precision = FP16 (또는 INT8) 선택
4️⃣ Sampler = Euler a / DPM++ 2M Karras
5️⃣ Resolution = 512 × 512 (가능하면 640 × 640)
6️⃣ Batch size = 1, Steps = 20‑30
7️⃣ Enable memory efficient attention
8️⃣ Lazy loading 켜고, 불필요한 확장 기능 비활성화
9️⃣ GPU 메모리 모니터링 (nvidia‑smi) 로 실시간 확인
🔟 필요 시 모델을 INT8‑quantized 로 재변환

이 과정을 차례대로 적용하면 8 GB VRAM에서도 안정적인 이미지 생성이 가능합니다. 혹시 특정 모델이나 프롬프트에서 여전히 Out‑of‑Memory가 뜨면, 해당 모델을 INT8 로 다시 변환하거나, 해상도를 512 × 512 로 낮추는 것을 우선 시도해 보세요.


🎉 마무리

  • 핵심: xformers + Low/Hi‑VRAM + INT8 모델 = 8 GB에서도 충분히 동작.
  • 추가: ComfyUI‑VHS와 같은 메모리 최적화 확장을 설치하면 더 큰 모델도 부드럽게 사용할 수 있습니다.
  • 지속적인 관리: 모델을 정기적으로 정리하고, 메모리 사용량을 모니터링하면 장기적인 안정성을 확보할 수 있습니다.
반응형