一张为文章生成的标题卡,标题为“ZwZ2-9B 悄然发布”,副标题为“9.4B 视觉权重,没有模型卡,没有许可证,没有公告”,另有两个圆角面板:一个标题为“仓库包含什么”,列出 config.json、chat_template.jinja、model.safetensors,以及缺失的 README 和缺失的 LICENCE 条目;另一个标题为“配置报告了什么”,列出参数 9,409,813,744、层数 32、上下文 262,144 和视觉塔 27 层。页脚写着“所有数据均读取自已发布的配置。”OrcaRouter 标志合成在插图下方的白色条带中。
Guides & Insights

ZwZ2-9B 悄然发布:当实验室缄口不言时,94 亿个权重能告诉你什么

作者

Elias Hawthorne

发布日期

最新模型 · 20查看全部模型 →
基准测试:Artificial Analysis · 每日更新
返回全部文章

2026年10月16日 03:42 UTC,一个 Hugging Face 仓库以inclusionAI/ZwZ2-9B之名出现。四分钟后,它收到了唯一一次提交——“添加 ZwZ2-9B 模型权重”——此后便再无动静。这里没有 README,没有许可证字段,没有论文链接,没有基准测试表,也没有出现在 inclusionAI 组织维护的那十个公开集合中的任何一个里。权重本身是 bfloat16 格式的 9,409,813,744 个参数,它们所描述的混合注意力视觉语言模型,其配置逐行来看,就是去掉一个预测头之后的Qwen3.5-9B的配置。这就是已被确认的全部内容。本文其余所有内容都被标注为推断,因为一个没有模型卡的仓库,并不足以让人有权做出更多断言。

顺便说一句,这很正常,而且值得在种种提醒堆积起来之前先说明。inclusionAI 是 Ling、Ring、LLaDA 和 Ming 系列背后的开放权重实验室,它习惯于在任何说明文字出现之前数天或数周就推送检查点。10月13日——也就是此事发生前三天——它发布了 Ling-3.1-flash,只有一张简短的模型卡,同样没有发布公告。一个沉默的仓库不是危险信号。它恰恰是一个理由,让你去读文件,而不是读营销材料。

仓库里实际有什么?

八个文件,而这份清单本身就说明了一切。有一个 .gitattributes、一个 chat_template.jinja、一个 config.json、一个 generation_config.json、一个 18.8 GB 的 model.safetensors、一个 processor_config.json、一个 tokenizer.json 和一个 tokenizer_config.json。没有 README.md。没有 LICENSE。该仓库恰好带有三个标签——safetensors、qwen3_5 和 region:us——这意味着 Hub 根本没有为它设置任何 pipeline 标签:它没有被归类为 image-text-to-text、text-generation 或任何其他类别。在撰写本文时,它显示零次下载和两个点赞。

• 总参数 — 9,409,813,744,分布于 760 个张量,bfloat16。

• 架构 — Qwen3_5ForConditionalGeneration,模型类型 qwen3_5。

• 文本栈 — 32 层,隐藏维度 4,096,16 个查询头对 4 个 KV 头,头维度 256,中间维度 12,288,词表大小 248,320。

• 注意力模式 — 三个线性注意力层,然后一个全注意力层,如此重复:24 个线性层和 8 个全注意力层。

• 上下文 — 262,144 个位置,旋转基数 10,000,000,交错式 M-RoPE,分段为 [11, 11, 10]。

• 视觉塔 — 深度 27、隐藏大小 1,152、图块大小 16、空间合并 2、时间图块 2,投影到 4,096。

• 许可证 — 未声明任何许可证。不是 apache-2.0,不是自定义许可证,什么都没有。

该配置是一个 Qwen3.5-9B 配置

对比这两个 config.json 文件,几乎所有架构值都匹配。隐藏大小、层数、头数、头维度、中间大小、词表、3:1 线性到全注意力调度、M-RoPE 部分、旋转基、262,144 位置上限,以及整个视觉塔直至其 2,304 个位置嵌入,都与 Qwen3.5-9B 相同。实质性差异只有一行:mtp_num_hidden_layers 在 Qwen3.5-9B 中为 1,而在这里为 0,因此 ZwZ2-9B 不包含多 token 预测头。diff 的其余部分是序列化——较新的 transformers 版本写出了旧文件隐式省略的字段,并且视觉配置的模型类型从qwen3_5重命名为qwen3_5_vision。

它告诉你的信息很有限,但却是真实的:这不是一种新架构。它是 Qwen3.5-9B 技术栈上的一个检查点,由某人做过后训练,并剥离了推测解码头。它没有告诉你的是,那次后训练到底是什么。参数变了;形态没变。

A screenshot of the Hugging Face model page for Qwen/Qwen3.5-9B showing 2.18K likes, the Image-Text-to-Text pipeline tag, the qwen3_5 architecture tag, Apache 2.0 licensing, a 10B parameter BF16 model size, a Downloads last month figure of 8,591,266, and a Qwen3.5 Highlights list describing a unified vision-language foundation, an efficient hybrid architecture combining Gated Delta Networks with sparse mixture-of-experts, reinforcement learning scaled across million-agent environments, and support for 201 languages and dialects.A screenshot of the Hugging Face model page for inclusionAI/ZwZ2-9B showing the repository name with 2 likes, the tags safetensors, qwen3_5 and region:us, an entry stating 'No model card', an entry stating 'This model isn't served by any provider', a model size listed as 9B params in BF16, and a Downloads last month figure of 0.

模型确实会谈论自身的唯一地方

聊天模板是这里唯一带有观点的文件,它在三个方面与 Qwen3.5-9B 不同,读者大约一分钟就能核对。

