1.高性能环境配置
请根据自己的硬件情况进行适当调整
OLLAMA_CACHE_SIZE 16
OLLAMA_FLASH_ATTENTION 1
OLLAMA_HOST 0.0.0.0
OLLAMA_KEEP_ALIVE -1
OLLAMA_KEEP_ALIVE_TIMEOUT 60S
OLLAMA_MAX_WORKERS 8
OLLAMA_MODELS E:\OLLAMA\models
OLLAMA_NUM_PARALLEL 8
OLLAMA_NUM_THREADS 24
OLLAMA_GPU_LAYERS 49
2.日志
Ollama 日志存储位置:
C:\Users\Administrator\AppData\Local\Ollama\server.log
搜索关键字 loaded
load_tensors: offloaded 49/49 layers to GPU
这里可以看到模型一共有多少层,后续可以根据硬件情况调整环境变量 OLLAMA_GPU_LAYERS 的值,数值越大,GPU 负载越高,减少 CPU 使用率。
3.Modelfile
获取大模型原始 Modelfile,然后可以进行参数修改,创建自定义的本地大模型。
ollama show --modelfile qwen2:72b > Modelfile
ollama create <your_new_model_name> -f <path_to_your_new_modelfile>
4.Ollama serve 环境变量
以下是这些环境变量的逐项解释:
-
OLLAMA_DEBUG
- 用途: 显示额外的调试信息。
- 示例值:
OLLAMA_DEBUG=1
- 说明: 当设置为
1
时,Ollama 会输出更详细的日志,这对于诊断问题或了解其内部工作原理非常有用。
-
OLLAMA_HOST
- 用途: Ollama 服务器的 IP 地址。
- 默认值:
127.0.0.1:11434
(即本地主机,端口 11434) - 说明: 此变量用于指定 Ollama 服务器将监听哪个 IP 地址和端口。如果您需要从其他机器访问 Ollama,或者需要更改默认端口以避免冲突,就需要设置此变量。
-
OLLAMA_KEEP_ALIVE
- 用途: 模型在内存中保持加载的时间长度。
- 默认值:
"5m"
(5 分钟) - 说明: 当一个模型不再被使用时,Ollama 会在一段时间后将其从内存中卸载以释放资源。此变量控制这个等待时间。例如,
"10m"
表示 10 分钟,"30s"
表示 30 秒。
-
OLLAMA_MAX_LOADED_MODELS
- 用途: 每块 GPU 上加载模型的最大数量。
- 说明: 如果您有多个 GPU,并且希望限制每个 GPU 上同时加载的模型数量,可以使用此变量。这有助于管理 GPU 内存使用。
-
OLLAMA_MAX_QUEUE
- 用途: 排队请求的最大数量。
- 说明: 当 Ollama 收到大量请求时,它会将一些请求放入队列。此变量限制了队列中可以等待处理的请求数量,以防止过载。
-
OLLAMA_MODELS
- 用途: 模型目录的路径。
- 说明: Ollama 在此目录下查找和存储其模型文件。如果您希望将模型存储在非默认位置,可以设置此变量。
-
OLLAMA_NUM_PARALLEL
- 用途: 并行请求的最大数量。
- 说明: 此变量控制 Ollama 可以同时处理的请求数量。增加此值可能会提高吞吐量,但也会增加资源消耗。
-
OLLAMA_NOPRUNE
- 用途: 启动时不要修剪模型 blob。
- 说明: “修剪模型 blob”可能指的是清理不再使用的模型数据。设置为
1
或true
可以防止 Ollama 在启动时执行这种清理操作。
-
OLLAMA_ORIGINS
- 用途: 允许的来源的逗号分隔列表。
- 说明: 这通常用于 Web 应用程序中的 CORS(跨域资源共享)设置。如果您从特定域的网页调用 Ollama API,您可能需要将该域添加到此列表中。
-
OLLAMA_SCHED_SPREAD
- 用途: 始终将模型调度到所有 GPU。
- 说明: 如果您有多个 GPU,此变量可能会影响 Ollama 如何在它们之间分配模型负载。设置为
1
或true
可能会尝试更均匀地分布负载。
-
OLLAMA_FLASH_ATTENTION
- 用途: 启用 Flash Attention。
- 说明: Flash Attention 是一种优化技术,可以提高某些模型在 GPU 上的推理速度和内存效率。如果您的硬件支持且 Ollama 版本支持,启用它可能会带来性能提升。
-
OLLAMA_KV_CACHE_TYPE
- 用途: K/V 缓存的量化类型。
- 默认值:
f16
- 说明: K/V 缓存是大型语言模型(LLM)推理过程中的一个重要组成部分。量化可以减少 K/V 缓存所需的内存,但可能会轻微影响精度。
f16
表示使用 16 位浮点数。
-
OLLAMA_LLM_LIBRARY
- 用途: 设置 LLM 库以绕过自动检测。
- 说明: Ollama 可能会尝试自动检测最适合您硬件的底层 LLM 库(例如,用于 CUDA 或 ROCm)。如果您想强制使用特定的库或绕过自动检测,可以设置此变量。
-
OLLAMA_GPU_OVERHEAD
- 用途: 为每块 GPU 保留一部分 VRAM (字节)。
- 说明: 此变量允许您为 GPU 上的其他进程或系统开销预留一定量的显存,以防止 Ollama 完全占用所有显存并导致系统不稳定。单位是字节。
-
OLLAMA_LOAD_TIMEOUT
- 用途: 允许模型加载停滞多长时间才放弃 (默认 “5m”)。
- 默认值:
"5m"
(5 分钟) - 说明: 如果模型加载过程遇到问题并停滞,此变量定义了 Ollama 在放弃加载之前等待的时间。这有助于防止无限期地等待一个无法加载的模型。