ollama将模型永远加载在显存里

时间:2025-02-22 22:38:48

问题解析

我们在使用ollma部署大语言模型的时候,如果部署的模型尺寸较大,往往在第一次加载的时候需要花费大量的时间加载模型;等加载完成后,如果长时间不调用模型,我们会发现模型已经被释放掉了,又要重新加载,导致体验感极差.

这是为什么呢?因为在没被调用时,ollama默认在显存中驻留5min,然后就会自动释放,如果我们两次调用的间隔大于5min的话,那模型已经被释放了,又要重新加载;

不过ollama预留了keep_alive参数可以控制模型驻留的时间:
该参数可以设置为:

  • 持续时间字符串(如10M’, ‘24H’);
  • 以秒为单位的数字(如 3600);
  • -1表示永远驻留在显存中;
  • 0表示接受一次响应后立即清除模型;

使用方法

方法如下:
如预加载模型,并永远驻留在显存

curl http://localhost:11434/api/generate -d '{"model":"llama2","keep_alive”: -1}

具体keep_alive可以根据实际情况*设置;