SDXL 추론 속도 및 메모리 최적화 가이드
Exploring simple optimizations for SDXL
·2023.10.24 09:00
SDXL 모델의 추론 속도를 높이고 메모리 사용량을 줄이기 위한 fp16 적용 및 메모리 효율적 어텐션 활용법을 소개한다.
Stable Diffusion XL(SDXL)은 고품질 이미지 생성에 탁월하지만, **35억 개(3.5B)**의 파라미터를 가진 거대 모델로 인해 높은 메모리 점유율과 느린 추론 속도가 단점이다. 기본 설정(fp32)으로 실행 시 28GB의 메모리와 72.2초의 지연 시간이 소요된다.
이를 최적화하기 위한 주요 방법은 다음과 같다:
- 낮은 정밀도(Lower Precision) 사용:
torch.float16(fp16)을 적용하면 메모리 사용량을 21.7GB로 줄이고, 추론 시간을 14.8초까지 단축할 수 있다. - 메모리 효율적 어텐션(Memory-efficient attention): 어텐션 연산의 메모리 부하를 줄이기 위해 PyTorch 2.0의 **SDPA(Scaled Dot Product Attention)**를 활용한다. 이는 Flash Attention 및 xFormers와 유사한 최적화 기능을 제공하며,
diffusers라이브러리 사용 시 자동으로 활성화된다.
이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.
요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.