[AI] 스테이블 디퓨전 메모리 부족 문제 해결 방법
본문 바로가기

[AI] 스테이블 디퓨전 메모리 부족 문제 해결 방법

액트 2023. 12. 19.

인공지능 기반 이미지 생성 도구인 Stable Diffusion을 사용하면서 마주치는 일반적인 문제, 'CUDA Out of Memory' 오류에 대해 이야기하고자 합니다. OutOfMemoryError 오류가 발생하는 원인과 해결 방법을 통해 스테이블 디퓨전을 원할하게 사용하시길 바랍니다.

스테이블 디퓨전 이미지 생성 시 발생하는 OutOfMemoryError 오류

오류 원인

Stable Diffusion은 강력한 AI 이미지 생성 도구이지만, 메모리 사용량이 높아 메모리 부족 현상이 일어날 수 있습니다. 특히, 고해상도 이미지나 여러 이미지를 동시에 생성할 경우, GPU의 VRAM이 충분하지 않아 'CUDA Out of Memory' 오류가 발생합니다.

해결방법

1. 하드웨어 업그레이드

가장 확실한 해결 방법은 VRAM 용량이 더 큰 GPU로 업그레이드하는 것입니다. 이는 비용이 많이 들 수 있지만, 장기적으로 볼 때 안정적인 성능 향상을 기대할 수 있습니다.

2. 이미지 크기 및 배치 사이즈 조절

생성하려는 이미지의 해상도를 낮추거나 한 번에 처리하는 이미지의 수를 줄이는 것도 메모리 부족 문제를 해결할 수 있습니다. 이는 메모리 사용량을 줄이는 데 도움이 됩니다.

3. 소프트웨어 최적화

일부 소프트웨어 설정을 조정하여 메모리 효율성을 높일 수 있습니다. 예를 들어, 'xformers' 모듈을 사용하면 메모리 사용량을 줄이면서도 성능을 유지할 수 있습니다.

xformers 모듈을 사용 방법

  • 열려 있는 스테이블 디퓨전을 모두 종료합니다.
  • 스테이블 디퓨전이 설치되어 있는 경로로 이동합니다. 
  • 설치경로\sd.webui\webui 폴더 안에 있는 webui-user.bat 파일을 메모장으로 엽니다.
  • "set COMMANDLINE_ARGS=" 부분에 다음과 같이 추가 작성합니다.
  • "set COMMANDLINE_ARGS=--xformers
  • 저장 후 메모장을 종료하고 스테이블 디퓨전을 실행하여 이미지 생성을 시도합니다.

webui-user.bat 파일을 수정합니다. --xformers를 입력합니다.

만약 위와 같이 조치 했음에도 지속적으로 오류가 발생한다면 webui-user.bat 파일에 다음 문구를 추가합니다.

"set COMMANDLINE_ARGS=--xformers --medvram"

--medvram 문구 추가

이제 다시 이미재 생성 시도 시 정상적으로 이미지가 출력되는 것을 확인하실 수 있습니다.

'CUDA Out of Memory' 오류는 Stable Diffusion 사용자들이 흔히 마주치는 문제입니다. 하지만 적절한 하드웨어 업그레이드, 이미지 및 배치 사이즈 조절, 소프트웨어 최적화를 통해 이 문제를 해결할 수 있습니다.

만약 위와 같이 조치했음에도 불구하고 이미지 생성이 잘 이뤄지지 않는다던가 메모리 오류가 발생하면 다음 글을 참고하시기 바랍니다.

다음 글은 스테이블 디퓨전 그래픽 카드 사양에 따른 VRAM 설정 방법입니다.

 

스테이블 디퓨전 그래픽 카드 사양에 따른 VRAM 설정하는 방법 - GuideAct

이전 글에선 스테이블 디퓨전 설치 방법부터 프롬프트 공유 사이트 모음까지 확인해 보았습니다. 아직 스테이블 디퓨전을 설치하지 못하셨거나 사용 준비가 안되신 분들은 이전 글을 참고해 주

guideact.com

 

댓글