Skip to Main Content

GPU 메모리 부족

GPU 메모리가 작아서 모델을 로드할 수 없는 경우, 다음 방법을 시도해 볼 수 있습니다.

8비트 모드에서 모델 로드하기

시작 매개변수에 --load-in-8bit를 추가합니다.

python server.py --load-in-8bit

이렇게 하면 메모리 사용량이 절반이 줄어들고, 품질이 크게 감소하지 않습니다. 그러나 8비트 모드는 최신 GPU만 지원합니다.

여러 개의 GPU 및 CPU에 모델 분할하기

python server.py --auto-devices

이 명령으로 모델을 로드할 수 있지만, 텍스트 생성 시 메모리가 부족해지면 오류가 발생합니다. 이 경우 GPU에 할당된 메모리 양을 제한하여 오류가 발생하지 않을 때까지 시도해 볼 수 있습니다.

python server.py --auto-devices --gpu-memory 10
python server.py --auto-devices --gpu-memory 9
python server.py --auto-devices --gpu-memory 8
...

숫자는 GiB 단위입니다.

더 정확한 제어를 위해 MiB 단위로 지정할 수도 있습니다.

python server.py --auto-devices --gpu-memory 8722MiB
python server.py --auto-devices --gpu-memory 4725MiB
python server.py --auto-devices --gpu-memory 3500MiB
...

또한, --no-cache 값을 설정하여 성능 부담을 늘리고 GPU 사용량을 줄일 수 있습니다. 이렇게 하면 --gpu-memory 값을 높일 수 있어 성능 향상을 기대할 수 있습니다.

모델의 일부 레이어를 디스크에 캐시하기

마지막 수단으로, 모델을 GPU, CPU, 디스크에 분할하여 저장할 수 있습니다.

python server.py --auto-devices --disk