Низкое использование памяти 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