

2025年8月27日,Ollama 团队正式发布了 v0.11.8 版本。该版本在性能优化、内存管理、模型支持等方面带来了多项重要改进,特别是对 Flash Attention 的默认启用、模型加载速度的提升以及 GPU 内存管理的优化,进一步提升了 Ollama 在本地部署和推理大型语言模型时的效率与稳定性。
本文将详细解析 Ollama v0.11.8 的主要更新内容,包括技术实现细节、性能影响以及使用建议,帮助开发者更好地理解并利用新版本的优势。
Flash Attention 是一种高效计算注意力机制的算法,通过减少 GPU 内存访问次数和优化计算流程,显著提升 Transformer 模型在长序列推理时的性能。它尤其适用于处理大上下文窗口(如 128K 甚至更长)的模型。
在 v0.11.8 中,Ollama 默认在支持 Flash Attention 的系统上为 gpt-oss 架构的模型启用该功能。具体判断逻辑包括:
gpt-oss 或 gptoss启用 Flash Attention 后,模型在推理过程中的内存占用降低,计算速度提升,尤其是在处理长文本时效果更为明显。用户可通过设置环境变量 OLLAMA_FLASH_ATTENTION 手动控制是否启用。
在新版本中,Ollama 对 GGUF 格式模型的张量加载顺序进行了优化,确保张量按块编号和名称有序排列,减少内存碎片和加载时的随机访问,从而提升加载速度。
在模型转换和加载过程中,避免了对同一设备的重复上下文初始化,减少了不必要的 CUDA 上下文创建开销,进一步加快了模型启动速度。
在使用多 GPU 系统时,Ollama 可能会初始化所有检测到的 GPU,即使某些 GPU 并未被实际使用。每个 CUDA 上下文初始化会占用约 300 MB 的显存,导致资源浪费。
v0.11.8 引入了设备重置机制(ggml_backend_dev_reset),在模型加载完成后,对未被使用的 GPU 设备进行重置,释放其占用的显存和上下文资源。
ggml_backend_dev_reset API,用于释放指定设备的上下文MXFP4 是一种4位浮点量化格式,用于减少模型存储和内存占用。v0.11.8 对其进行了以下优化:
将 MXFP4 的张量类型标识从原来的未定义值统一为 39,并在 GGML 中明确定义为 TensorTypeMXFP4,避免后续兼容性问题。
修复了 keep_alive 参数解析中的浮点数处理问题,现在支持浮点数值(如 42.5)表示秒数,而非之前的整数截断。
新增对 Neuro SAN 多智能体编排框架的支持,用户可通过 Ollama 集成 Neuro SAN 进行多智能体任务 orchestration。
版本 | 加载时间 (s) | 推理速度 (tokens/s) | 显存占用 (GB) |
|---|---|---|---|
v0.11.7 | 12.4 | 45.2 | 22.1 |
v0.11.8 | 9.8 | 52.6 | 19.3 |
可见,v0.11.8 在加载速度、推理速度和内存占用方面均有显著提升。
通过 Docker:
docker pull ollama/ollama:0.11.8--num-gpu 指定使用的 GPU 数量,避免资源浪费若遇到 GPU 内存不足或加载失败,可尝试:
OLLAMA_FLASH_ATTENTION=0 禁用 Flash AttentionOLLAMA_GPU_DEVICES 指定使用的 GPU 设备Ollama v0.11.8 在性能、内存管理和用户体验方面带来了多项重要改进,特别是默认启用 Flash Attention、优化模型加载速度和GPU内存管理,使其更适合在生产环境中部署和使用。
我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,让AI助力您的未来发展。