# 架构拆解：配置文件里的答案

> 权重公开后补写的一章——92 层、3:1 的 Gated DeltaNet 与门控注意力混排、512 个专家选 10 加 1 个共享专家。逐项读 config.json，用算术核对 2.4T 与 95B，并对照上一章的推断：哪些对了、哪些错了。

- 作者：David（道雾轩）
- 专栏：Qwen3.8-Max 深度解析（https://daiw.org/manual/qwen3-8-max.md）
- 最后更新：2026-09-19
- 原文：https://daiw.org/manual/qwen3-8-max/architecture
- 转载与引用：请注明出处并附原文链接（https://daiw.org/about/copyright）

# 架构拆解：配置文件里的答案

<Callout type="info">
  **本章写于 2026 年 9 月，是专栏的补写。** 官方权重 8 月 9 日上传、8 月 12 日在 Hugging Face 公开（仓库 `Qwen/Qwen3.8-2.4T-A95B`），附带模型卡与 `config.json`；9 月 19 日又按仓库的修改记录与官方博客做了补充。上一章《MoE 与混合注意力》写于权重发布之前，本章保留它的原貌，并在末尾逐条对照。
</Callout>

## 先说清楚这份权重是什么

模型卡开门见山地交代了三件事：

- 这是**后训练之后**的模型，Transformers 格式，vLLM、SGLang、TokenSpeed 等推理框架可以直接加载；
- 它**只支持文本、必须开启思考**，不接受多模态输入；
- API 上的 **Qwen3.8-Max 是基于它的官方版本**，多了视觉输入、非思考模式、默认 1M 上下文和官方内置工具。

