一文通透Qwen LLM系列——从Qwen、Qwen1.5、Qwen2、Qwen2.5到Qwen3(融合了chat和推理)、Qwen3 MoE
前言
昨天晚上,我在朋友圈看到一在理想汽车做自驾的朋友,转发了一篇文章《硅谷换血:大模型时代为何华人取代了印度工程师?》
看完后,发表了下感想
- TOP级别的研究型人才 科研型人才依然十分稀缺
整个中国在具身层面的创新创造能力需要国内更多院校 公司的不断努力
以PI为代表的美国公司,依然引领世界前沿
中国依然处在努力追赶的境地,类似23年追赶国外大模型一样 - 大模型对我司「七月在线」而言,是技术/工具
在不断赋能具身智能(就像赋能自动驾驶那样)
未来一两周,准备解读qwen3——之前一直没来得及解读
但在解读Qwen3的过程中,有必要把前几代的模型「Qwen、Qwen1.5、Qwen2、Qwen2.5」都解读一下,于此,最终成了:一文通透Qwen LLM系列
最后,再总结两点
- 在解读一篇篇论文的过程中,我个人的技术能力在不断的与日俱增
- 顺带再强调一下,我司如今虽然侧重:具身智能的场景与定制开发,但我司对大模型的熟练程度和落地开发能力始终保持着高级别
第一部分 从Qwen、Qwen1.5
1.1 23年8月,Qwen推出
1.1.1 Qwen第一代的模型家族
作者使用了包含数万亿tokens的海量数据集对语言模型QWEN进行了预训练,随后,通过SFT和RLHF将QWEN对齐至人类偏好,从而得到了QWEN-CHAT,及其改进版本QWEN-CHAT-RLHF

此外,还基于QWEN并采用类似技术开发了面向编程和数学的专用模型,如CODE-QWEN、CODE-QWEN-CHAT和MATH-QWEN-CHAT
- 其技术报告为:Qwen Technical Report
- 其GitHub地址为:github.com/QwenLM/Qwen
其采用了字节对编码(BPE)作为分词方法,遵循GPT-3.5和GPT-4的做法。我们以开源的快速BPE分词器tiktoken(Jain, 2022)为基础,并选择cl100k base词汇表作为起点
为了提升模型在多语言下游任务,尤其是中文任务中的表现,作者在词汇表中补充了常用的中文字符和词汇,以及其他语言的常用词。此外,参考Touvron等人(2023a;b)的做法,将数字拆分为单个数字。最终词汇表规模约为152K
1.1.2 预训练与上下文长度扩展
// 待更
1.1.3 后训练——对齐:涉及SFT(含数据和训练)、RLHF(含RM和RL)
// 待更
1.2 Qwen1.5:其中的32B版本引入了GQA
24年2月,阿里推出Qwen1.5

