跳到主要内容

低显存

如果你的显卡显存较小,无法加载模型,可以尝试以下的方法

以 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