原文This repo contains the instruction-tuned 0.5B Qwen2.5 model, which has the following features:Type: Causal Language ModelsTraining Stage: Pretraining Post-trainingArchitecture: transformers with RoPE, SwiGLU, RMSNorm, Attention QKV bias and tied word embeddingsNumber of Parameters: 0.49BNumber of Paramaters (Non-Embedding): 0.36BNumber of Layers: 24Number of Attention Heads (GQA): 14 for Q and 2 for KVContext Length: Full 32,768 tokens and generation 8192 tokensFor more details, please refer to our blog, GitHub, and Documentation.5 个组件文章目录原文5 个组件1. RoPE (Rotary Positional Embedding)2. SwiGLU (Swish-Gated Linear Unit)3. RMSNorm (Root Mean Square Layer Normalization)4. Attention QKV Bias5. Tied Word Embeddings (权重共享)总结对比表结论与所熟知的“原始” Transformer即 2017 年《Attention Is All You Need》中的标准架构相比Qwen2.5 使用的这 5 个组件都有显著不同或增强。但这并不意味着“标准 Transformer”不能用这些而是说这些组件代表了现代高性能 LLM 的工业标准配置它们解决了标准 Transformer 在深度训练稳定性、计算效率和大模型扩展性上的痛点。下面逐一解析这五个模块与原始 Transformer的区别1. RoPE (Rotary Positional Embedding)原始 Transformer: 使用绝对位置编码Absolute Positional Encoding。直接给每个位置的向量加上一个固定的正弦/余弦向量。这种编码方式难以处理训练长度和推理长度不一致的情况也不具备良好的外推性。Qwen2.5 (RoPE): 使用旋转位置编码。它将位置信息编码为旋转矩阵使得向量之间的相对位置关系能够被模型更好地捕捉。优势: 支持更好的长上下文外推Extrapolation即训练时看 32k推理时看 128k 效果衰减较小符合物理直觉相对距离不变。2. SwiGLU (Swish-Gated Linear Unit)原始 Transformer: 使用标准的前馈神经网络FFN结构通常是Linear - ReLU/GELU - Linear。也就是两层全连接层中间夹一个激活函数。Qwen2.5 (SwiGLU): 使用了门控线性单元结构。标准 FFN:W 2 ⋅ GELU ( W 1 ⋅ x ) W_2 \cdot \text{GELU}(W_1 \cdot x)W2⋅GELU(W1⋅x)SwiGLU FFN:W 2 ⋅ Swish ( W 1 ⋅ x ) ⊙ ( W 3 ⋅ x ) W_2 \cdot \text{Swish}(W_1 \cdot x) \odot (W_3 \cdot x)W2⋅Swish(W1⋅x)⊙(W3⋅x)注意它多了一个投影矩阵W 3 W_3W3并且激活函数变成了 Swish或 SiLU。优势: 研究表明SwiGLU 在大规模预训练中的表现显著优于标准的 GELU/ReLU FFN能带来更高的参数量利用率。3. RMSNorm (Root Mean Square Layer Normalization)原始 Transformer:没有明确的 LayerNorm 标准化步骤原始论文中在 Encoder/Decoder 内部使用了残差连接后的标准化但在后续演进中 LayerNorm 成为标配。即使后来引入了 LayerNorm它也是减去均值并除以标准差。Qwen2.5 (RMSNorm): 使用 RMSNorm。它去掉了 LayerNorm 中的“减去均值”这一步只除以均方根Root Mean Square。公式差异: LayerNorm 计算μ \muμ和σ \sigmaσRMSNorm 只计算1 n ∑ x i 2 \sqrt{\frac{1}{n}\sum x_i^2}n1∑xi2。优势: 计算更简单、更快少了一次减法运算且在现代大模型中证明效果与 LayerNorm 相当甚至更好尤其在深层网络中更稳定。4. Attention QKV Bias原始 Transformer: 在 Multi-Head Attention 的 Query, Key, Value 线性变换中通常不使用 Bias。原始论文为了保持注意力机制的平移不变性和计算简洁性去掉了 Bias。Qwen2.5 (QKV Bias): 在生成 Q、K、V 的线性层中加入了 Bias。优势: 对于某些模型架构和训练策略加入 Bias 有助于模型更快地收敛或者在微调阶段提供额外的表达能力。虽然理论上注意力机制对 Bias 不敏感但在实际大模型训练中这是一个常见的工程优化选择。5. Tied Word Embeddings (权重共享)原始 Transformer:输出层的权重矩阵与输入的词嵌入Embedding矩阵是共享的。即如果你有一个V × d V \times dV×d的词嵌入矩阵输出层也是用这个矩阵的转置来映射回词汇表。Qwen2.5:也使用了 Tied Embeddings。优势: 可以大幅减少参数量。对于较小的模型如 0.5B, 1.5B嵌入层的参数量占比很高共享权重可以节省约 10%-20% 的总参数量同时保持性能。这也是为什么你的文档中提到“Number of Paramaters: 0.49B”但“Non-Embedding: 0.36B”说明嵌入层占了约 0.13B 的参数。总结对比表模块原始 Transformer (2017)Qwen2.5 / 现代 LLM 标准主要改进目的位置编码绝对位置编码 (Sin/Cos)RoPE更好的长文本外推性、相对位置感知FFN 激活GELU / ReLU (全连接)SwiGLU(门控)更强的非线性表达能力、训练更稳定层归一化(原始无后期加 LayerNorm)RMSNorm计算更快、内存占用更少、深层训练更稳Attention Bias无 Bias有 QKV Bias微调灵活性、潜在的性能微调增益Embedding 权重共享(Tied)共享(Tied)节省参数对小模型尤其重要结论看到的这些配置实际上是当前最先进的开源大语言模型如 Llama 3, Qwen, Mistral 等的标准技术栈。它们不是“错误”而是经过多年实践验证的最优解组合。如果你是在复现或对比实验直接使用这些现代组件通常会比“原始 Transformer”获得更好的效果尤其是对于小参数模型如 0.5B而言SwiGLU 和 RMSNorm 的贡献尤为关键。
【Qwen2.5】采用 RoPE、SwiGLU、RMSNorm、Attention QKV bias 和 tied word embeddings 的 transformers 结构
原文This repo contains the instruction-tuned 0.5B Qwen2.5 model, which has the following features:Type: Causal Language ModelsTraining Stage: Pretraining Post-trainingArchitecture: transformers with RoPE, SwiGLU, RMSNorm, Attention QKV bias and tied word embeddingsNumber of Parameters: 0.49BNumber of Paramaters (Non-Embedding): 0.36BNumber of Layers: 24Number of Attention Heads (GQA): 14 for Q and 2 for KVContext Length: Full 32,768 tokens and generation 8192 tokensFor more details, please refer to our blog, GitHub, and Documentation.5 个组件文章目录原文5 个组件1. RoPE (Rotary Positional Embedding)2. SwiGLU (Swish-Gated Linear Unit)3. RMSNorm (Root Mean Square Layer Normalization)4. Attention QKV Bias5. Tied Word Embeddings (权重共享)总结对比表结论与所熟知的“原始” Transformer即 2017 年《Attention Is All You Need》中的标准架构相比Qwen2.5 使用的这 5 个组件都有显著不同或增强。但这并不意味着“标准 Transformer”不能用这些而是说这些组件代表了现代高性能 LLM 的工业标准配置它们解决了标准 Transformer 在深度训练稳定性、计算效率和大模型扩展性上的痛点。下面逐一解析这五个模块与原始 Transformer的区别1. RoPE (Rotary Positional Embedding)原始 Transformer: 使用绝对位置编码Absolute Positional Encoding。直接给每个位置的向量加上一个固定的正弦/余弦向量。这种编码方式难以处理训练长度和推理长度不一致的情况也不具备良好的外推性。Qwen2.5 (RoPE): 使用旋转位置编码。它将位置信息编码为旋转矩阵使得向量之间的相对位置关系能够被模型更好地捕捉。优势: 支持更好的长上下文外推Extrapolation即训练时看 32k推理时看 128k 效果衰减较小符合物理直觉相对距离不变。2. SwiGLU (Swish-Gated Linear Unit)原始 Transformer: 使用标准的前馈神经网络FFN结构通常是Linear - ReLU/GELU - Linear。也就是两层全连接层中间夹一个激活函数。Qwen2.5 (SwiGLU): 使用了门控线性单元结构。标准 FFN:W 2 ⋅ GELU ( W 1 ⋅ x ) W_2 \cdot \text{GELU}(W_1 \cdot x)W2⋅GELU(W1⋅x)SwiGLU FFN:W 2 ⋅ Swish ( W 1 ⋅ x ) ⊙ ( W 3 ⋅ x ) W_2 \cdot \text{Swish}(W_1 \cdot x) \odot (W_3 \cdot x)W2⋅Swish(W1⋅x)⊙(W3⋅x)注意它多了一个投影矩阵W 3 W_3W3并且激活函数变成了 Swish或 SiLU。优势: 研究表明SwiGLU 在大规模预训练中的表现显著优于标准的 GELU/ReLU FFN能带来更高的参数量利用率。3. RMSNorm (Root Mean Square Layer Normalization)原始 Transformer:没有明确的 LayerNorm 标准化步骤原始论文中在 Encoder/Decoder 内部使用了残差连接后的标准化但在后续演进中 LayerNorm 成为标配。即使后来引入了 LayerNorm它也是减去均值并除以标准差。Qwen2.5 (RMSNorm): 使用 RMSNorm。它去掉了 LayerNorm 中的“减去均值”这一步只除以均方根Root Mean Square。公式差异: LayerNorm 计算μ \muμ和σ \sigmaσRMSNorm 只计算1 n ∑ x i 2 \sqrt{\frac{1}{n}\sum x_i^2}n1∑xi2。优势: 计算更简单、更快少了一次减法运算且在现代大模型中证明效果与 LayerNorm 相当甚至更好尤其在深层网络中更稳定。4. Attention QKV Bias原始 Transformer: 在 Multi-Head Attention 的 Query, Key, Value 线性变换中通常不使用 Bias。原始论文为了保持注意力机制的平移不变性和计算简洁性去掉了 Bias。Qwen2.5 (QKV Bias): 在生成 Q、K、V 的线性层中加入了 Bias。优势: 对于某些模型架构和训练策略加入 Bias 有助于模型更快地收敛或者在微调阶段提供额外的表达能力。虽然理论上注意力机制对 Bias 不敏感但在实际大模型训练中这是一个常见的工程优化选择。5. Tied Word Embeddings (权重共享)原始 Transformer:输出层的权重矩阵与输入的词嵌入Embedding矩阵是共享的。即如果你有一个V × d V \times dV×d的词嵌入矩阵输出层也是用这个矩阵的转置来映射回词汇表。Qwen2.5:也使用了 Tied Embeddings。优势: 可以大幅减少参数量。对于较小的模型如 0.5B, 1.5B嵌入层的参数量占比很高共享权重可以节省约 10%-20% 的总参数量同时保持性能。这也是为什么你的文档中提到“Number of Paramaters: 0.49B”但“Non-Embedding: 0.36B”说明嵌入层占了约 0.13B 的参数。总结对比表模块原始 Transformer (2017)Qwen2.5 / 现代 LLM 标准主要改进目的位置编码绝对位置编码 (Sin/Cos)RoPE更好的长文本外推性、相对位置感知FFN 激活GELU / ReLU (全连接)SwiGLU(门控)更强的非线性表达能力、训练更稳定层归一化(原始无后期加 LayerNorm)RMSNorm计算更快、内存占用更少、深层训练更稳Attention Bias无 Bias有 QKV Bias微调灵活性、潜在的性能微调增益Embedding 权重共享(Tied)共享(Tied)节省参数对小模型尤其重要结论看到的这些配置实际上是当前最先进的开源大语言模型如 Llama 3, Qwen, Mistral 等的标准技术栈。它们不是“错误”而是经过多年实践验证的最优解组合。如果你是在复现或对比实验直接使用这些现代组件通常会比“原始 Transformer”获得更好的效果尤其是对于小参数模型如 0.5B而言SwiGLU 和 RMSNorm 的贡献尤为关键。