Ollama 新版本 v0.12.1 中的内存分配模型调度
我对ollama模型调度的测试 ```
目录
在这里,我比较了新版本 Ollama 为模型分配的 VRAM 量与旧版本 Ollama 的情况。新版本表现更差。
正如官方网站上所述,新版本 Ollama 引入了“新的模型调度”功能,其描述如下:
最大化 GPU 利用率:
Ollama 的新内存管理会为 GPU 分配更多内存,
从而提高令牌生成和处理速度
并给出了一些示例,例如:
长上下文
GPU: 1x NVIDIA GeForce RTX 4090
模型: gemma3:12b
上下文长度: 128k
旧版本 新版本
52.02 tokens/s 令牌生成速度 85.54 tokens/s 令牌生成速度
19.9GiB VRAM 21.4GiB VRAM
48⁄49 层加载到 GPU 49⁄49 层加载到 GPU
我在这里测试新版本在我的电脑上是如何工作的。 我的测试结果与官方测试结果完全不同,甚至完全相反。 我的硬件配置略有不同,并且测试了不同的模型,但结果根本没有变好,很多时候反而更差。 这与关于Ollama 逐渐变差的早期迹象的帖子相呼应。
这张图片来自 Ollama 官方网站的博客文章。
TL;DR
我测试了新版本 Ollama 如何调度那些无法适应我 16GB VRAM 的大语言模型:
- mistral-small3.2:24b
- qwen3:30b-a3b
- gemma3:27b
- qwen3:32b
我运行了 ollama run <modelname>
,然后提出一些简单的问题,例如 你是谁?
,并在另一个终端中检查了 ollama ps
和 nvidia-smi
的响应。所有操作都很简单。
只有 qwen3:30b-a3b 在新版本中表现出相同的 CPU/GPU 分布,其他三个模型在新版本中更多地被推送到 CPU。 在我的测试中,令我失望的是,新版本的 Ollama 表现更差,这些结果与 Ollama 博客上的文章相矛盾。
详细对比数据
模型 | 旧版本: 分配的 VRAM | 旧版本: CPU/GPU | 新版本: 分配的 VRAM | 新版本: CPU/GPU |
---|---|---|---|---|
mistral-small3.2:24b | 14489MiB | 41%/59% | 14249MiB | 44%/56% |
qwen3:30b-a3b | 15065MiB | 21%/79% | 14867MiB | 21%/79% |
gemma3:27b | 13771MiB | 28%/72% | 14817MiB | 29%/71% |
qwen3:32b | 14676MiB | 30%/70% | 15139MiB | 32%/68% |
感到失望。