- 一开始包括0.5B、1.8B、4B、7B、14B、72B共计6个不同规模的Base和Chat模型, 以及一个MoE模型,上下文长度为32K,同时在在对齐最新的 Qwen1.5 系列时采用了DPO、PPO等技术
其对应的技术blog为:qwenlm.github.io/zh/blog/qwen1.5 - 再后来,千问团队新推出Qwen1.5-32B,引入 GQA(Grouped Query Attention) 降低 KV 缓存,其对应的技术blog为:qwen1.5-32b
关于GQA
如此文所述《一文通透各种注意力:从多头注意力MHA到分组查询注意力GQA、多查询注意力MQA》
多个头会共享一个K或V,则头和Q的个数会大于K V的个数,比如可能8个头下:8个Q、4个K、4个V,即如下图图中所示
// 待更
第二部分 从Qwen2到Qwen2.5
2.1 Qwen2
2.1.1 Qwen2简介:24年6月发布
其对应的技术报告为[Submitted on 15 Jul 2024 (v1), last revised 10 Sep 2024 (this version, v4)]:Qwen2 Technical Report
- 在Qwen2发布之前的几个月,千问团队陆续发布了Qwen系列(Bai等,2023a),并进一步推出了Qwen1.5 (Qwen团队,2024a)
- 与此同时,作者还发布了视觉-语言模型Qwen-VL (Bai等,2023b),并推出了音频-语言模型Qwen-Audio (Chu等,2023)
而本节要介绍的Qwen2是一系列基于Transformer架构(Vaswani等,2017),采用下一个token预测训练的大语言模型。该系列包括
- 基础语言模型,即经过预训练但未对齐人类偏好的基座模型
- 以及指令微调模型
后者通过单轮和多轮指令跟随数据集进行微调,适用于聊天和智能体等场景
本次发布包括四个稠密模型,参数量分别为5亿、15亿、70亿和720亿,以及一个参数量为570亿的专家混合(MoE)模型,其中每个token激活140亿参数
- 所有模型均在一个高质量的大规模数据集上进行了预训练,该数据集包含超过7万亿个token,涵盖广泛的领域和多种语言。与此前版本的Qwen相比,Qwen2涵盖了更广泛的语言数据,显著提升了代码和数学内容的数量与质量。预计这种数据丰富性将提升大语言模型的推理能力
- 在后训练阶段,所有模型都经历了有监督微调和直接偏好优化DPO,通过从人类反馈中学习,使模型更好地符合人类偏好。该过程赋予模型高效遵循指令的能力
且作者遵循 Qwen ,采用基于字节级字节对编码的相同分词器。值得注意的是,该分词器展现出极高的编码效率,其压缩率优于其他替代方案,从而有助于 Qwen2 的多语言能力
所有规模的模型都采用了一个通用词表,该词表包含151,643个常规token和3个控制token。需要注意的是,鉴于分布式训练的需求,实际用于嵌入的词表规模更大
2.1.2 Qwen2的模型架构:分别涉及稠密模型(GQA/SwiGLU/RoPE/RMSNorm)、MoE模型、模型配置(0.5B/1.5B/7B/A14B/72B)
Qwen2 系列本质上是基于 Transformer 架构的大型语言模型,采用带因果掩码的自注意力机制。具体而言,该系列包括4种规模的稠密语言模型以及一种专家混合MoE模型
2.1.2.1 Qwen2稠密模型:GQA/SwiGLU/RoPE/RMSNorm
Qwen2 稠密模型的架构由多个 Transformer 层组成,每一层都配备了因果注意力机制和前馈神经网络FFN
与 Qwen 相比的主要区别如下:
- 分组查询注意
Qwen2采用了分组查询注意力GQA来替代传统的多头注意力MHA
GQA 在推理过程中优化了 KV 缓存的使用,显著提升了吞吐量 - 使用 YARN 的双块注意力机制
为了扩展 Qwen2 的上下文窗口,作者实现了双块注意力机制(DCA,An 等,2024),该方法将长序列分割为可管理长度的块。如果输入能够被一个块处理,DCA 的输出与原始注意力机制相同。否则,DCA 能够有效捕捉块内及块间 token 的相对位置信息,从而提升长上下文的处理能力
此外,还采用了 YARN对注意力权重进行重缩放,以实现更好的长度外推能力
此外,作者借鉴了Qwen的做法,采用SwiGLU作为激活函数,使用旋转位置嵌入RoPE进行位置编码,QKV偏置(Su,2023)用于注意力机制,并采用RMSNorm和预归一化方法以提升训练稳定性
2.1.2.2 Qwen2混合专家模型
Qwen2 MoE 模型的架构与 Qwen1.5-MoE-A2.7B高度相似。作为原始前馈神经网络FFN的替代,MoE FFN 由若干独立的 FFN 组成,每个 FFN 充当一个专家。每个 token 会根据门控网络 G 分配的概率,被路由到特定的专家 进行计算
接下来,咱们将介绍 Qwen2 MoE 的关键设计考量
- 专家粒度 MoE 模型与稠密模型的关键结构差异在于,MoE 层包含多个前馈神经网络(FFN),每个 FFN 作为独立的专家。因此,从稠密架构向 MoE 架构转变的一种直接策略,是将每个专家的参数设置为原始稠密模型中单个 FFN 的参数。例如,从 Mistral-7B转向 Mixtral 8x7B时,每次激活八个专家中的两个
与之不同的是, Qwen2 MoE采用了细粒度专家(Dai 等,2024),即构建更小规模的专家,同时激活更多的专家
在总专家参数量和激活参数量相等的情况下,细粒度专家能够提供更丰富的专家组合。通过利用这些细粒度专家,Qwen2 MoE 能够实现更为多样和动态的专家调度,从而提升整体性能和适应性
当然了,比Qwen2 更早提出的 DeepSeekMoE,早在24年1月便提出了此项创新:细粒度专家分割与共享专家隔离
详见此文《一文速览DeepSeekMoE:从Mixtral 8x7B到DeepSeekMoE(含MoE架构的实现及DS LLM的简介)》
且该文也是了解MoE架构的绝佳之作,推荐
- 专家路由
设计高效的专家路由机制对于提升MoE模型的性能至关重要。近年来,越来越多的研究倾向于在MoE层中集成共享专家与路由专用专家(Rajbhandari等,2022;Dai等,2024)
作者也采用了这一方法,因为它能够让共享专家应用于多种任务,同时将其他专家保留用于特定路由场景下的选择性使用
引入共享与专用专家,为开发MoE路由机制提供了一种更具适应性和效率的方法 - 专家初始化
作者以类似于upcycling(Komatsuzaki 等,2023)的方法初始化专家,利用了稠密模型的权重。相比之下,作者的方法强调细粒度专家之间的多样化,以增强模型的表示广度
给定指定的专家中间层大小hE、专家数量n 以及原始FFN 中间层大小hFFN,FFN会被复制⌈n × hE/hFFN⌉次。这样的复制确保了与指定专家数量的兼容,同时适应任意的专家中间层大小
为了促进每个FFN 副本内部的多样性,参数会沿中间层维度进行洗牌。这保证了每个细粒度专家即使在不同的FFN 副本中也展现出独特的特性
随后,这些专家会从FFN 副本中提取出来,其余的维度则被舍弃。对于每个细粒度专家,其50 % 的参数会被随机重新初始化。该过程为专家初始化引入了额外的随机性,有可能增强模型在训练过程中的探索能力
2.1.2.3 模型配置:0.5B/1.5B/7B/A14B/72B
Qwen2 系列包含五种不同规模的模型,分别为 Qwen2-0.5B、Qwen2-1.5B、Qwen2-7B、Qwen2-57B-A14B 和 Qwen2-72B。表1列出了各模型的超参数及重要信息,例如预训练token数量
// 待更
值得一提的是,Qwen2-57B-A14B 是在 Qwen2-7B 基础上扩展而来。需要注意的是,Qwen2 模型相比 Qwen1.5 模型在每个token的键值KV大小上显著降低。这一特性使得 Qwen2 在长上下文推理任务中具有更低的内存占用优势
2.1.3 预训练:涉及预训练数据、长上下文训练
2.1.3.1 预训练数据
Qwen2模型的预训练涉及开发一个全新、规模庞大且高质量的多语言数据集。与此前Qwen和Qwen1.5模型所用语料库相比,该数据集在多个关键方面提升了预训练数据的规模、质量和多样性:
- 质量提升
过滤算法已通过新增启发式方法和基于模型的方法得到优化,包括利用Qwen模型过滤低质量数据。此外,这些模型还被用于合成高质量的预训练数据 - 数据扩展
相较于 Qwen1.5,作者收集了显著更多高质量的代码、数学及多语种数据,进一步提升了模型在相关领域的能力。此次全新数据集支持约 30 种语言,包括英语、中文、西班牙语、法语、德语、阿拉伯语、俄语、韩语、日语、泰语和越南语等 - 分布改进
为确保模型能够学习到类似于人类学习的分布,作者在缩小版模型上进行实验,以优化来自不同来源和领域的数据混合
基于这些改进,预训练数据从 Qwen1.5中的 3 万亿token扩展到 7 万亿token
- 且除 Qwen2-0.5B 外,所有 Qwen2 密集模型均在包含超过 7 万亿标记的大规模数据集上进行了预训练。Qwen2-0.5B 则使用了包含 12 万亿token的数据集进行预训练
- MoE 模型则在此基础上额外进行了 4.5 万亿标记的预训练,这符合循环利用(upcycling)原则
与之前的 Qwen 模型类似,Qwen2的预训练过程中也融入了高质量的多任务指令数据,以提升模型的上下文学习能力和指令跟随能力
2.1.3.2 长上下文训练
为了提升 Qwen2 的长上下文处理能力
- 作者在预训练的最后阶段将上下文长度从4,096 个 token 扩展到 32,768 个 token。此次扩展还引入了大量高质量、篇幅较长的数据
与此同时,作者将 RoPE 的基频由 10,000 调整为 1,000,000,以优化其在长上下文场景下的性能(Xiong 等, 2023)
——————
啥意思呢,其实我在此文《一文速览Llama 3:从Llama 3的模型架构到如何把长度扩展到100万——基于NTK-aware插值》的「2.1.2 扩展到16K:针对位置编码的base参数(rope_theta)从50万扩大到100万」一节中,早已详细解释过 - 且为了充分发挥模型在长度外推方面的潜力,作者还采用了YARN机制(Peng等,2023)和双分块注意力机制(An等,2024)
这些策略使模型能够处理最长达131,072个token的序列,并在初步实验中表现出极小的困惑度下降,从而保持了高性能
2.1.4 后训练:示范数据/偏好数据(涉及协作数据标注和自动化数据合成)、有监督微调、RLHF
在大规模预训练完成后,作者对 Qwen2 进行了后训练阶段。该过程对于提升其在编程、数学、逻辑推理、指令遵循以及多语言理解等广泛领域的能力至关重要
- 此外,这一阶段还确保模型生成的内容能够与人类价值观相契合,使其具备有用性、诚实性和无害性。与传统方法依赖大量人工监督不同,作者的方法侧重于以最少的人为标注实现可扩展的对齐(Cao 等,2024)
- 具体而言,作者探索了在有监督微调(SFT)和基于人类反馈的强化学习(RLHF)中获取高质量示范和偏好数据的方法,旨在最大限度减少人工标注需求,同时提升数据的质量与可靠性
2.1.4.1 训练后数据
后训练数据主要由两部分组成:示范数据和偏好数据
,其中
表示指令,
表示一个令人满意的回复,
和
是对
的两个回复,且
相比于
是更优选项。集合D 用于SFT,而P 用于RLHF
训练数据的构建包含两个步骤:协作数据标注和自动化数据合成
- 首先,从大规模指令语料库中提取数据本体,获得了一套广泛且多样的高质量指令。这些指令经过系统性增强,以融入更高的复杂性
通过人工标注,作者获得了目标响应及其正负对应项
关于人工标注,通过采用多样化的生成策略以及不同规模的Qwen模型,获取对同一指令的多种response。标注人员根据自身偏好对这些response进行排序,确保最佳response符合既定标准,从而获得演示数据和偏好数据 - 随后,各种自动化对齐策略被应用于代码、数学、指令遵循、创作、角色扮演和安全等领域,以大规模合成人工标注数据
具体而言,包含以下这几点措施
1) 拒绝采样
对于具有明确最终答案的数学或类似任务,采用拒绝采样(Yuan 等,2023)以提升解答质量。LLM被要求针对每条指令生成多个响应,即推理路径。那些能够得出准确结论且被模型认为合理的路径会被保留,作为示范数据。通过对比正确路径与错误路径,生成偏好数据
2) 执行反馈
在编码任务中,LLM被用于生成解决方案及相关测试用例。通过将这些解决方案编译并在测试用例上运行,评估其有效性,从而生成演示和偏好数据
这一方法同样适用于指令遵循的评估(Dong 等,2024)。对于每条带有约束条件的指令,例如长度限制,LLM 还需生成一个 Python 验证函数,以确保响应符合指令要求
3)数据再利用
在文学写作任务中,缺乏专业训练的标注者很难创作出高质量的回应。为了解决这一问题,作者汇集了公共领域中的高质量文学作品,并利用LLM生成不同细致程度的指令。这些指令与原始作品配对,作为示范数据
例如,为了收集具有生动和引人入胜回复的角色扮演数据,作者从如维基百科等知识库获取详细的角色档案,并指示LLMs生成相应的指令和回复(Lu等, 2024b)。这一过程类似于阅读理解任务,确保角色档案的完整性得以保持
4)Constitutional Feedback
Constitutional AI)指的是引导LLM根据预先设定的一系列原则生成回复的过程(Bai 等,2022)。为了确保模型遵循如安全性和价值观等准则,研究人员编制了一份constitution数据集。该数据集明确规定了应当遵守和应当避免的原则,并用于指导LLM生成符合或偏离这些准则的回复,从而为演示和偏好数据提供参考
2.1.4.2 有监督微调
作者汇集了一个包含超过500,000 个示例的广泛指令数据集,涵盖了指令遵循、编程、数学、逻辑推理、角色扮演、多语言和安全等技能
模型经过了两个轮次的微调,序列长度为32,768 个token。为了优化学习,学习率从7 × 10−6 逐步降低到7 × 10−7。为了解决过拟合问题,且应用了0.1 的权重衰减,并将梯度裁剪在最大值1.0
2.1.4.3 基于人类反馈的强化学习,即RLHF
RLHF 训练方案包括两个连续阶段:离线训练和在线训练
- 在离线训练阶段,作者使用预先编译的偏好数据集P,通过直接偏好优化(DPO,Rafailov 等,2023)最大化
和
之间的似然差异
- 在在线训练阶段,模型通过利用奖励模型进行实时反馈,迭代地优化自身表现。具体而言,从当前策略模型中采样多个回复,由奖励模型选出最受偏好和最不受偏好的回复,形成偏好对,在每一轮中用于DPO
此外,作者采用Online MergingOptimizer(Lu 等,2024a)来缓解对齐税alignment tax,即模型生成与人类偏好对齐时所带来的性能下降
2.2 Qwen2.5:18万亿token训练,SFT之外更有多阶段RL训练(离线DPO和在线GRPO)
24年9月,千问团队推出Qwen2.5,开源权重版本涵盖基础模型和指令微调模型,参数规模包括0.5B、1.5B、3B、7B、14B、32B和72B
其对应的技术报告为[Submitted on 19 Dec 2024 (v1), last revised 3 Jan 2025 (this version, v2)]:Qwen2.5 Technical Report
- 预训练方面,作者将高质量预训练数据集的规模从之前的7万亿tokens扩展到18万亿tokens,为常识、专家知识与推理能力奠定了坚实基础
- 在后训练阶段,作者采用了超过100万样本的复杂监督微调SFT,并引入了多阶段强化学习,包括离线学习DPO和在线学习GRPO
后训练技术极大提升了模型对人类偏好的适应性,尤其显著改善了长文本生成、结构化数据分析和指令遵循能力
此外,上一个版本Qwen2 在使用中的若干关键限制已被消除,包括生成长度从 2Ktokens 提升至 8K tokens,对结构化输入输出(如表格和 JSON)的支持更好,以及工具使用更加便捷。且,Qwen2.5-Turbo 支持最长达 100 万 tokens 的上下文长度
2.2.1 Qwen2.5的架构(GQA/SwiGLU/RoPE)、分词器
Qwen2.5 系列包括面向开源的稠密模型(即 Qwen2.5-0.5B / 1.5B / 3B / 7B / 14B / 32B / 72B),以及面向 API 服务的 MoE 模型(即 Qwen2.5-Turbo 和 Qwen2.5-Plus)
- 对于稠密模型,作者保持了基于Transformer的解码器架构,与Qwen2一致。该架构包含多个关键组件:
分组查询注意力GQA,用于高效的KV缓存利用
SwiGLU激活函数,实现非线性激活
旋转位置嵌入RoPE用于编码位置信息、注意力机制中的QKV偏置(Su, 2023)
以及采用预归一化的RMSNorm(Jiang etal., 2023b),以确保训练过程的稳定性
在密集模型架构的基础上,作者将其扩展到MoE(混合专家)模型架构
具体做法是用专门的MoE层替换标准的前馈网络(FFN)层,每个MoE层由多个FFN专家和一个路由机制组成,该机制将token分配给前K个专家。借鉴Qwen1.5-MoE中的方法,我们实现了细粒度专家划分以及共享专家路由
在分词方面
- 作者采用了Qwen的分词器(Bai等,2023),该分词器实现了字节级的字节对编码(BBPE,Brown等,2020;Wang等,2020;Sennrich等,2016),词表包含151,643个常规词元
- 与以往Qwen版本相比,作者将控制词元的数量从3个扩展到22个,新增了两个用于工具功能的词元,其余则分配给其他模型能力
此次扩展为所有Qwen2.5模型建立了统一的词表,从而提升了一致性并减少了潜在的兼容性问题
2.2.2 Qwen2.5的预训练:涉及预训练数据、超参数的扩展规律、长上下文预训练
2.2.2.1 预训练数据
Qwen2.5 在预训练数据质量方面相比其前身 Qwen2 显著提升。这些改进主要体现在以下几个关键方面:
- 更优的数据过滤——通过Qwen2-Instruct做过滤
高质量的预训练数据对于模型性能至关重要,因此数据质量评估与过滤成为我们流程中的关键环节。作者利用 Qwen2-Instruct 模型作为数据质量过滤器,对训练样本进行全面、多维度的分析与评分。该过滤方法相比于他们在 Qwen2 中采用的先前方法有了显著提升,因为它受益于 Qwen2 在更大规模多语言语料上的扩展预训练
增强后的能力使得质量评估更加细致,从而在多语言环境下实现了高质量训练数据的更好保留,以及低质量样本的更有效过滤 - 更优质的数学与代码数据
在Qwen2.5的预训练阶段,作者引入了Qwen2.5-Math和Qwen2.5-Coder的训练数据
这种数据整合策略极为有效,因为这些专用数据集对于在数学和编程任务上实现业界领先的性能起到了关键作用
通过在预训练过程中利用这些高质量的领域专用数据集,Qwen2.5继承了强大的数学推理和代码生成能力 - 更优质的合成数据
为了生成高质量的合成数据,尤其是在数学、代码和知识领域,作者采用了 Qwen2-72B-Instruct和 Qwen2-Math-72B-Instruct。这些合成数据的质量通过他们自有的通用奖励模型以及专用的 Qwen2-Math-RM-72B模型进行严格筛选,得到了进一步提升 - 更优的数据混合
为了优化预训练数据的分布,作者采用Qwen2-Instruct模型对不同领域的内容进行分类与平衡
作者分析发现,电商、社交媒体和娱乐等领域在网络规模的数据中占比过高,且常常包含重复、模板化或机器生成的内容。相反,技术、科学和学术研究等领域虽然信息质量更高,却长期被低估
通过对过度代表领域的策略性下采样,以及对高价值领域的上采样,以确保训练数据集更加均衡且信息丰富,从而更好地满足模型的学习目标
总之,在这些技术的基础上,作者开发了一个更大且质量更高的预训练数据集,将用于 Qwen2的 7 万亿token扩展到了 18 万亿token
2.2.2.2 长上下文预训练
- 为了实现最佳的训练效率,Qwen2.5 采用了两阶段预训练方法:
初始阶段使用 4,096 个 token 的上下文长度,随后在扩展阶段处理更长的序列。按照 Qwen2 的策略,在最终预训练阶段将上下文长度从 4,096 扩展到 32,768 个 token——除 Qwen2.5-Turbo 外的所有模型变体均适用
同时,采用 ABF 技术(Xiong 等,2023),将 RoPE 的基频从 10,000 提升至 1,000,000 - 对于Qwen2.5-Turbo,作者在训练过程中采用了渐进式上下文长度扩展策略,分四个阶段推进:32,768个token、65,536个token、131,072个token,最终达到262,144个token,RoPE基频设置为10,000,000
在每个阶段,作者精心筛选训练数据,确保40%的序列为当前最大长度,60%为较短序列。这种渐进式训练方法能够让模型平滑适应不断增长的上下文长度,同时保持其对不同长度序列的高效处理与泛化能力
为了提升我们模型在推理阶段处理更长序列的能力,作者采用了两项关键策略:YARN和双块注意力(DCA,An等,2024)
通过这些创新,将序列长度容量提升了四倍,使Qwen2.5-Turbo能够处理多达100万tokens,其它模型也可处理高达131,072个tokens
值得注意的是,这些方法不仅通过降低困惑度提升了长序列建模能力,还保持了模型在短序列上的优异表现,从而确保在不同输入长度下始终如一的质量
2.2.3 Qwen2.5的后训练:SFT、离线RL、在线RL、长下文微调
与 Qwen 2 相比,Qwen 2.5 在后训练设计上引入了两项重要进步
- 扩展的有监督微调数据覆盖范围:有监督微调过程利用了包含数百万高质量样本的海量数据集。此次扩展特别针对前一版本模型存在局限性的关键领域进行改进,例如长序列处理、数学问题求解、编程、指令遵循、结构化数据理解、逻辑推理、跨语言迁移以及稳健的系统指令
- 双阶段强化学习:Qwen 2.5 的强化学习RL过程分为两个独立阶段:离线强化学习和在线强化学习
- 离线强化学习:该阶段侧重于培养奖励模型难以评估的能力,如推理、事实性和指令遵循。通过精心构建和验证训练数据,作者确保离线强化学习信号既可学习又可靠——Self-Steering Optimization: Autonomous Preference Optimization for Large Language Models,这篇论文提出了一种名为“Self-Steering Optimization (SSO)”的方法,用于提升大语言模型在复杂任务中的对齐能力,特别是在推理、事实性和指令遵循等方面的表现
从而使模型能够有效地掌握这些复杂技能- 在线强化学习:在线强化学习阶段利用奖励模型检测输出质量细微差别的能力,包括真实性、有用性、简洁性、相关性、安全性以及去偏见能力。该阶段使模型能够生成精准、连贯且结构良好的回复,同时确保安全性和可读性
因此,模型的输出始终能够满足人类的质量标准和期望
2.2.3.1 监督微调
作者构建了一个包含超过100万条SFT样本的数据集。模型在序列长度为32,768个token的条件下进行了两轮微调。为优化学习过程,学习率由逐步降低至
。为防止过拟合,作者采用了0.1的权重衰减,并将梯度范数裁剪到最大值1.0
2.2.3.2 离线强化学习DPO
与在线强化学习(RL)相比,离线RL 能够预先准备训练信号,这对于那些存在标准答案但难以通过奖励模型进行评估的任务尤其有利
在本研究中,作者关注于诸如数学、编程、指令遵循和逻辑推理等客观查询领域,在这些领域中获得准确评估可能较为复杂
- 在前一阶段,我们广泛采用了执行反馈和答案匹配等策略,以确保回复的质量。在当前阶段,作者复用该流程,使用SFT 模型对新一组查询进行回复重采样。通过作者质量检查的回复被用作正例,而未通过的回复则作为直接偏好优化(DPO)训练的负例
- 为了进一步提升训练信号的可靠性和准确性,作者结合了人工与自动化的审核流程(Cao 等,2024)
这种双重方法确保了训练数据不仅可供学习,同时也符合人类的期望
最终,我们构建了一个约包含150,000 对训练样本的数据集。随后,模型使用在线合并优化器(Lu 等,2024a)以学习率7 × 10−7 进行一次轮次的训练
2.2.3.3 在线强化学习GRPO
用于训练奖励模型的查询来自两个不同的数据集:公开的开源数据和一个具有更高复杂度的专有查询集。回复由Qwen模型在不同训练阶段使用SFT、DPO和RL等不同方法微调后的检查点生成
为引入多样性,这些回复在不同温度设置下进行采样。偏好对由人工和自动标注过程共同创建,DPO的训练数据也被整合进该数据集中
在作者的在线强化学习(RL)框架中,他们采用了群体相对策略优化GRPO
- 用于训练奖励模型的查询集与 RL 训练阶段所用的查询集相同。训练过程中查询的处理顺序由奖励模型评估的响应分数方差决定
- 具体而言,响应分数方差较高的查询会被优先处理,以确保更有效的学习。作者为每个查询采样 8 个响应。所有模型均以 2048 的全局批量大小进行训练,每个训练轮次包含 2048 个样本,将一对查询和响应视为一个样本
关于GRPO,详见此文《一文通透GRPO——通俗理解群体相对策略优化GRPO及其代码实现:去掉价值估计,不用像PPO中复杂的GAE计算》
2.2.3.4 长上下文微调
为了进一步扩展 Qwen2.5-Turbo 的上下文长度,作者在后训练阶段引入了更长的 SFT 示例,使其在处理长查询时能够更好地契合人类偏好
在SFT阶段,采用了两阶段的方法
- 在第一阶段,模型仅使用包含最多32,768个token的短指令进行微调。本阶段所用的数据和训练步骤与其他Qwen2.5模型保持一致,从而保证了模型在短任务上的强劲表现
- 在第二阶段,微调过程结合了短指令(最多32,768个token)和长指令(最多262,144个token)。这种混合方法有效提升了模型在长上下文任务中的指令遵循能力,同时保持了其在短任务上的性能
在强化学习(RL)阶段,作者采用了与其他 Qwen2.5 模型类似的训练策略,仅专注于短指令。这一设计选择主要基于两个原因:
- 首先,对于长上下文任务而言,RL 训练的计算成本非常高
- 其次,目前能够为长上下文任务提供合适奖励信号的奖励模型仍然稀缺。此外,作者还发现,仅在短指令上应用 RL 也能显著提升模型在长上下文任务中对人类偏好的对齐效果
第三部分 Qwen3
3.1 Qwen3的模型架构
Qwen3 系列包括 6 个稠密模型,分别为
- Qwen3-0.6B
- Qwen3-1.7B
- Qwen3-4B
- Qwen3-8B
- Qwen3-14B
- Qwen3-32B
其中,Qwen3-1.7B/4B/8B/14B/32B-Base 分别实现了与Qwen2.5-3B/7B/14B/32B/72B-Base 相当的性能
以及 2 个 MoE 模型
- Qwen3-30B-A3B
Qwen3 MoE基础模型仅激活1/5参数时即可达到与Qwen3稠密基础模型相似的性能 - Qwen3-235B-A22B
其中旗舰模型Qwen3-235B-A22B 拥有总计 2350 亿参数,激活参数为 220 亿
且作者宣称,Qwen3-235B-A22B-Base在15项评测基准中的14项超越了DeepSeek-V3-Base,且总参数量仅为其约1/3,激活参数为其约2/3
3.1.1 Qwen3 稠密模型的架构
Qwen3 稠密模型的架构与 Qwen2.5相似,包括采用
- 分组查询注意力
- SwiGLU
- 旋转位置嵌入
- 以及带有预归一化的 RMSNorm
- 此外,移除了 Qwen2中使用的 QKV-bias,并在注意力机制中引入了 QK-Norm——Query-Key Normalization for Transformers,以保证 Qwen3 的训练稳定性
模型架构的关键信息见表 1

