首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >ollama v0.12.2 版本更新详解:Qwen3 架构支持、Multi-Regex 分词器、新引擎前后缀匹配等功能升级

ollama v0.12.2 版本更新详解:Qwen3 架构支持、Multi-Regex 分词器、新引擎前后缀匹配等功能升级

作者头像
福大大架构师每日一题
发布2025-12-18 13:14:51
发布2025-12-18 13:14:51
320
举报

2025 年 9 月 25 日,Ollama 发布了 v0.12.2 版本,这是一次对底层引擎和模型支持进行重要优化的更新。该版本不仅提升了对 Qwen3 架构(包括 MoE 混合专家模型)的运行支持,还在分词器、内置工具渲染、张量加载等方面做出重大调整。本文将详细解析本次更新的技术细节和影响。

一、核心更新摘要

  1. 1. Qwen3 架构模型(含 MoE)切换到 Ollama 新引擎运行
    • • 新引擎更好地支持 Qwen3 系列权重加载与推理,包括 Qwen3-MoE(混合专家)模型。
    • • 推理性能、兼容性的提升,对未来更多模型加载是关键一步。
  2. 2. 修复 gpt-oss 内置工具渲染问题
    • • 在聊天输出中,某些内置工具(如浏览器、Python)名称被意外重命名,导致识别异常。
    • • v0.12.2 中明确了“内置函数不重命名”逻辑,保障工具调用的一致性。
  3. 3. 支持 Multi-Regex 分词器(Multi-Regex pretokenizers)
    • • BytePairEncoding(BPE)分词器支持传入多个 regex 模式,实现复杂的分词规则组合。
    • • 例如同时针对数字、中文、符号进行独立匹配,提升多语言处理精度。
  4. 4. 新引擎支持张量名前缀(pre:)与后缀(suf:)匹配加载
    • • 允许模型权重 Tag 中指定前缀/后缀,以便灵活组合子张量名称。
    • • 对复杂网络层结构(如 shexp、b 前缀)有更好的权重绑定能力。

二、分词器(BytePairEncoding)重大调整

此前的 NewBytePairEncoding 方法只接受一个 regex 作为预分词器,这在实际应用中不足以应对多语言和特殊字符的组合处理。本次更新: .

代码语言:javascript
复制
func NewBytePairEncoding(vocab *Vocabulary, pretokenizers ...string) BytePairEncoding

关键变化:

  • • 支持 多正则表达式数组,依次分割文本。
  • • 默认预分词器覆盖缩写、字母、数字、符号、空格等典型模式。
  • • 新增 split() 实现链式 regex 切分,确保各类特殊序列被精确识别。

测试示例:

  • 默认模式Hello, WORLD!! How's it going? 123 一二三
  • Unicode模式:单独匹配中文字符 [一-龥],数字分割为整体或单个数字。
  • 数码逐位模式:将 123 切为 1, 2, 3

这意味着 Ollama 在文本预处理环节获得更高的灵活度,尤其在多语言 NLP 场景中表现更佳。


三、Tag 系统优化:前缀/后缀匹配

模型权重文件在加载时通常通过 Tag 名匹配张量,v0.12.2 新增了 pre:suf: 标签支持: .

代码语言:javascript
复制
type Tag struct {
    name         string
    prefix       string
    suffix       string
    alternatives []string
}

功能说明:

  • pre: 指定在张量名匹配前插入的前缀,例如 b_
  • suf: 指定附加到张量名的后缀,例如 _c
  • • 支持 alt: 提供备用名称,并在无主名时自动提升为主名。

应用场景: 例如,模型结构中有以下权重名: .

代码语言:javascript
复制
blk.0.a.weight
blk.0.b_weight
blk.0.weight_c
blk.0.x_weight_y

通过 Tag 配置可以快速映射到对应结构体字段,减少硬编码。


四、内置工具不重命名

在 Harmony 解析器中,确认以下内置工具名称保持原样: .

代码语言:javascript
复制
browser.open
browser.search
browser.find
python

这解决了 v0.12.1 中用户报告的 调用工具名被改写 问题,确保工具调用的稳定性和兼容性,尤其是与外部插件交互时。


五、各模型加载代码调整

为了适配 Multi-Regex 方案和新引擎,本次更新重构了多个模型的加载方法,包括:

  • • llama / llama4 系列
  • • mistral3
  • • mllama
  • • qwen2、qwen25vl、qwen3 所有这些模型均由单一 regex pretokenizer 改为可以传入多条 regex,提升可扩展性。

六、开发者影响与升级建议

对模型作者:

  • • 通过在 GGUF 标签中添加 pre: / suf:,可以更精准地映射复杂张量名。
  • • 使用多 regex 分词能显著提升非英文文本的处理效果。

对推理系统维护者:

  • • 新引擎对 Qwen3 MoE 支持,意味着可以在 Ollama 中稳定部署混合专家模型。
  • • 内置工具不重命名修正,提升与工具 API 对接的稳定性。

七、总结

ollama v0.12.2 是一次针对核心引擎、分词器、模型加载逻辑的全面升级,尤其是:

  • 新引擎全面支持 Qwen3 MoE
  • 多 Regex 分词器
  • Tag 前后缀功能
  • 内置工具渲染修复

这些改动不仅提升了模型运行的稳定性和灵活性,也为未来多语言 NLP 和复杂模型加载奠定了基础。

我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 福大大架构师每日一题 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、核心更新摘要
  • 二、分词器(BytePairEncoding)重大调整
  • 三、Tag 系统优化:前缀/后缀匹配
  • 四、内置工具不重命名
  • 五、各模型加载代码调整
  • 六、开发者影响与升级建议
  • 七、总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档