乐闻世界logo
搜索文章和话题

如何优化 Ollama 的性能和配置参数?

2月19日 19:48

优化 Ollama 性能可以从多个方面入手:

1. 模型量化选择: Ollama 支持不同量化级别的模型,权衡精度和性能:

  • q4_0 / q4_k_m - 4-bit 量化,速度快,精度略低
  • q5_0 / q5_k_m - 5-bit 量化,平衡速度和精度
  • q8_0 - 8-bit 量化,精度高,速度较慢
  • f16 - 16-bit 浮点,最高精度,最慢
bash
# 下载不同量化版本 ollama pull llama3.1:8b-q4_k_m ollama pull llama3.1:8b-q8_0

2. 参数调优:

dockerfile
# Modelfile 中设置 PARAMETER temperature 0.7 # 控制随机性,0-1 PARAMETER top_p 0.9 # 核采样,0-1 PARAMETER top_k 40 # 采样候选数 PARAMETER num_ctx 4096 # 上下文窗口大小 PARAMETER repeat_penalty 1.1 # 重复惩罚 PARAMETER num_gpu 1 # GPU 层数

3. GPU 加速: 确保正确配置 GPU:

bash
# Linux/macOS export CUDA_VISIBLE_DEVICES=0 # 检查 GPU 使用 nvidia-smi

4. 批处理优化:

bash
# API 调用时设置批量大小 curl http://localhost:11434/api/generate -d '{ "model": "llama3.1", "prompt": "Hello", "options": { "num_batch": 512, "num_gpu": 99 } }'

5. 内存管理:

dockerfile
# 限制上下文长度以减少内存使用 PARAMETER num_ctx 2048 # 使用较小的模型 FROM llama3.1:8b # 而不是 70b

6. 并发请求: Ollama 支持并发处理多个请求,但受限于硬件资源。可以通过增加 num_parallel 参数优化:

dockerfile
PARAMETER num_parallel 2

7. 缓存策略: Ollama 会缓存模型和响应,首次加载较慢,后续请求会更快。

性能监控:

bash
# 查看资源使用 ollama ps # 查看日志 ollama logs
标签:Ollama