所以严格地说，开放的是 Qwen3.8-Max 的**文本主干**，不是 API 产品的全部。9 月 2 日之后还要再加一句：API 换成了继续后训练的 0902 快照，这份权重对应的是 8 月的原版。[开源那一章](https://daiw.org/manual/qwen3-8-max/open-weights)会回到这一点。

### 公开前的三处修改

Hugging Face 的提交记录还留下了一个细节：权重 8 月 9 日上传后、12 日公开前，仓库改过三处配套文件，权重文件本身没有重传。

| 日期 | 改动 |
| --- | --- |
| 8 月 10 日 | 对话模板删掉了图像、视频占位符的处理，并改成“关闭思考就直接报错”——首日上传的模板原本支持看图，也支持非思考模式 |
| 8 月 11 日 | 补上模型卡 |
| 8 月 12 日 | `config.json` 删掉 `mrope_interleaved` 与 `mrope_section` 两个字段（多模态旋转位置编码的设置，同系列能看图的 27B 与 Flash-Next 的配置里都有）；随后补上许可 |

改完之后，配套文件与模型卡的说法一致了：开放权重只收文本、必须思考。至于首日的文件为什么带着多模态和非思考的设置，官方没有解释；一个自然的猜测是它们沿用了 API 版的配置，但**这只是猜测**。

## 总体布局

| 项目 | 数值 | 来源 |
| --- | --- | --- |
| 架构类 | `Qwen3_5MoeForCausalLM`（`model_type: qwen3_5_moe_text`） | config |
| 层数 | 92 | config / 模型卡 |
| 隐藏维度 | 8192 | config |
| 词表 | 248,320（含填充），输入与输出不共享权重 | config |
| 层排布 | 23 ×（3 × Gated DeltaNet → 1 × 门控注意力），每层之后接 MoE | 模型卡 / `layer_types` |
| 原生上下文 | 262,144，可外推到 1,010,000 | 模型卡 |
| 权重精度与总量 | BF16，共 2,446,182,725,504 个参数 | Hugging Face 元数据 |

`model_type` 里的 `qwen3_5` 印证了模型卡里的那句话：**它建立在 Qwen3.5 的架构基础之上**。[第一章](https://daiw.org/manual/qwen3-8-max/what-is-qwen38-max)记录过这条第三方说法，当时“未见官方确认”，现在确认了。

## 混合注意力：线性与全注意力 3:1

`config.json` 的 `layer_types` 是一个 92 项的列表，规律一眼可见：**三个 `linear_attention` 接一个 `full_attention`**，重复 23 次（`full_attention_interval: 4`）。也就是 69 层线性注意力、23 层全注意力。

**线性注意力层用的是 Gated DeltaNet：**

| 参数 | 数值 |
| --- | --- |
| 值头数 | 128 |
| 键 / 查询头数 | 16 |
| 头维度 | 128（键、值相同） |
| 短卷积核 | 4 |
| 递推状态精度 | FP32（`mamba_ssm_dtype`） |

**全注意力层是带输出门的标准注意力：**

| 参数 | 数值 |
| --- | --- |
| 查询头 / 键值头 | 64 / 4（GQA，16 个查询头共用一组键值） |
| 头维度 | 256 |
| 旋转位置编码 | 只作用于 64 维（`partial_rotary_factor: 0.25`），`rope_theta` 为 1000 万 |
| 输出门 | 开启（`attn_output_gate: true`，swish 门） |

Gated DeltaNet 加门控注意力、3:1 混排、部分维度旋转位置编码——这和 Qwen3-Next 公开过的设计是同一路数。这一点现在有官方的说法：8 月底的 Flash-Next 博客写道，Qwen3-Next 引入的这套混合结构，此后用在了 Qwen3.5、3.6、3.7 与 3.8 系列上。**用意很直接：让大部分层的“记忆”不随上下文变长而增长。**

算一笔账就明白。KV 缓存只在 23 层全注意力里随长度增长，每个 token 占：

$$
23 \times 4 \times 256 \times 2 \times 2\ \text{B} = 94{,}208\ \text{B} \approx 92\ \text{KiB}
$$

（23 层 × 4 个键值头 × 256 维 × 键和值两份 × BF16 两字节。）

| 上下文 | 全注意力层的 KV 缓存 | 假如 92 层全是全注意力 |
| --- | --- | --- |
| 262,144（原生） | 约 23 GiB | 约 92 GiB |
| 1,010,000（外推上限） | 约 89 GiB | 约 354 GiB |

线性注意力层维持的是固定大小的递推状态。按 Gated DeltaNet 的标准形状估算，每层每条序列是 128 个值头 × 128 × 128 个 FP32 数，约 8 MiB，69 层合计约 0.54 GiB——**不管上下文是一千还是一百万个 token，都是这么大。**

<Callout type="info">
  这就是“混合”的全部意义：**四分之三的层把长上下文的代价压成常数，剩下四分之一保留精确回看的能力。** 纯线性注意力在“从很远的地方精确取回一个细节”这类任务上吃亏，全注意力层就是为此保留的。
</Callout>

## MoE：512 个小专家

| 参数 | 数值 |
| --- | --- |
| 路由专家数 | 512 |
| 每 token 激活 | 10 个路由专家 + 1 个共享专家 |
| 专家中间维度 | 2048（只有隐藏维度的四分之一） |
| 共享专家中间维度 | 2048 |
| 负载均衡辅助损失系数 | 0.001 |
| MTP（多 token 预测） | 1 个额外的 MTP 层；模型卡称训练时预测了多步 |

两点值得注意。

**一、专家很“细”。** 每个专家的中间维度只有 2048，是隐藏维度的四分之一。512 个小专家里挑 10 个，走的是细粒度路线。

**二、共享专家回来了。** [Qwen3 那一代曾主动去掉共享专家](https://daiw.org/manual/llm-anatomy/moe-knobs)，理由是收益不明显；到了 3.8，每层又带上了一个。技术报告没有发布，这个取舍背后的实验我们看不到——只能记录“它回来了”这个事实。

## 用算术核对 2.4T 与 95B

有了配置，就能验算官方的两个数字。按 SwiGLU 专家（gate、up、down 三个矩阵）计算：

- 每个专家：3 × 8192 × 2048 ≈ 5033 万参数；
- 主干 92 层的路由专家：512 × 5033 万 × 92 ≈ **2.371T**；
- MTP 层自带一套 512 个专家：约 **258 亿**；
- 剩下约 **496 亿**：注意力（线性与全注意力）、共享专家、输入输出词表、路由器等。

三项加起来，正好是 Hugging Face 记录的 **2,446,182,725,504**。**主干的路由专家就占了总参数的 97%，连同 MTP 层的专家约 98%。**

激活参数这边：每个 token 经过 10 + 1 个专家，92 层合计约 **509 亿**；注意力层每个 token 都要走，按配置推算约 **400 亿**；再加输出层与路由器，约 933 亿。若按惯例把输入词表也计入，约 954 亿——**与官方的 95B 对上了。**

<Callout type="warn">
  **这组数字揭示了一件官方材料没提的事：95B 激活参数里，专家只占一半多一点，另外四成左右在注意力层。** 原因是它的注意力很“宽”：线性注意力 128 个值头 × 128 维、全注意力 64 个查询头 × 256 维，内部宽度都是 16,384，是隐藏维度的两倍。

  注意力部分的拆分依赖对投影矩阵形状的推算，本章把它标为**估算**；不过它与 Hugging Face 记录的总参数量能对上，可信度不低。
</Callout>

## 回头看上一章：推断对了多少

[上一章](https://daiw.org/manual/qwen3-8-max/moe-and-attention)在只有“2.4T、95B、稀疏 MoE、混合注意力”四条信息时，分层做了推断。现在可以逐条对答案：

| 上一章的判断 | 层次 | 结果 |
| --- | --- | --- |
| 激活率约 4.0% | 算术推论 | **对**（95 / 2446 ≈ 3.9%） |
| 在同代同规模里，稀疏度偏保守 | 横向定位 | **对**，比 K3 的 1.8% 高一倍多 |
| 所以专家可能更少或更大 | 机制推断 | **错**：512 个中间维度仅 2048 的小专家，是细粒度设计 |
| “混合注意力”几乎是 1M 上下文的必然选择 | 横向定位 | **对** |
| 混的是哪两种：拒绝猜，只注明 Qwen3-Next 的门控线性注意力是个弱先验 | 不做具体猜测 | 答案正是线性 + 全注意力。但**当时不猜是对的**——先验很弱，碰巧说中不算方法 |

<Callout type="info">
  **错的那一条，恰好落在上一章方法论表里标为“低可信度”的那一层。** “稀疏度偏保守”本来有两种实现方式：专家少而大，或者专家细而多、每次激活得也多。上一章只想到了前一种。

  这正是分层推断的价值：**它不保证不犯错，而是让错误落在事先标明“不可靠”的地方。**
</Callout>

## 仍然空白的部分

配置文件能回答“长什么样”，回答不了“怎么练的”。截至 9 月 19 日，下面几项仍然没有一手来源：

| 项目 | 状态 |
| --- | --- |
| 技术报告 / 论文 | Max 本身仍无（模型卡只引了发布博客）；同系列 Flash-Next 的技术报告只讲 Flash-Next |
| 预训练 token 数、数据构成 | 未公开 |
| 训练精度、优化器、学习率策略 | 未公开 |
| MTP 训练时预测几步 | 只说“多步”，没有具体数字 |
| 后训练与强化学习细节 | 博客只讲了三件事：组合式扩展环境、统一奖励、在线数据均衡，外加一张环境数与分数的曲线（见 [RL 那一章](https://daiw.org/manual/qwen3-8-max/rl-environments)） |
| 0902 快照 | 只说“继续后训练”，没有说明改了什么，也没有开放权重 |

下一代的方向倒是已经公布了：官方称 Flash-Next 是 Qwen4 模型结构的先导预览，全注意力层换成块级稀疏的 QSA，残差流加宽并加门控，外加 N-gram 嵌入——详见[同系列那一章](https://daiw.org/manual/qwen3-8-max/qwen38-family)。

下一章讲思考档位。👉 [思考档位与思考模式](https://daiw.org/manual/qwen3-8-max/thinking-effort)

## 参考文献

- [1] Qwen Team. [Qwen3.8-2.4T-A95B 模型卡](https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B)，Hugging Face，2026-08。
- [2] 同仓库 [config.json](https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B/blob/main/config.json) 与对话模板。
- [3] Hugging Face 模型元数据与[提交记录](https://huggingface.co/Qwen/Qwen3.8-2.4T-A95B/commits/main)（safetensors 参数统计；8 月 10 日、12 日对模板与配置的修改）。
- [4] Qwen Team. “[Qwen3.8-Flash-Next：全新架构，迈向极致性价比](https://qwen.ai/blog?id=qwen3.8-flash-next).” 2026-08-26 —— 混合结构的来历与 Qwen4 结构预览。
- [5] 本站《AI 大模型解构》[MoE 的三个旋钮](https://daiw.org/manual/llm-anatomy/moe-knobs)。
