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 llamas 这张图片来自 Ollama 官方网站的博客文章。

TL;DR

我测试了新版本 Ollama 如何调度那些无法适应我 16GB VRAM 的大语言模型:

  • mistral-small3.2:24b
  • qwen3:30b-a3b
  • gemma3:27b
  • qwen3:32b

我运行了 ollama run <modelname>,然后提出一些简单的问题,例如 你是谁?,并在另一个终端中检查了 ollama psnvidia-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%

感到失望。

有用的链接