低显存
如果你的显卡显存较小,无法加载模型,可以尝试以下的方法
以 8bit 模式加载模型
在启动参数中添加 --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
设置更高的值,从而获得净性能增益。
将模型的部分 layers 缓存在磁盘上
作为绝望的最后措施,您可以在 GPU、CPU 和磁盘上拆分模型:
python server.py --auto-devices --disk