如何让Ollama在Ori租用的A100 GPU虚拟机上加速运行?
解决Ollama无法利用A100 GPU及提速问题
1. 先确认系统层面GPU是否正常识别
- 登录SSH终端,执行
nvidia-smi命令,检查是否能显示A100的硬件信息。如果无输出或报错,说明NVIDIA驱动未安装,需要先安装对应版本的驱动(可通过Ori虚拟机后台选择预装驱动的镜像,或手动执行驱动安装命令)。 - 用Python验证GPU可用性,在Jupyter或终端运行:
import pynvml pynvml.nvmlInit() for i in range(pynvml.nvmlDeviceGetCount()): handle = pynvml.nvmlDeviceGetHandleByIndex(i) print(f"GPU {i}: {pynvml.nvmlDeviceGetName(handle)}") pynvml.nvmlShutdown()
如果没有输出GPU名称,说明CUDA环境未配置,需安装对应版本的CUDA Toolkit。
2. 强制Ollama启用GPU支持
- 创建或编辑Ollama配置文件
~/.ollama/config.json,添加GPU分配参数:
{ "num_gpu": 1 }
num_gpu设为1对应单A100卡,保存后重启Ollama服务:
sudo systemctl restart ollama
- 重新拉取模型确保适配GPU:
ollama pull llama3:8b
3. 对齐Jupyter与终端的运行环境
- 在Jupyter Notebook中验证Ollama版本及环境一致性:
import ollama import os print(ollama.version()) print(os.environ.get('CUDA_VISIBLE_DEVICES'))
- 如果CUDA环境变量未设置,在Notebook开头手动指定:
os.environ['CUDA_VISIBLE_DEVICES'] = '0'
- 调用模型时使用标准格式,避免错误调用导致CPU fallback:
response = ollama.chat( model='llama3:8b', messages=[{'role': 'user', 'content': '你的处理请求'}] )
4. 排查GPU未利用的深层原因
- 执行
ollama ps查看模型运行状态,确认是否标注GPU加载;或在Python中查看模型详情:
print(ollama.show('llama3:8b'))
- 如果模型仍运行在CPU上,卸载pip版本的Ollama,改用官方二进制安装包(自动适配CUDA):
pip uninstall ollama -y curl https://ollama.ai/install.sh | sh
5. 提速优化技巧
- 切换量化模型:拉取4-bit量化版本的llama3,大幅降低GPU内存占用并提升速度:
ollama pull llama3:8b-instruct-q4_0
- 批量处理请求:将多个任务打包成批量调用,减少单次请求的初始化开销。
- 清理系统资源:用
htop查看进程,关闭占用CPU/GPU的无关进程,释放资源。
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

