ollama v0.13.4 发布——全新模型与性能优化详解

2025年12月13日,ollama v0.13.4版本预发布,随后于2025年12月16日正式发布。本次更新是一次重要的版本迭代,包含新模型的推出、引擎默认设置的调整、Flash Attention机制的自动化启用,以及一系列对Gemma 3架构模型的修复与增强。以下是详细更新内容。


一、新增模型

1. Nemotron 3 Nano

这是一款全新的开放高效智能代理模型,定义了高性能标准,面向智能代理应用场景。

2. Olmo 3 与 Olmo 3.1

这一系列开放语言模型旨在推动语言模型研究科学化。

其预训练基于 Dolma 3 数据集 ,后训练使用 Dolci 数据集,代表了更系统化的语言模型训练流程。


二、主要更新内容

  • 默认启用 Ollama 引擎

    所有剩余模型均默认启用 Ollama 引擎,统一运行环境。

  • 默认启用 Flash Attention 自动模式

    模型将自动启用 Flash Attention,以优化注意力计算效率。

  • 修复 Gemma 3 长上下文处理问题

    解决了长文本情况下上下文处理异常的问题,使 Gemma 模型更加稳定。

  • 修复 Gemma 3 QAT 模型导入问题

    修复了 Gemma 3 架构在量化训练模型导入时可能出现的异常。


三、代码更新与文档修订

  • api/client.go 文件中修正了 Modelfile 的超链接后缀,将.md改为.mdx

  • 删除了 macOS 与 Windows 平台中"发送 UI 请求消息"的冗余代码,使应用逻辑更简洁。

  • cocoa 对话框代码中增强了多文件处理机制,确保缓冲区内存安全。

  • Windows 文件对话框错误输出格式更准确。

  • server.go 修改了模型路径检查逻辑,在路径不可用时使用默认路径。

  • wintray/eventloop.go 改进了底层事件循环的内存安全处理,增加了注释控制。

  • 文档 docs/api.md 全面更新对 Modelfile.mdx 的链接引用,使说明一致化。

  • 新增工具文档与示例提取功能:

    新增目录:

    复制代码
    docs/tools/extract-examples

    包含:

    • README.md:介绍如何将 MDX 中的代码示例提取到临时目录运行。
    • main.go:示例提取脚本,支持自动生成 package.jsonpyproject.toml 依赖文件。

    提取后可执行:

    bash 复制代码
    cd <tmp-dir>
    npm install  # JS示例
    node file.js 或 python file.py 或 bash file.sh

四、环境配置与引擎优化

  • envconfig/config.go 调整了 OLLAMA_NEW_ENGINE 的默认值逻辑,引入 BoolWithDefault 方法,使引擎启用逻辑更灵活。
  • 增强了环境变量映射支持,结构更加全面。

五、模型与计算优化

1. Flash Attention 类型系统引入
ml/device.go 新增 FlashAttentionType 枚举类型:

  • Auto
  • Disabled
  • Enabled

此设计使 Flash Attention 模式控制更细化,支持自动适配硬件。

2. GGML 图计算增强

fs/ggml/ggml.go 中,Flash Attention 引入枚举类型接口,支持多种量化缓存类型检测与验证方法,提升兼容性。

3. Llama 引擎增强
llama/llama.go 重构了 Flash Attention 参数逻辑------支持自动、启用与禁用三种模式,适配不同模型及硬件环境。

4. LLM 服务逻辑优化
llm/server.go 增加了 Flash Attention 用户显式设置检测逻辑,并完善了 KV 缓存量化兼容性处理。当使用量化 KV 缓存类型时必须启用 Flash Attention。

KV 缓存校验机制进一步完善,增加更详细的警告提示与逻辑分支。

5. ML 后端结构改进
ml/backend.goml/backend/ggml/ggml.go 中统一 Flash Attention 类型接口,并在注意力计算中使用新的枚举系统,实现高效的多设备内存调度与算子融合优化。


六、Gemma 3 架构修复与改良

model/models/gemma3/model_text.go

对 Gemma 3 的旋转位置嵌入 (RoPE) 算法进行了调整:

  • 新增 ropeValuesForLayer 方法,按层返回位置嵌入基础值与缩放因子。
  • 修复 QAT 权重导致的错误缩放比问题,强制 ropeScale1.0
  • 优化滑动窗口注意力机制下的 softcap 和 rope 参数初始化逻辑,使注意力计算更加准确。

七、OpenAI兼容层更新

openai/responses.go

调整了工具调用消息的合并逻辑:

  • 当助手消息存在时,将后续工具调用结果合并到上一条消息中,而非新建消息。
  • 保留思考过程(Thinking)内容的正确关联,确保连续对话上下文一致。

同时新增全面的单元测试 openai/responses_test.go,覆盖函数调用与工具输出场景,验证新逻辑稳定性。


八、贡献统计

  • 本次版本共有 9 次提交22 个文件修改 ,涉及 6 位贡献者
  • 修改代码约 812 行新增253 行删除,覆盖核心引擎、文档、模型逻辑与工具部分。

九、总结

代码地址:github.com/ollama/ollama

ollama v0.13.4 是一次大幅度增强版发布,重点在于:

  • 增强引擎默认配置与性能自动化;
  • 推出新一代开放智能模型;
  • 完善 Gemma 与 Llama 架构的兼容性;
  • 引入更完整的 Flash Attention 类型系统;
  • 提高文档与开发工具的自动化程度。
相关推荐
czwxkn1 小时前
PCB设计-器件:2.电感
嵌入式硬件
佳木逢钺1 小时前
从零开始:基于STM32H750的硬件设计与软件开发完整流程详解
stm32·单片机·嵌入式硬件
czlczl200209254 小时前
MAX()和MIN()优化
数据库·mysql·性能优化
踏着七彩祥云的小丑5 小时前
嵌入式——认识电子元器件——光电器件系列
单片机·嵌入式硬件
羽获飞5 小时前
从零开始学嵌入式之STM32——31.高级定时器
stm32·单片机·嵌入式硬件
iCxhust7 小时前
一块电路板的自觉
单片机·嵌入式硬件·嵌入式·微机原理
学习者1234567897 小时前
Bootloader跳转APP代码流程
单片机·嵌入式硬件
山峰哥7 小时前
SQL优化从入门到精通:20个案例破解性能密码
数据库·sql·oracle·性能优化·深度优先
ACP广源盛139246256737 小时前
一芯搞定多屏高清@ACP#GSV1221 DP 1.4 MST 转 HDMI 1.4 高集成转换芯片
网络·人工智能·嵌入式硬件·计算机外设·电脑
iCxhust8 小时前
在 emu8086 中可以直接编译运行的完整汇编程序,演示数组的定义、遍历、求和、求最大值。
开发语言·前端·javascript·汇编·单片机·嵌入式硬件·算法