配置 Ollama 使用 GPU 加速模型推理

以下是配置 Ollama 使用 GPU 加速推理的详细步骤,综合多平台(Windows/Linux/Docker)和不同显卡类型(NVIDIA/Intel)的解决方案:


一、通用环境准备

1. 验证 GPU 驱动
  • NVIDIA 显卡
    nvidia-smi  # 检查驱动状态和 CUDA 版本(需≥11.8)
    
  • Intel Arc 显卡
    确保安装最新版显卡驱动,支持 SYCLoneAPI 工具链1
2. 安装 CUDA 工具包
  • NVIDIA 用户
    NVIDIA 官网 下载对应版本 CUDA Toolkit。
  • Intel 用户
    安装 Intel® oneAPI Base ToolkitIntel® Extension for PyTorch1

二、不同平台的配置方法

NVIDIA 显卡(Windows/Linux)
  1. Windows 10/11 配置

    • 安装 Ollama 后,设置环境变量:
      set OLLAMA_NUM_GPU=999  # 允许最大 GPU 层数
      set OLLAMA_GPU_LAYERS=35  # 手动指定加载层数(如 Llama3-8B)
      
    • 修改模型参数文件(以 Llama3 为例):
      ollama show llama3:8b --modelfile > mymodel.modelfile
      # 添加 PARAMETER num_gpu 35
      ollama create mymodel -f mymodel.modelfile
      ```[3](@ref)
      
      
  2. Linux 配置

    • 使用 Docker 部署(推荐):
      # 安装 NVIDIA Container Toolkit
      curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add -
      distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
      curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
      sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
      sudo systemctl restart docker
      
      # 启动 Ollama 容器
      docker run -d --gpus all -p 11434:11434 -v ollama:/root/.ollama --name ollama ollama/ollama
      ```[6](@ref)[8](@ref)
      
      

Intel Arc 显卡(Windows)
  1. 配置 Conda 环境

    conda create -n llm python=3.11 libuv
    conda activate llm
    pip install dpcpp-cpp-rt==2024.0.2 mkl-dpcpp==2024.0.0 onednn==2024.0.0
    pip install --pre ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/
    ```[1](@ref)
    
    
  2. 启动 GPU 加速服务

    set SYCL_CACHE_PERSISTENT=1
    set OLLAMA_HOST=0.0.0.0
    ollama serve  # 保持此窗口运行
    # 新终端运行模型
    ollama run llama3
    

三、关键参数调优

参数作用示例值适用场景
num_gpu指定加载到 GPU 的模型层数35 (8B模型)平衡显存与推理速度
OLLAMA_GPU_LAYERS全局 GPU 层数限制999允许最大层数
OLLAMA_NUM_GPU并行 GPU 数量(多卡)2多 GPU 分布式推理
OLLAMA_KEEP_ALIVE模型常驻内存时间(秒)3600减少重复加载开销

四、验证与排错

  1. 验证 GPU 使用

    • 查看服务日志:
      tail -f ~/.ollama/logs/server.log  # 输出应包含 "Using GPU"
      
    • 监控 GPU 占用率:
      watch -n 1 nvidia-smi  # 实时查看显存和计算负载
      
  2. 常见问题解决

    • GPU 占用率为 0
      • 重装 Ollama 并检查 CUDA 版本兼容性7
      • 确保未设置 OLLAMA_NO_GPU=1 环境变量
    • 显存不足
      减少 num_gpu 参数值(如从 40 降至 30)3

五、性能对比(Llama3-8B 示例)

配置推理速度 (tokens/s)显存占用 (GB)
CPU (i9-13900K)8~120
GPU (RTX 4090)85~12014.5
Intel Arc A770M32~458.2

注:实际性能受模型量化方式(q4_0/q5_K_M)影响显著17


参考文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学亮编程手记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值