六十三:Qwen 2.5¶
来源:http://mp.weixin.qq.com/s?__biz=MzYyNTk3Njg1NA==&mid=2247484952&idx=1&sn=131f36de382dad0dfbb1a04ea570ba68&chksm=f01eb561c7693c77663ae6d2978614b5df7c6f0a36af1147d41344e8deac72d043ceaf8f9fce#rd
1. 学习范围¶
本日覆盖两个重点: - 模型架构Qwen2.5 dense 系列的 decoder-only Transformer、GQA、SwiGLU、RoPE、QKV bias、RMSNorm pre-norm、tokenizer、上下文长度和 MoE 服务模型。
- QwQ-32BQwen 在 Qwen2.5 基座上强化推理能力的代表模型,重点理解 outcome-based RL、数学/代码 verifier、通用能力 RL 和 agent 能力。
推荐阅读资料: - Qwen2.5 Technical Report: https://arxiv.org/pdf/2412.15115
- QwQ-32B 官方博客: https://qwenlm.github.io/blog/qwq-32b/
2. Qwen2.5 的定位¶
Qwen2.5 是 Qwen 系列在预训练、后训练和部署形态上的一次系统升级。技术报告中强调三点: - 预训练数据从 Qwen2 时代的约 7T tokens 扩展到 18T tokens。
-
后训练包含超过 100 万条 SFT 样本,并结合 DPO 与 GRPO 等多阶段强化学习。
-
开源 dense 模型覆盖 0.5B、1.5B、3B、7B、14B、32B、72B,并提供 base、instruct、量化版本;API 侧还有 Qwen2.5-Turbo、Qwen2.5-Plus 等 MoE 服务模型。
面试中不要只说“Qwen2.5 是一个更强的 LLM”。更准确的表达是:Qwen2.5 是一组统一 tokenizer、统一训练范式、不同参数规模和上下文长度的 decoder-only LLM 系列,并通过后训练扩展到指令跟随、长文本、结构化数据分析、数学、代码和推理场景。
3. Dense 模型架构¶
Qwen2.5 dense 模型延续 Transformer decoder 架构。核心模块可以写成:
x_l
-> RMSNorm
-> Causal Self-Attention with RoPE, QKV bias, GQA
-> residual
-> RMSNorm
-> SwiGLU FFN
-> residual
关键组件如下: - Decoder-only使用因果 mask,只允许 token 关注自己和历史 token,适合自回归生成。
-
Grouped Query Attention, GQAQuery head 数量大于 KV head 数量,多个 Query head 共享一组 K/V,用较小 KV cache 换取接近 MHA 的表达能力。
-
SwiGLU FFN用门控激活替换传统 ReLU/GELU FFN,提高非线性表达能力。
-
RoPE在 Q/K 上施加旋转位置编码,使相对位置信息进入 attention score。
-
QKV bias在注意力投影中保留 bias,有助于模型表达。
-
RMSNorm + pre-norm每个子层前先归一化,增强大模型训练稳定性。
4. GQA 的形状与 KV Cache¶
设 batch 为 B,序列长度为 T,隐藏维度为 d_model,Query head 数为 Hq,KV head 数为 Hkv,每头维度为 dh。一般有:
i 个 Query head 使用的 KV head 可以写成:
在 decode 阶段,每生成一个 token 都要读取历史 KV。若使用 MHA,KV cache 规模约为:
若使用 GQA:
因此 KV cache 节省比例约为 Hkv / Hq。Qwen2.5 的 32B 模型使用 40 个 Query heads 与 8 个 KV heads,相当于每 5 个 Query heads 共享一组 K/V。
5. 参数规模与上下文长度¶
Qwen2.5 开源 dense 模型的上下文设计有明显分层:
小模型使用较短上下文,适合轻量部署和端侧/低成本服务;中大模型支持 128K,更适合长文档理解、代码仓库阅读和复杂 agent 上下文。 需要区分: - context length模型可读入的最大上下文窗口。-
generation length一次回复可生成的最大 token 数。
-
effective long-context ability模型是否真正能在长上下文中检索、组合、遵循指令,而不只是位置编码外推。
6. Tokenizer 与控制 token¶
Qwen2.5 使用 Qwen tokenizer,底层是 byte-level BPE,常规词表规模为 151,643 tokens。byte-level 设计可以覆盖未知字符和多语言文本,避免大量 OOV 问题。 Qwen2.5 相比旧版本扩展了控制 token。控制 token 的作用不是“让模型多认识几个字符串”,而是给训练和推理协议提供稳定接口,例如: - chat template 中区分 system、user、assistant。
-
tool/function calling 中标记工具调用边界。
-
结构化输出中稳定表示特殊状态。
面试中如果被问 tokenizer 为什么重要,应回答:tokenizer 决定文本到 token 的离散化方式,影响训练分布、上下文预算、跨语言效率、代码切分、特殊协议表达,以及模型是否能稳定处理工具调用。
7. MoE 服务模型¶
Qwen2.5 技术报告中还提到 Qwen2.5-Turbo 和 Qwen2.5-Plus 两个 MoE 服务模型。MoE 的核心思想是把 dense FFN 替换成多个专家,并由 router 为每个 token 选择 Top-k experts:
MoE 的目的不是减少总参数,而是提高总容量与单位 token 激活计算量之间的比值。它的工程难点包括: - expert load balance,避免少数专家过热。-
all-to-all 通信开销。
-
token dispatch/combine 的 kernel 效率。
-
serving 时的 batch、路由和缓存管理。
8. 预训练与后训练¶
Qwen2.5 的预训练强调数据规模和数据混合。18T tokens 的价值不只是“数据更多”,还在于覆盖通识、专业知识、数学、代码、多语言和推理场景,让 base model 具备较强的可塑性。 后训练大致包含: - SFT用高质量指令数据塑造可用的对话、工具、格式和任务行为。
-
DPO用偏好对优化 chosen vs rejected 的相对概率,避免显式训练 reward model 的复杂 pipeline。
-
GRPO以 group 内候选答案的相对奖励作为优化信号,用于强化推理、指令遵循等能力。
-
长上下文 SFT例如 Qwen2.5-Turbo 使用短指令阶段和短长混合阶段,让模型适应长查询。
训练链路可以概括为:
large-scale pretraining
-> SFT
-> preference optimization / DPO
-> online RL / GRPO
-> task-specific or long-context adaptation
9. QwQ-32B 的推理路线¶
QwQ-32B 是 Qwen 对“强化学习放大推理能力”的探索。官方博客强调:在强基座模型上做可扩展 RL,可以显著增强推理能力;QwQ-32B 是 32B 参数模型,却能在一些推理任务上接近更大模型。
QwQ-32B 的训练思路包括: - 从 cold-start checkpoint 开始。
-
第一阶段把 RL 重点放在数学和代码任务。
-
数学任务使用 accuracy verifier 判断最终答案正确性。
-
代码任务使用执行服务器,根据测试用例通过情况给奖励。
-
第二阶段加入通用能力 RL,使用通用 reward model 和规则 verifier,提高 instruction following、human preference alignment 与 agent performance。
这个路线的关键是:推理模型并非只靠更多 CoT 样本 SFT,而是利用可验证任务构建稳定奖励,把“想得更久、搜索更多候选、修正中间过程”的行为强化出来。
10. Outcome-based RL 与过程监督¶
QwQ-32B 官方描述主要强调 outcome-based rewards。数学题只看最终答案是否正确,代码题看测试是否通过。这种方法的优点是奖励更客观、可扩展,缺点是中间推理步骤可能存在不可见错误。 对比:
Outcome reward:
reward = final_answer_correct ? 1 : 0
Process reward:
reward = sum(step_quality_scores)
11. QwQ-32B 与普通 Instruct 模型的区别¶
普通 instruct 模型的目标是稳定响应用户指令,偏重格式、风格、安全和一般任务覆盖。QwQ-32B 更偏推理模型,常见差异包括: - 更愿意展开长链路推理。
-
更适合数学、代码、逻辑、多步工具使用。
-
推理成本和延迟更高。
-
简单任务未必需要触发长思考。
-
需要更谨慎处理幻觉、过度推理和答案冗长。
因此实际部署时常采用 router 或 chat template 控制:简单任务走 non-thinking/fast 模式,复杂任务走 reasoning 模式。
12. 面试速记¶
可以用下面这段口述总结 Qwen2.5:
Qwen2.5 是 decoder-only Transformer 系列,dense 模型采用 GQA、SwiGLU、RoPE、QKV bias、RMSNorm pre-norm 等现代 LLM 架构组件。它通过 18T tokens 预训练和包含 SFT、DPO、GRPO 的后训练体系提升知识、指令跟随和推理能力。模型规模覆盖 0.5B 到 72B,中大模型支持 128K context。QwQ-32B 则是在强基座上通过 outcome-based RL 强化数学、代码和通用推理能力,说明 RL 可以把已有世界知识进一步转化为可执行推理能力。
13. 常见误区¶
-
把 Qwen2.5 与 QwQ-32B 混为一谈。Qwen2.5 是基础模型系列,QwQ-32B 是推理增强模型。
-
只记 benchmark,不理解 GQA、RoPE、RMSNorm、SwiGLU 的工程意义。
-
认为 128K context 等于任意长文本都能可靠检索。长上下文能力还依赖训练数据、位置外推、注意力效率和评估任务。
-
认为 RL 一定需要人类偏好 reward。数学和代码可以使用规则 verifier 或执行反馈。
-
把 MoE 理解为“更省参数”。MoE 通常是总参数更多、每 token 激活参数较少。
预览时标签不可点<div class="