Skip to content

LLaMA 与 Qwen 架构演进

LLaMA 和 Qwen 是开源大模型两条最重要的主线:前者奠定了"开源稠密模型"的标准架构,后者代表了中文/多语言开源模型的最高水平。面试中"讲讲 LLaMA 各代的区别""Qwen3 相比 Qwen2 改了什么"是经典考题——考的是你对架构演进背后动机的理解,而不是背参数表。

现代开源 LLM 的"标准配方"

LLaMA 1 确立、后续几乎所有开源模型沿用的架构选型:

组件选择取代了什么原因
整体结构Decoder-onlyEncoder-Decoder训练目标统一、推理可用 KV Cache
归一化Pre-Norm + RMSNormPost-Norm + LayerNorm深层训练更稳定、计算更省
激活函数SwiGLUReLU/GELU门控结构效果更好
位置编码RoPE绝对位置/可学习位置相对位置性质 + 可外推
注意力MHA → GQA压缩 KV Cache、提升推理吞吐
偏置项基本去掉 bias大模型下 bias 收益小、还省参数

面试一句话:"现代开源 LLM ≈ Decoder-only + Pre-RMSNorm + SwiGLU + RoPE + GQA",先给出这个公式,再展开每一项的动机,是结构化作答的好开场。

LLaMA 系列演进

演进总览

LLaMA 1 (2023.02)LLaMA 2 (2023.07)LLaMA 3/3.1 (2024)
参数规模7B/13B/33B/65B7B/13B/70B8B/70B/405B
训练数据量1.0~1.4T tokens2T tokens15T+ tokens
上下文长度2K4K8K → 128K(3.1)
词表大小32K(SentencePiece)32K128K(tiktoken 系)
注意力MHA70B 用 GQA全系 GQA(8 个 KV 头)
对齐无(仅基座)SFT + RLHF(Chat 版)SFT + 拒绝采样 + DPO

每一代解决了什么问题

LLaMA 1:用缩放定律重新分配算力。 核心思想来自 Chinchilla——同等算力下"小模型 + 更多数据"优于"大模型 + 少数据",且 LLaMA 进一步为推理成本优化:13B 模型用 1T tokens "过量训练",性能超过 GPT-3 175B。这确立了"训练多花钱、推理少花钱"的开源路线。

LLaMA 2:走向可用的对话模型。 上下文翻倍到 4K;70B 引入 GQA 把 KV Cache 压缩 8 倍;首次开放 RLHF 对齐的 Chat 版本(拒绝采样 + PPO),并提出安全奖励模型与有用性奖励模型分开训练。

LLaMA 3:数据和词表的胜利。 架构几乎没变(全系 GQA 是主要变化),提升主要来自:15T tokens 的高质量数据(大量质量过滤与去重)、128K 大词表(多语言/代码压缩率显著提升)、退火阶段(annealing)用高质量数据收尾。3.1 版本把 RoPE base 提高到 500,000 并配合持续预训练扩展到 128K 上下文,405B 是当时最大的开源稠密模型。

LLaMA 4(2025)转向 MoE 架构并引入超长上下文(千万级),标志着 Meta 也放弃了"纯稠密"路线——稠密模型扩参数的性价比已被 MoE 超越,参见 MoE 专题

Qwen 系列演进

演进总览

Qwen 1 (2023)Qwen 2 (2024.06)Qwen 2.5 (2024.09)Qwen 3 (2025.04)
规模1.8B~72B0.5B~72B + MoE0.5B~72B0.6B~32B 稠密 + MoE(235B-A22B 等)
训练数据~3T7T18T36T
上下文2K~32K32K~128K128K32K~128K(可扩展)
注意力细节QKV 加 bias全系 GQA + QKV biasGQA + QKV biasGQA + QK-Norm(去掉 QKV bias)
特色152K 大词表DCA + YaRN 长上下文Coder/Math 专项模型思考/非思考混合模式

每一代的关键设计

Qwen 1 的两个与众不同

  • 152K 大词表:在 LLaMA 还是 32K 词表的年代就用大词表,对中文等多语言的编码效率(每个汉字消耗的 token 数)大幅优于 LLaMA 系——这是"中文模型为什么不直接用 LLaMA 词表"的标准答案。
  • QKV 加 bias:与 LLaMA "全部去 bias" 相反,Qwen 在注意力的 QKV 投影保留 bias,论文给出的理由是增强长度外推能力

