每个模型一份解剖文档:完整结构图、逐个模块的张量形状、 从 checkpoint 分片头部实读的参数账、以及它在 ATOM 里究竟落在哪几个文件上。 面向的是要动这段代码的人——不是模型卡,也不是论文摘要。
GLM 家族
这三者中只有两种结构:GLM-5.2 与旗舰 GLM-5.3 的 config 逐字段相同,
共用 deepseek_v2.py;GLM-5.3-Flash 是另一套完全不同的东西。
45 层混合注意力:34 层 KDA 线性注意力 + 11 层稀疏 MLA。 残差是 4 路宽的(mHC),全模型无位置编码,稀疏索引按 4 个 token 一池打分。 ATOM 里唯一为 GLM 写的独立模型文件。
78 层 MLA + DSA 稀疏注意力,256 专家。结构与 GLM-5.2 逐字段相同,
唯一新增的 config 字段 moe_router_dtype 指向一个 4 个数量级的路由精度问题。
在 ATOM 里没有自己的模型文件。
引入 IndexShare 的那一代:78 层里只有 21 层真的算 top-k, 其余 57 层在磁盘上就没有 indexer 权重。旗舰 GLM-5.3 原样继承了这套调度。
MiniMax 家族
和 GLM 那一系的 MLA + DSA 走的是完全不同的取舍:注意力本体仍是普通 GQA, 索引器只打分不带 value,top-k 的粒度是 128 个 token 一块而不是单 token。
横向对照
| GLM-5.2 | GLM-5.3 | GLM-5.3-Flash | MiniMax-M3 | |
|---|---|---|---|---|
| architectures | GlmMoeDsa | GlmMoeDsa | Glm5Next | MiniMaxM3Sparse |
| model_type | glm_moe_dsa | glm_moe_dsa | glm5_next | minimax_m3_vl |
| 总参数 | 753.3 B | 753.3 B | 321.3 B | 427.0 B |
| 单 token 激活 | 41.25 B | 41.25 B | 17.38 B | 24.73 B |
| 层数 | 78 + 1 MTP | 78 + 1 MTP | 45 + 1 MTP | 60(无 MTP) |
| hidden_size | 6144 | 6144 | 4096 | 6144 |
| 注意力 | MLA + DSA | MLA + DSA | 34 KDA + 11 MLA | GQA 64:4 + MSA |
| 位置编码 | RoPE θ=8e6 | RoPE θ=8e6 | NoPE(无) | 部分 RoPE θ=5e6 |
| 残差 | 单路 | 单路 | mHC 四路 | 单路 |
| 专家 | 256 top-8 + 1 | 256 top-8 + 1 | 288 top-8 + 1 | 128 top-4 + 1 |
| 稀疏索引 | IndexShare 21/78 | IndexShare 21/78 | k-pool 4 token/行 | 128-token 块 top-16 |
| KV cache | 87.8 KiB/token | 87.8 KiB/token | 12.4 KiB/token | 134.25 KiB/token |
| ATOM 实现 | deepseek_v2.py | deepseek_v2.py | glm5_next.py | minimax_m3.py |
| 多模态 | — | — | 原生(ATOM 只 serve 文本) | 原生(ATOM 只 serve 文本) |
KV cache 一列按 BF16 计:GLM-5.2/5.3 是 78 层 × 576; GLM-5.3-Flash 只有 11 个 MLA 层承担,代价是 34 个 KDA 层各持一份每请求的递推状态; MiniMax-M3 是 60 层 × 2×4×128 的主 KV(120 KiB)再加 57 层单头 index K(14.25 KiB)。
这些文档怎么来的
新增一个模型
在 skills/models.md 里写明模型、后端与输出路径,然后交给 Claude Code 执行:
# 模型 -glm5.3 # 框架后端 -atom # 输出路径 -LLM/models/GLM
产物是一份自包含的 HTML(无外部依赖,深浅色自适应)。 生成后把它加进本页的卡片网格即可。
每份文档一定包含
数字一律来自 checkpoint 与源码实读,不引用模型卡上的标称值。