第一个是默认系统提示。当请求到达时没有系统消息,ZwZ2-9B 的模板会注入一个:“用户与助手之间的对话。用户提出问题,助手来解决它……答案被包含在 <answer> </answer> 标签内。”Qwen3.5-9B 的模板没有这样的分支——它什么也不输出。一个内置的、指定了输出格式的系统提示,是特定训练运行的标志,而不是基础模型的标志。

The second is the thinking default, and it is inverted. In Qwen3.5-9B the template emits an empty <think></think> block only when the caller explicitly passes enable_thinking: false, which means reasoning is on unless you turn it off. In ZwZ2-9B the condition is not defined or false — the empty block appears by default and the open <think> tag only when a caller explicitly asks for thinking. Same tags, opposite default. Qwen3.8-27B, for the record, kept the Qwen3.5 behaviour, so this is not simply inherited from a newer generation.

第三项是多轮推理的簿记:模板能识别一个 preserve_thinking 标志,并且知道如何将 <think> 块从已经包含它的助手回合中剥离出来。这两者在 Qwen3.5-9B 模板中都不存在。顺带一提,分词器仍然保留了音频特殊 token—— <|audio_start|>、<|audio_end|>、<|audio_pad|>——但配置中任何地方都没有音频塔,因此应将其视为共享的分词器词表,而不是一种能力。

这个名称暗示了什么,又没有暗示什么

“ZwZ2”这个名称读起来像是某个东西的第二代,而且还有第一代可供参照。ZwZ-2B,于2026年3月4日发布,是 Qwen3-VL-2B-Instruct 的微调版本,采用区域到图像蒸馏和强化学习进行训练,并与论文《无需缩放的缩放》(arXiv 2602.11858)以及 ZoomBench 评估集一同发布。它采用 Apache-2.0 许可,有完整的模型卡,七个月内下载量为 159 次。

不过,这条血统线索比名称所暗示的要薄弱。ZwZ-2B 基于qwen3_vl架构构建。ZwZ2-9B 基于qwen3_5。inclusionAI 唯一应用的标签是qwen3_5,而该模型既不在 ZwZ 合集中,也不在任何其他合集中。区域到图像的配方是否被沿用下来,正是模型卡会回答、而本仓库不会回答的那类问题。

有一个值得指出的陷阱,因为搜索引擎会把人们引向它:存在一个更早的、毫不相关的ZwZ_32B系列 GGUF 转换,日期为 2025 年 3 月,来自第三方。它们只共享三个字母,别无其他。不要把它当作更早的 ZwZ2-9B。

如何处理没有文档记录的检查点

实际做法与你处理任何没有模型卡就送达的权重时相同。先拉取配置和 safetensors 头部——这成本低,而且可核查。确认参数量和张量名称与配置所承诺的一致。然后在支持该架构的框架上提供服务,并运行你已在自己流量上运行的评估,而不是借用并不存在的数字。

除非只是周末随便玩玩,否则许可证才是关键。没有许可证字段的检查点,并不等同于开放许可的检查点;如果没有声明,默认就是发布者保留所有权利,而这件事应当在它接近生产环境之前谈妥,而不是之后。还要注意,你将自行运行它——Hub 显示该模型没有任何提供商提供服务,而且厂商也没有发布任何端点。

这正是自动故障转移存在的意义所在。如果你想在不把生产路径押上去的前提下,用未经验证的检查点去对比现有主力模型,那就把候选模型放到与你已经信任的模型相同的接口后面,并在新模型表现失常时让流量切回去——只需一个 API 密钥和一个 OpenAI 兼容端点,而不是一套日后还得拆掉的第二套集成。OrcaRouter 正是以这种方式路由 200 多个模型,以 0% 加价率透传各提供商的标价,并且不托管 ZwZ2-9B——我们不会假装它在目录里有条目。我们今天能提供的是它所基于的系列以及它所取代的系列:Qwen3.5 系列在这里可以路由,包括qwen/qwen3.5-35b-a3b和qwen/qwen3.5-flash,以及qwen/qwen3-vl-8b-instruct,后者以一个有文档、有托管的模型填补 8B 视觉位置,价格为每百万输入 token 0.18 美元、每百万输出 token 0.70 美元。

A screenshot of the OrcaRouter models page showing a catalogue header reading 210 models, 16 providers and one API key, modality filter tabs for All 210, Text 173, Image 12, Embeddings 5, Video 10 and TTS 10, a credit plan panel with monthly tiers at $50, $100, $500 and $1000, and model cards below for Orca:OrcaCyber Zero 1.5, OpenAI:GPT-6.1 Sol, Anthropic:Claude Sonnet 5.5, TypeSafe:Jev 1.13, OpenAI:GPT-6 Luna and OpenAI:GPT-6 Sol with per-million-token input and output prices.

什么能让这个变成一个发布版本?

有三件事,其中任何一件都足以让我重写这篇文章。仓库中出现许可证字段,这会把它从一件新奇玩意儿变成公司可以实际使用的东西。一份带有评测数字的模型卡,这会把它从一种架构变成一项主张。或者一篇论文——最可能的形态是,把当初让第一个 ZwZ 变得有意思的区域到图像工作,应用到规模大三倍的视觉塔上。

在其中某一项落地之前,就把 ZwZ2-9B 当作文件列表所说的那样来看待:一个拥有 94 亿参数的 Qwen3.5-9B 衍生模型,带有定制化的聊天模板,由一家尚未向任何人说明原因的实验室发布。权重是真的。故事还没有写出来,而诚实的立场是,inclusionAI 之外的任何人都写不了它。

这一切都并非假设:像本次这样的发布背后那些有据可查的 AI 故障与智能体事件,均收录于 OrcaRouter AI 事件档案库中,其中每条记录都附有自己的来源、严重程度、置信度评级和存疑标记。