Skip to content

Qwen3.5 架构详解教程 ​

目标 ​

本教程旨在深入讲解 Transformer 架构的核心组件,并以 Qwen3.5 为例,展示这些组件在实际大语言模型中的应用。

内容大纲 ​

章节主题核心内容
0前言教程介绍、背景知识
1MLP前馈网络:ReLU → GeLU → SwiGLU 的演进
2归一化层LayerNorm → RMSNorm,以及 Qwen3.5 的零初始化技巧
3位置编码绝对位置编码 → RoPE 旋转位置编码 → Partial RoPE
4注意力机制MHA → MQA → GQA → MLA 的演进,以及 Qwen3.5 的 Sigmoid Gate
5线性注意力从标准注意力到 O(n) 的 Gated DeltaNet
6MiniQwen把前 5 章组件组装成完整模型
7预训练(选读)从零训练 MiniQwen 的流程与教学实测
8权重适配加载官方 Qwen3.5 权重到 MiniQwen
9后训练理论SFT/DPO/GRPO/PPO/Thinking/Agentic 的算法原理与教学 demo
10后训练实战用真实 Qwen 权重跑各后训练阶段的代码讲解
11vLLM 原理PagedAttention、Continuous Batching、Prefix Cache 等核心思想
12nano-vllm~1200 行手写 vLLM(参考外部 nano-vllm 项目)
13minivllm适配 MiniQwen 混合架构的推理引擎
14minivllm 评测吞吐、Prefix Cache、正确性、任务效果的评测记录

参考资料 ​

本教程参考以下代码实现:

qwen35-reproduce/
├── reference/                  # 参考资料
│   ├── basic/                  # 基础组件的独立实现
│   │   ├── FFN/                # FFN_ReLU, FFN_GeLU, FFN_SwiGLU
│   │   ├── norm/               # LayerNorm, RMSNorm
│   │   ├── pos_embed/          # 绝对位置编码, 相对位置编码, RoPE
│   │   ├── attention/          # MHA, MQA, GQA, MLA
│   │   ├── MoE/                # MoEGate, MoEFeedForward
│   │   └── notes/              # 笔记
│   └── transformers_source_code/  # HuggingFace Transformers 官方实现
│   │   ├── qwen3/              # Qwen3
│   │   ├── qwen3_5/            # Qwen3.5
│   │   ├── qwen3_next/         # Qwen3-Next
│   │   └── qwen3_vl/           # Qwen3-VL
|   └── nano-vllm/              # nano-vllm
└── miniqwen/                   # Qwen3.5 风格的迷你实现
|   └── model/
|       ├── config.py           # 模型配置
|       ├── rmsnorm.py          # RMSNorm(Qwen3.5 风格)
|       ├── rope.py             # RoPE + Partial RoPE
|       ├── mlp.py              # SwiGLU
|       ├── attention.py        # GQA + Sigmoid Gate
|       ├── deltanet.py         # Gated DeltaNet 线性注意力
|       ├── layer.py            # DecoderLayer
|       └── modeling_miniqwen.py # 完整模型
|── xxx/

Qwen3.5 简介 ​

Qwen3.5 是通义千问团队开发的大语言模型系列,相比前代的核心架构创新:

特性说明
SwiGLU 激活函数替代传统 ReLU FFN,门控机制提升表达能力
RMSNorm替代 LayerNorm,去掉均值中心化,计算更高效
RoPE 旋转位置编码旋转不变性编码相对位置,支持长序列
Partial RoPE只对 head_dim 的前 25% 做 RoPE,其余直通
GQA 分组查询注意力8 个 Q head 共享 2 个 KV head,平衡效率和性能
Sigmoid Gate注意力输出乘以 sigmoid(gate),替代传统的残差直接相加
Gated DeltaNetO(n) 线性注意力,用递归状态矩阵压缩历史信息
混合层布局每 4 层中 3 层用线性注意力 + 1 层用全注意力

本教程仅考虑其中的 文本模型


下一章:1. MLP (前馈网络)