3.1.2 Qwen3 MoE模型的架构
至于模型结构上,Qwen3 MoE 模型与 Qwen3 稠密模型采用相同的基本架构。模型架构的关键信息见表2

作者遵循 Qwen2.5-MoE的方案,并实现了细粒度专家分割
- Qwen3 MoE 模型共有 128 个专家,每个 token 激活 8 个专家
- 与 Qwen2.5-MoE 不同,Qwen3-MoE 设计中不包含共享专家
- 此外,作者采用了全局批次负载均衡损失(Qiu 等,2025),以促进专家的专业化
此外,Qwen3 模型采用了 Qwen 的分词器,该分词器实现了字节级字节对编码(BBPE,Brown 等,2020;Wang 等,2020;Sennrich 等,2016),词汇表规模为 151,669
3.2 Qwen3的预训练
3.2.1 预训练数据
与 Qwen2.5相比,作者大幅扩展了训练数据的规模和多样性
- 具体而言,作者收集的预训练token数量是原来的两倍,涵盖的语言数量是原来的三倍
所有 Qwen3 模型均在包含 119 种语言和方言的大规模多样化数据集上进行训练,总计 36 万亿个标记。该数据集包含了多种高质量内容:涵盖编程、STEM(科学、技术、工程和数学)、推理任务、书籍、多语种文本以及合成数据等领域 - 为了进一步扩展预训练数据语料库
作者首先利用 Qwen2.5-VL 模型对大量类 PDF 文档进行文本识别。随后,识别得到的文本通过 Qwen2.5 模型进行精细化处理,以提升其质量
通过这一两步流程,能够获得额外的一组高质量文本token,总量达数万亿 - 此外,作者还采用 Qwen2.5、Qwen2.5-Math和 Qwen2.5-Coder模型,合成了数万亿个不同格式的文本token,包括教科书、问答、指令和代码片段,覆盖数十个领域
- 最后,作者通过引入更多多语种数据和新增语言,进一步扩展了预训练语料库
与 Qwen2.5 所用的预训练数据相比,支持的语言数量已从 29 种大幅提升至 119 种,显著增强了模型的语言覆盖范围和跨语种能力
且作者开发了一套多语言数据标注系统,旨在提升训练数据的质量和多样性。该系统已应用于作者的超大规模预训练数据集,对超过30万亿个token进行了多维度标注,包括教育价值、领域、专业方向及安全性等,这些详尽的标注有助于实现更有效的数据筛选与组合
总之,与以往研究(Xie 等,2023;Fan 等, 2023;Liu 等, 2024b)在数据源或领域层面优化数据混合方式不同,作者的方法通过在小型代理模型上结合细粒度数据标签进行大规模消融实验,实现了实例级的数据混合优化
3.2.2 预训练阶段(三阶段):通用、推理、长上下文
Qwen3 模型通过三个阶段的流程进行预训练:
- 通用阶段(S1)
在第一个预训练阶段,所有 Qwen3 模型均在超过 30 万亿个token上进行训练,序列长度为 4,096 个token
在该阶段,模型已在语言能力和通用世界知识上进行了充分的预训练,训练数据覆盖了 119 种语言和方言 - 推理阶段(S2)
为进一步提升推理能力,作者通过增加STEM、编程、推理及合成数据的比例,优化了本阶段的预训练语料库。模型在序列长度为4,096的情况下,进一步使用约5T更高质量的tokens进行预训练
同时,在该阶段加快了学习率的衰减速度 - 长上下文阶段
在最终的预训练阶段,作者收集了高质量的长上下文语料,以扩展Qwen3模型的上下文长度。所有模型均在数千亿个token上进行预训练,序列长度为32,768个token
长上下文语料中,75%的文本长度在16,384到32,768个token之间,25%的文本长度在4,096到16,384之间
按照Qwen2.5的方法,作者采用了ABF技术(Xiong等,2023),将RoPE的基础频率从10,000提升至1,000,000
——
大家不用对这个ABF技术赶到陌生,其实就是上面提到的NTK-aware,修改基频
那为何交ABF,而不叫NTK呢,原因也很简单
即如此文中《大模型长度扩展综述:从直接外推ALiBi、插值PI、NTK-aware插值(Meta称之为RoPE ABF)、YaRN到S2-Attention》所讲的
Meta在LLaMA2 Long这篇论文《Effective Long-Context Scaling of Foundation Models》中,将NTK-RoPE称为RoPE-ABF(Adjusted Base Frequency)
————————————
同时,引入了YARN和Dual Chunk Attention(DCA,An等,2024),在推理过程中实现了序列长度容量的4倍提升
类似于Qwen2.5,作者针对上述三个预训练阶段,制定了用于预测最优超参数(如学习率调度器和批量大小)的缩放定律
通过大量实验,作者系统性地研究了模型结构、训练数据、训练阶段与最优训练超参数之间的关系。最终,为每个稠密模型或MoE模型设定了预测得到的最优学习率和批量大小策略
3.3 Qwen3的后训练:4阶段训练流程(长链式思维冷启动/推理RL/模式融合/通用RL)、强到弱蒸馏
Qwen3 的后训练流程经过战略性设计,旨在实现两个核心目标:
- 思维控制:该目标包括集成两种不同模式,即“非思考”模式和“思考”模式,使用户能够灵活选择模型是否进行推理,并通过为思考过程指定 token 配额来控制思考的深度
- 强到弱蒸馏:该方法旨在简化和优化轻量级模型的后训练过程。通过利用大规模模型的知识,显著降低了构建小规模模型所需的计算成本和开发工作量
如图1所示,Qwen3系列的旗舰模型采用了复杂的4阶段训练流程

