Skip to Main Content

Низкое использование памяти GPU

Если ваш GPU имеет небольшую память и не может загрузить модель, вы можете попробовать следующие методы.

Загрузите модель в режиме 8 бит

Добавьте --load-in-8bit в параметры запуска.

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

Это уменьшит использование памяти в два раза, а качество не будет значительно снижено. Однако только более новые GPU поддерживают режим 8 бит.

Разделите модель на несколько 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