大模型与小模型:同一套 Transformer,差在哪
大模型和小模型不是两种架构,而是同一套 Transformer 在不同预算下的解。差别在宽度、深度、FFN、注意力头和词表怎么分配。
大模型和小模型不是两种架构,而是同一套 Transformer 在不同预算下的解。差别不在“有没有注意力”,而在每个部件分到多少参数。
一个 block,四件事
主流模型都是 decoder-only:token embedding → N 层 → 输出头。每层四件事:
- 自注意力:Q/K/V 投影、注意力计算、输出投影;决定 token 之间怎么交换信息。
- FFN:通常是 SwiGLU 的三矩阵结构,决定每个 token 怎么被非线性变换。
- 残差与归一化:pre-RMSNorm + 残差,保证深栈可训练。
- 位置:RoPE 为主,长上下文靠改 base、YaRN,或部分层用 NoPE。
层数、hidden size、注意力头数、FFN 宽度、词表大小,这几个数字决定参数怎么花。
参数都花在哪
拿几份公开配置算账:
| 模型 | 层 | hidden | Q/KV 头 | FFN/专家 | 总参数 | 激活 |
|---|---|---|---|---|---|---|
| Qwen3-0.6B | 28 | 1024 | 16/8 | 3072 | 0.6B | 0.6B |
| Qwen3-8B | 36 | 4096 | 32/8 | 12288 | 8B | 8B |
| Qwen3-235B-A22B | 94 | 4096 | 64/4 | 128×1536 | 235B | 22B |
| Llama 3 405B | 126 | 16384 | 128/8 | 53248 | 405B | 405B |
三个规律:
FFN 是参数大头。 8B 模型里 FFN 约占三分之二,405B 约 80%。知识容量主要堆在 FFN,不在注意力。
词表对小模型很贵。 小模型的词表嵌入加输出头能占 20%–40%,405B 不到 1%。所以小模型常做 weight tying(嵌入和输出共享),大模型基本不用省这笔。
GQA 省的是 KV,不是参数。 Llama 3 从 8B 的 32/8 到 405B 的 128/8,Q 头涨 4 倍,KV 头不变。KV cache 随层数线性涨,但不随 Q 头数涨。
注意力和 FFN 各自在干什么
注意力只做一件事:让 token 从别的 token 取信息。MHA 每个 Q 头都有独立 K/V;GQA 让一组 Q 头共享 K/V;MQA 全部共享;MLA 把 K/V 压成低秩 latent,再在计算时还原。共享程度越高,KV cache 越小,但表达能力越受限。
FFN 做另一件事:对每个 token 独立做非线性变换。SwiGLU 是 gate/up/down 三个矩阵,中间宽度通常是 hidden 的 3–4 倍。它不交换 token 信息,却是参数和知识的主要载体。
所以“大模型更强”不是注意力更复杂,而是 FFN 更宽、层更多、专家更多;小模型省参数,首先省 FFN 和 KV。
大模型:宽深一起加,容量另算
从 Qwen3-0.6B 到 8B,hidden 涨 4 倍,层数只从 28 到 36;Llama 3 从 8B 到 405B,hidden 和层数都涨约 4 倍。
小模型受延迟约束,更倾向加宽;大模型有并行预算,宽深一起加。但深度是串行的,每多一层就多一次前向,所以不能只靠堆层。
另一条路是 MoE。Qwen3-235B-A22B 用 128 个专家、每 token 选 8 个,总参数 235B,激活只有 22B。总参数买容量,激活参数买算力,两个账本分开算。
小模型:不是等比缩小
小模型的设计约束完全不同:
- 词表占比高:Qwen3-0.6B 的词表嵌入占 26%,所以用 weight tying;词表再大,小模型就被 embedding 拖死。
- GQA 更激进:Qwen3-0.6B 用 16 个 Q 头、8 个 KV 头;8B 用 32/8。省 KV cache 就是省内存带宽。
- 深度不能太浅:28–36 层是常见区间;再浅,推理和多跳能力会明显受损。
- 量化友好:小模型常配 4-bit 权重、2-bit KV,部署在端侧;架构上要避免极端激活异常值。
所以“小模型”不是把大模型裁掉几层,而是重新分配参数:少堆 FFN,保住深度,压词表,压 KV。
参数买的是什么
缩放定律说,损失随参数、数据、算力呈幂律下降。Kaplan Chinchilla 进一步给出算力最优配比:模型和数据同步翻倍,约 20 token/参数。Chinchilla
但这是训练账。把推理算进去,结论会反过来:请求量足够大时,应该训得更小、更久;极端情况下 token/参数比可以到 10,000。Beyond Chinchilla-Optimal
Llama 3 8B 就是这条逻辑:8B 参数吃 15T token,token/参数比接近 1,900,用训练算力换推理成本。Llama 3
小模型变强还靠数据和蒸馏:Phi-4 用 14B 在 STEM QA 上超过教师,靠的是数据配方;Qwen3 小模型直接借旗舰模型的知识,降低训练算力。Phi-4 Qwen3
怎么选
| 维度 | 大模型 | 小模型 |
|---|---|---|
| 任务宽度 | 长尾、开放、跨领域 | 窄、固定、高频 |
| 推理成本 | 高 | 低 |
| 延迟/端侧 | 难 | 容易 |
| 微调/蒸馏 | 成本高 | 成本低 |
| 主要风险 | 贵、慢 | 泛化差、知识少 |
先看任务是否窄到可以用固定流程,再看失败样本是“缺知识”还是“缺行为”,最后算单位任务成本。
架构决定钱花在哪,规模决定花多少。两件事分开看,才不会把“参数多”当成“能力强”。