- 前两个阶段侧重于培养模型的“思考”能力,接下来的两个阶段则旨在将强大的“非思考”功能融入模型中
- 初步实验表明,直接将教师模型的输出logits蒸馏到轻量级学生模型中,可以在保持对推理过程精细控制的同时,有效提升学生模型的性能。这一方法无需对每个小规模模型单独进行繁琐的四阶段训练流程
实验结果显示,该方法能带来更优的即时性能(如更高的Pass@1分数),同时也提升了模型的探索能力(体现在Pass@64结果的提升)。此外,该方法在训练效率上具有显著优势,仅需四阶段训练方法1/10的GPU时长即可实现上述性能提升
在接下来的章节中,将介绍4阶段训练流程,并详细解释强到弱蒸馏方法
3.3.1 后训练阶段一:长链式思维冷启动
作者首先整理了一个涵盖广泛类别的综合数据集,包括数学、代码、逻辑推理以及通用STEM问题。数据集中的每个问题都配有经过验证的参考答案或基于代码的测试用例。该数据集为长链式思维(long-CoT)训练的“冷启动”阶段奠定了基础
数据集的构建包括严格的两阶段筛选流程:
- 查询query筛选
在查询筛选阶段,使用 Qwen2.5-72B-Instruct 来识别并剔除那些不易验证的查询。这类查询包括包含多个子问题的查询,或是要求生成通用文本的查询
此外,还排除那些 Qwen2.5-72B-Instruct 无需借助 CoT 推理即可正确回答的查询。这一做法有助于防止模型依赖表面猜测,并确保只纳入需要更深入推理的复杂问题
此外,还利用 Qwen2.5-72B-Instruct 对每个查询的领域进行标注,以保持数据集中各领域的均衡分布 - 响应response筛选
在保留验证查询集后,作者使用QwQ-32B为每个剩余查询生成N个候选响应
当QwQ-32B持续无法生成正确解答时,由人工标注员手动评估响应的准确性。对于Pass@N为正的查询,作者进一步应用严格的筛选标准,去除以下类型的响应:
1) 得出错误最终答案的
2) 存在大量重复内容的
3) 明显为猜测且缺乏充分推理的
4) 思路与总结内容不一致的
5) 存在不当语言混用或文体突变的
或(6) 疑似与潜在验证集样本过于相似的
随后,从经过精细筛选的数据集中,选取一部分用于推理模式的初始冷启动训练
该阶段的目标是在模型中植入基础推理模式,而不过度强调即时推理表现。此方法确保模型潜力不受限制,从而在后续强化学习RL阶段具有更大的灵活性和提升空间
为有效实现这一目标,建议在准备阶段尽量减少训练样本数量和训练步数
3.3.2 后训练阶段二:推理型强化学习Reasoning RL
在推理型强化学习阶段所用的查询-验证器对需满足以下四项标准:
- 这些对未在冷启动阶段使用过
- 对于冷启动模型来说是可学习的
- 尽可能具有挑战性
- 涵盖广泛的子领域
最终共收集了3,995组查询-验证器对(query-verifier pairs),并采用GRPO来更新模型参数
作者观察到,在训练过程中,采用较大的批量大小和针对每个查询执行较多次rollout,以及结合离策略训练以提升样本效率,均有助于模型训练
此外,作者还通过控制模型的熵值,使其逐步增加或保持稳定,从而有效平衡了探索与稳定性
因此,在单次强化学习运行过程中,无需对超参数进行人工干预,就能在训练奖励和验证性能上实现持续提升。例如,Qwen3-235B-A22B 模型的 AIME’24 得分在总共 170 个 RL 训练步骤中从 70.1 提升到了 85.1
3.3.3 后训练阶段三:思维模式融合
思维模式融合阶段的目标是将“非思维”能力整合到先前开发的“思维”模型中。该方法使开发者能够管理和控制推理行为,同时减少分别部署思维与非思维任务模型的成本与复杂性
为此,作者对推理RL模型持续进行有监督微调SFT,并设计了一个对话模板以融合两种模式
- SFT数据的构建
SFT数据集结合了“思考型”和“非思考型”数据。为了确保第二阶段模型的性能不因额外的SFT数据而受损,“思考型”数据通过在第一阶段查询上,利用第二阶段模型自身进行拒绝采样生成
而“非思考型”数据则经过精心筛选,涵盖了多种任务类型,包括编程、数学、指令跟随、多语言任务、创意写作、问答和角色扮演
此外,作者还采用自动生成的检查清单来评估“非思考型”数据的响应质量
为了提升低资源语言任务的表现,作者还特别增加了翻译任务的比例 - 聊天模板设计
为了更好地融合两种模式,并使用户能够动态切换模型的思维过程,作者为Qwen3 设计了聊天模板,如表9所示
具体而言,对于思维模式和非思维模式的样本,作者分别在用户查询或系统消息中引入 /think 和 /no think 标志。这使得模型能够根据用户的输入选择相应的思维模式
对于非思维模式的样本,作者在助手的回复中保留一个空的思维块。该设计确保了模型内部格式的一致性,并允许开发者通过在聊天模板中拼接空的 think块来阻止模型进入思维行为
默认情况下,模型以思维模式运行
因此,作者在训练中添加了一些用户查询未包含 /think 标志的思维模式样本。对于更复杂的多轮对话,作者会随机在用户查询中插入多个 /think 和 /no think 标志,模型的回复则遵循最后出现的标志 - 思考预算
思维模式融合的另一个优点是,一旦模型学会在非思考和思考两种模式下进行响应,它就自然具备了处理中间情况的能力——即在不完全思考的情况下生成响应
这一能力为在模型的思考过程中实现预算控制奠定了基础
具体来说,当模型的思考长度达到用户设定的阈值时,作者会手动中止思考过程,并插入停止思考的指令:” 考虑到用户时间有限,我现在必须直接根据已有思考给出解决方案。\n < / think>. \n\n′′
插入该指令后,模型将基于到目前为止累积的推理生成最终响应。值得注意的是,这种能力并不是通过显式训练获得的,而是作为应用思维模式融合的自然结果出现的
3.3.4 后训练阶段四:通用强化学习
通用强化学习阶段旨在全面提升模型在多种场景下的能力和稳定性。为此,作者建立了一个复杂的奖励系统,涵盖了20多项不同任务,每项任务都配有定制的评分标准。这些任务专门针对以下核心能力的提升
- 指令遵循:此功能确保模型能够准确理解并执行用户指令,包括内容、格式、长度以及结构化输出等方面的要求,从而生成符合用户期望的响应
- 格式遵循:除了明确的指令外,还期望模型遵守特定的格式规范。例如,模型应根据 /think 和 /no think 标志在思考模式与非思考模式之间切换,并始终使用指定的标记(如 和 )在最终输出中分隔思考部分与回复部分
- 偏好对齐:对于开放式查询,偏好对齐旨在提升模型的有用性、互动性和表达风格,从而为用户带来更自然、更令人满意的体验
- 智能体能力:这包括通过指定接口训练模型正确调用工具。在强化学习(RL)推理过程中,允许模型与真实环境进行完整的多轮交互,并获得执行反馈,从而提升其在长时序决策任务中的表现和稳定性
- 专业场景能力:在更为专业的场景中,作者会设计针对特定环境的任务。例如,在检索增强生成(RAG)任务中,引入奖励信号,引导模型生成准确且符合上下文的响应,从而最大程度地降低幻觉风险
为了对上述任务提供反馈,作者采用了三种不同类型的奖励:
- 基于规则的奖励
基于规则的奖励在推理型强化学习阶段被广泛应用,同时也适用于如指令遵循(Lambert 等,2024)和格式规范等通用任务。精心设计的基于规则的奖励可以高精度地评估模型输出的正确性,有效防止奖励劫持等问题 - 基于模型的参考答案奖励
在该方法中,作者为每个查询提供一个参考答案,并提示 Qwen2.5-72B-Instruct 根据该参考答案对模型的回复进行评分。这种方法能够更灵活地处理多样化任务,无需严格的格式要求,避免了纯规则奖励可能出现的误报情况 - 基于模型的奖励无需参考答案
利用人类偏好数据,训练一个奖励模型,为模型回复分配标量分数。这种方法不依赖于参考答案,能够处理更广泛的问题类型,同时有效提升模型的互动性和有用性
3.3.5 强到弱蒸馏
强到弱蒸馏流程专为优化轻量级模型而设计,涵盖了5个稠密模型(Qwen3-0.6B、1.7B、4B、8B 和 14B)以及一个MoE模型(Qwen3-30B-A3B)。该方法不仅提升了模型性能,还有效赋予了模型强大的模式切换能力
整个蒸馏过程分为两个主要阶段:
- 离策略蒸馏:在初始阶段,作者结合了以think和no think模式生成的教师模型输出,进行响应蒸馏。这样有助于轻量级学生模型培养基本的推理能力,以及在不同思维模式之间切换的能力,为后续的在策略训练阶段打下坚实基础
- On-policy 蒸馏:在该阶段,学生模型生成 on-policy 序列用于微调
具体来说,先采样提示词,然后学生模型以 think 或 no think 模式生成响应
接着,通过将学生模型的 logits 与教师模型(Qwen3-32B 或 Qwen3-235B-A22B)的 logits 对齐,最小化 KL 散度,从而对学生模型进行微调
// 待更
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐




所有评论(0)