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 类型系统;
  • 提高文档与开发工具的自动化程度。
相关推荐
传感器与混合集成电路11 小时前
210℃与175℃高温存储器选型研究:LHM256MB与LDMF4GA-H架构与可靠性对比(上)
嵌入式硬件·能源
17(无规则自律)12 小时前
【CSAPP 读书笔记】第二章:信息的表示和处理
linux·嵌入式硬件·考研·高考
我真的是大笨蛋13 小时前
深度解析InnoDB如何保障Buffer与磁盘数据一致性
java·数据库·sql·mysql·性能优化
Hello_Embed13 小时前
libmodbus 移植 STM32(基础篇)
笔记·stm32·单片机·学习·modbus
qq_3975623114 小时前
QT工程 , 生成别的电脑运行的exe程序
嵌入式硬件·qt
qqssss121dfd15 小时前
STM32H750XBH6的ETH模块移植LWIP
网络·stm32·嵌入式硬件
想放学的刺客17 小时前
单片机嵌入式试题(第27期)设计可移植、可配置的外设驱动框架的关键要点
c语言·stm32·单片机·嵌入式硬件·物联网
李永奉17 小时前
杰理芯片SDK开发-ENC双麦降噪配置/调试教程
人工智能·单片机·嵌入式硬件·物联网·语音识别
BackCatK Chen17 小时前
第 1 篇:软件视角扫盲|TMC2240 软件核心特性 + 学习路径(附工具清单)
c语言·stm32·单片机·学习·电机驱动·保姆级教程·tmc2240
兆龙电子单片机设计17 小时前
【STM32项目开源】STM32单片机多功能电子秤
stm32·单片机·开源·毕业设计·智能家居