Qwen 2:全系换 GQA;用 双块注意力(DCA)+ YaRN 做长上下文外推;引入 MoE 版本(57B-A14B)试水稀疏架构。

Qwen 2.5:架构稳定,主要卷数据(18T tokens)与专项能力(Coder、Math 独立系列),72B-Instruct 成为当时开源对齐模型的事实标杆之一。

Qwen 3 的三个重要变化

  1. QK-Norm 替代 QKV bias:在 Q、K 上各加一层 RMSNorm 再算注意力,比 bias 更直接地稳定注意力 logits、防止训练 loss spike(Gemma 2/3 也采用同类设计)——体现了"注意力数值稳定性"成为新的架构关注点。
  2. 思考/非思考混合模式:同一个模型既能直接回答、也能输出 long CoT 深度思考,通过模板开关切换,把"推理模型"和"对话模型"合二为一(详见 推理模型与慢思考)。
  3. MoE 旗舰:235B-A22B(总参 235B、激活 22B),以约 1/10 的激活参数对标稠密大模型,确认了 MoE 作为旗舰架构的趋势。

LLaMA vs Qwen:面试对比要点

维度LLaMA 路线Qwen 路线
词表32K → 128K(3 代才换大词表)一开始就是 152K 大词表
多语言以英文为中心多语言/中文优先,119 种语言(Qwen3)
注意力稳定性无特殊处理QKV bias → QK-Norm
模型谱系少量尺寸、重旗舰全尺寸覆盖(0.5B~235B)+ 专项模型
开源策略自定义许可(限制条款)Apache 2.0(Qwen2 起大部分)

为什么国内做应用基本都基于 Qwen 微调? 中文 token 效率高(推理成本低)、尺寸全(按算力挑)、许可宽松(可商用)、中文能力和生态(微调工具链支持)最成熟。

与闭源 GPT 系列的架构差异

  • GPT-4 被广泛认为是 MoE 架构(未官方确认),开源界直到 Mixtral/DeepSeek/Qwen3 才大规模跟进 MoE。
  • 开源模型的进步路径高度透明:数据量与数据质量贡献了大部分提升,架构变化(GQA、大词表、QK-Norm)主要服务于训练稳定性和推理效率——这个判断本身就是高频考点:"LLaMA 1 到 3 架构几乎没变,为什么效果差那么多?"答案是数据(量、质量、配比、退火)+ 词表 + 上下文。

高频追问

Q:LLaMA 3 为什么把词表从 32K 扩到 128K?代价是什么? 收益:多语言和代码的压缩率提升(同样文本消耗更少 token),等效上下文更长、推理更省。代价:embedding 与输出层参数大幅增加(128K × d_model),对小模型占比很高,所以 LLaMA 3 8B 的 embedding 部分就占约 10 亿级参数;低频 token 训练不充分的风险也更高。

Q:Qwen 早期加 QKV bias、Qwen3 又去掉换成 QK-Norm,怎么理解这个反复? 两者都是在解决注意力的数值/外推问题。bias 是早期经验性做法(被认为有利于外推);QK-Norm 直接对 Q、K 做归一化,从根源上限制注意力 logits 的数值范围,防止大规模训练中的 loss spike,是更系统的方案。演进体现了"经验补丁 → 原理性方案"的常见模式。

Q:GQA 的 KV 头数为什么常选 8? 8 是效果与显存的折中点:MQA(1 个 KV 头)压缩最狠但质量损失可感知;实验表明 KV 头数为 8 左右时质量几乎与 MHA 持平,而 KV Cache 压缩到 1/8~1/16。另外 8 也方便张量并行切分(每张卡至少分到 1 个 KV 头)。

Q:如果让你基于 Qwen 做领域模型,选 Base 还是 Instruct 微调? 有大量领域语料、需要先做继续预训练 → 从 Base 开始(Instruct 的对齐会被继续预训练破坏);只做 SFT 注入领域问答能力 → 从 Instruct 开始(保留通用对话与指令遵循能力)。数据量小、任务接近通用对话时,Instruct + LoRA 是性价比最高的组合。

Q:LLaMA 3.1 是怎么把上下文扩到 128K 的? 分阶段:主预训练在 8K 完成,之后用长文本数据做持续预训练,逐步增加长度到 128K,同时把 RoPE base 提高到 500,000 配合调整。直接全程长上下文训练成本不可接受(注意力 $O(T^2)$),"短训练 + 长扩展"是业界通用做法,详见 长上下文专题

基于 MIT 许可发布