본문 바로가기
웹툰AI/WebUI Forge

WebUI Forge🍉Low Bits로 V-RAM 사용량 줄이기

by Kwoon 2025. 6. 23.

 

Stable Diffusion WebUI Forge (이하 Forge)의 "Diffusion in Low Bits" 기능은 이미지 생성 과정에서 모델의 연산 정밀도(precision)를 낮춰서 VRAM 사용량을 줄이고 생성 속도를 향상시키는 옵션입니다. 

'Low Bits'는 말 그대로 '낮은 비트'를 사용한다는 의미로, 주로 모델의 가중치(weights)나 활성화 값(activations)을 더 낮은 정밀도로 표현하는 양자화(quantization) 기술과 관련이 있습니다.

 

 

1️⃣  Diffusion in Low Bits의 기본 개념

🔴 정밀도(Precision)

컴퓨터는 숫자를 표현할 때 정밀도(bit-width)를 사용합니다. 일반적인 학습 및 추론에서는 주로 FP32 (단정밀도 부동소수점, 32비트) 또는 FP16 (반정밀도 부동소수점, 16비트)을 사용합니다.


🟠 FP32 (Float32)

가장 높은 정밀도. 가장 많은 VRAM 사용.


🟡 FP16 (Float16)

FP32의 절반 VRAM 사용. 일부 정밀도 손실이 있지만 대부분의 경우 큰 차이 없음.


🟢 FP8 (Float8)

8비트 부동소수점. FP16보다 VRAM 사용량이 훨씬 적음.


🔵 NF4 (NormalFloat 4)

4비트 양자화 방식. 특히 Weights & Biases의 NF4 논문에서 제안된 방식으로, VRAM을 극적으로 줄이는 데 효과적.


🟣 양자화(Quantization)

모델의 가중치나 활성화 값을 더 낮은 비트 정밀도로 변환하는 과정입니다. 예를 들어, FP32로 학습된 모델을 FP16, FP8, 또는 NF4 등으로 변환하여 저장하고 로드하여 사용합니다.

 

 

2️⃣  Diffusion in Low Bits의 목적

🔴 VRAM 절약

특히 VRAM 용량이 부족한 GPU (예: 8GB, 6GB, 심지어 4GB)에서 대용량 모델(특히 SDXL, FLUX 같은 최신 모델)을 실행할 수 있게 합니다.


🟠 속도 향상

낮은 정밀도로 연산하면 GPU가 더 빠르게 계산을 수행할 수 있어 이미지 생성 속도가 빨라집니다.

 

 

3️⃣  Forge에서의 "Diffusion in Low Bits" 옵션

Forge UI의 상단에 이 옵션이 있으며, 일반적으로 다음과 같은 선택지들을 제공합니다.

🔴 Automatic

Stable Diffusion 모델의 원래 정밀도(대부분 FP16)를 사용합니다. LoRA 사용 시에는 LoRA의 정밀도를 자동으로 조절합니다. (권장되는 기본 설정)


🟠 Automatic (fp16 LoRA)

기본 모델은 'Automatic'과 동일하게 처리하지만, LoRA 모델의 정밀도는 항상 FP16으로 유지합니다. 일부 저비트 양자화된 LoRA가 문제를 일으킬 때 선택할 수 있습니다.


🟡 bnb-nf4

기본 Stable Diffusion 모델의 정밀도를 NF4 (NormalFloat 4비트)로 변환하여 사용합니다. Bitsandbytes 라이브러리의 기능을 활용합니다.


🟢 bnb-nf4 (fp16 LoRA)

bnb-nf4와 동일하지만, LoRA는 FP16으로 유지합니다.


🔵 float8-e4m3fn

FP8 (8비트) 정밀도 중 하나인 E4M3FN 형식을 사용합니다.


🟣 float8-e4m3fn (fp16 LoRA)

float8-e4m3fn과 동일하지만, LoRA는 FP16으로 유지합니다.


🟤 bnb-fp4

FP4 (4비트) 양자화를 사용합니다.


⚫ float8-e5m2

또 다른 FP8 (8비트) 정밀도인 E5M2 형식을 사용합니다.


이러한 저비트 옵션들은 특히 FLUX AI 모델과 같은 최신, 대용량 모델을 Forge에서 사용할 때 VRAM 최적화를 위해 중요한 역할을 합니다. FLUX 모델 자체가 저비트(예: NF4)로 양자화되어 배포되는 경우가 많기 때문입니다.

 

 

4️⃣  장점과 단점

⭕ VRAM 사용량 대폭 감소

저사양 GPU에서도 대용량 모델을 실행할 수 있게 해줍니다.


⭕ 생성 속도 향상

연산량이 줄어들어 이미지 생성 시간이 단축됩니다.


⭕ 접근성 증가

더 많은 사용자가 AI 이미지 생성 기술을 활용할 수 있게 됩니다.

 

❌ 잠재적인 이미지 품질 저하

비트 정밀도가 낮아지면 모델이 정보를 잃을 수 있으므로, 미세한 디테일이나 색상 표현에서 품질 손실이 발생할 가능성이 있습니다. 그러나 최근의 양자화 기술은 이러한 손실을 최소화합니다.


❌ 호환성 문제

모든 모델이나 LoRA가 모든 저비트 정밀도와 완벽하게 호환되는 것은 아닐 수 있습니다. 특정 조합에서 오류가 발생하거나 예상치 못한 결과가 나올 수 있습니다. (예: "Low bit LoRA for this data type is not implemented yet. Please select 'Automatic (fp16 LoRA)' in 'Diffusion in Low Bits'..."와 같은 에러 메시지)

 

 

5️⃣  사용 팁

🔴 Automatic

특별한 이유가 없다면 'Automatic' 설정을 사용하는 것이 좋습니다. Forge는 기본적으로 VRAM 최적화가 잘 되어 있으며, 대부분의 모델에서 최적의 균형을 제공합니다.


🟠 저사양 VRAM 사용자

8GB 미만의 VRAM을 가진 사용자라면 bnb-nf4나 float8-e4m3fn 같은 옵션을 시도하여 VRAM 부족 오류를 해결하고 속도를 높일 수 있습니다.


🟡 LoRA 사용 시 오류 발생

LoRA를 적용했을 때 오류가 발생하거나 이미지가 깨진다면, 'Automatic (fp16 LoRA)' 또는 해당 저비트 옵션 뒤에 '(fp16 LoRA)'가 붙은 옵션을 선택하여 LoRA의 정밀도를 고정해 보세요.


🟢 품질 비교

다양한 'Diffusion in Low Bits' 설정을 테스트해보고, 생성되는 이미지의 품질 변화를 비교하여 자신에게 가장 적합한 설정을 찾는 것이 중요합니다.

 


"Diffusion in Low Bits"는 Forge가 제공하는 강력한 VRAM 최적화 기능 중 하나로, 제한된 하드웨어 환경에서도 효율적으로 AI 이미지를 생성할 수 있도록 돕는 핵심적인 설정입니다.

728x90
반응형