15. GPT、LLaMA、Qwen、DeepSeek 等主流模型在架构上有哪些关键差异?
整理 GPT、LLaMA、Qwen、DeepSeek 等模型的关键架构差异。
简单回答
这几个模型都是 Decoder-Only 架构,核心差异在细节选择上:位置编码(learned vs RoPE)、归一化方式(LayerNorm vs RMSNorm,Pre-Norm vs Post-Norm)、激活函数(GELU vs SwiGLU)、注意力机制(MHA vs GQA vs MLA)、是否用 MoE,以及词表大小。GPT 系列偏保守,LLaMA 定义了开源模型的"标配"组合,Qwen 在词表和多模态上做了拓展,DeepSeek 在 MoE 和注意力效率上走得最激进。
详细解释
GPT 系列(GPT-2/3/4)
GPT-2/3 的架构相对"原始":learned positional embedding、Post-Norm(GPT-2 改成了 Pre-Norm)、GELU 激活、标准 MHA。GPT-4 的架构没有公开细节,但普遍推测使用了 MoE。GPT 系列的闭源使得它更多是作为"对比基准"而非架构参考。
LLaMA 系列
LLaMA 1/2/3 定义了开源大模型的"黄金组合",被大量模型跟随:RoPE 位置编码、Pre-RMSNorm、SwiGLU 激活、GQA(LLaMA 2 引入,LLaMA 1 还是 MHA)。LLaMA 的设计哲学是用成熟组件的最优组合,不追求单点创新,但每个选择都有充分的实验支持。LLaMA 3 扩大了词表(从 32K 到 128K)、增加了训练数据量(15T tokens),并且 context length 扩展到了 128K。
Qwen 系列
Qwen 的架构和 LLaMA 比较接近(RoPE、Pre-RMSNorm、SwiGLU、GQA),但有几个区别:词表非常大(Qwen 2 到了 150K+),对中文和代码的编码效率更高;在多模态方面整合得更早更深;Qwen 2.5 系列在模型规格覆盖上非常全面(0.5B 到 72B)。
DeepSeek 系列
DeepSeek 的架构创新最为激进。DeepSeek-V2 引入了 MLA(Multi-head Latent Attention),核心思想是把 KV 投影到一个低维的 latent 空间再缓存,显著压缩 KV Cache(比 GQA 压缩比更高),同时保持 MHA 级别的表达能力。在 MoE 方面,DeepSeek 用了细粒度专家(比如 256 个小专家选 8 个)加共享专家的设计。DeepSeek-V3 进一步用了 FP8 训练和无辅助损失的负载均衡策略。
关键差异对比
| 特性 | GPT-3 | LLaMA 2 | Qwen 2 | DeepSeek-V2 |
|---|---|---|---|---|
| 位置编码 | Learned | RoPE | RoPE | RoPE |
| Norm | Pre-LN | Pre-RMSNorm | Pre-RMSNorm | Pre-RMSNorm |
| 激活 | GELU | SwiGLU | SwiGLU | SwiGLU |
| 注意力 | MHA | GQA | GQA | MLA |
| MoE | 无 | 无 | 部分有 | 有 |
| 词表 | 50K | 32K | 150K+ | 100K+ |
面试时可以这样答
这些模型全是 Decoder-Only 架构,核心差异在组件选型上。
先说 LLaMA,它基本定义了开源大模型的标配:RoPE 位置编码、Pre-RMSNorm、SwiGLU 激活、GQA。这个组合被后来的大量模型沿用,Qwen、Mistral、Yi 等都是在这个基础上做调整。
Qwen 和 LLaMA 架构上差别不大,主要区别是词表大了很多,150K 级别,这对中文和代码编码效率提升很明显。多模态整合也做得更早。
DeepSeek 是架构创新最多的。它的 MLA(Multi-head Latent Attention)是一个很有意思的设计,把 KV 投影到低维 latent 空间再缓存,KV Cache 压缩比比 GQA 还高,但理论上不损失表达能力。它的 MoE 也和 Mixtral 不一样,用了大量细粒度小专家加共享专家的方案。
GPT 系列因为闭源,架构细节了解有限。GPT-3 的架构相对传统,用 learned position embedding 和 GELU。GPT-4 普遍推测用了 MoE,但没有官方确认。
总结下来,从 GPT-3 到现在,关键的架构演进就是几个方向:位置编码从 learned 到 RoPE,Norm 从 LayerNorm 到 RMSNorm,激活从 GELU 到 SwiGLU,注意力从 MHA 到 GQA/MLA,以及 MoE 的引入。
常见追问
- MLA 相比 GQA 在 KV Cache 压缩上具体优势有多大?它有什么代价吗?
- 为什么 DeepSeek 选择细粒度小专家而不是像 Mixtral 那样用少量大专家?
- 如果让你设计一个新的大模型架构,你会在哪些地方做和 LLaMA 不同的选择?