🧩 30章 · 深度拆解
MLP 在 Transformer 中的隐藏设计
📚 从演进到前沿 · 卡片目录
🤖✨
01
Transformer架构概览:从Seq2Seq到Transformer的演进,为什么需要MLP?
Seq2Seq → 注意力 → MLP 关键角色
02
MLP的定位:MLP在Encoder和Decoder中的位置,与Attention模块的关系。
Encoder/Decoder 中的MLP坐标
03
标准MLP结构:两层线性变换 + GELU激活函数,隐藏层维度扩展(4x)。
线性 → GELU → 线性 · 4x 扩展
04
GELU激活函数:GELU的数学原理,与ReLU、Swish的对比,为什么Transformer选它?
高斯误差线性单元 · 平滑激活
05
残差连接与LayerNorm:Pre-LN vs Post-LN,对MLP训练稳定性的影响。
Pre-LN / Post-LN · 训练稳定性
06
MLP的参数量计算:d_model与d_ff的关系,参数量公式推导。
d_model, d_ff · 参数量公式
07
前向传播细节:矩阵乘法、激活函数、Dropout的完整流程。
矩阵乘 · 激活 · Dropout 流程
08
反向传播与梯度:MLP中的梯度流,梯度消失/爆炸的缓解策略。
梯度流 · 消失/爆炸缓解
09
初始化策略:Xavier初始化、Kaiming初始化在MLP中的应用。
Xavier / Kaiming · 初始化
10
权重衰减与正则化:L2正则化对MLP权重的影响,实际调参经验。
L2 · 权重衰减 · 调参
11
Dropout在MLP中:Dropout位置(Attention后?MLP后?),最佳实践。
Dropout 位置 · 最佳实践
12
MLP的变体1:SwiGLU(LLaMA系列),为什么用门控机制?
SwiGLU · 门控 · LLaMA
13
MLP的变体2:GeGLU、ReGLU,不同门控函数的对比。
GeGLU / ReGLU · 门控对比
14
MLP的变体3:Parallel MLP(PaLM),并行计算Attention和MLP。
PaLM · 并行 Attention & MLP
15
MLP的变体4:Gated Attention + MLP融合(GAU),简化架构。
GAU · 门控注意力融合
16
MLP的变体5:MLP-Mixer,纯MLP架构的尝试与局限。
MLP-Mixer · 纯MLP挑战
17
稀疏化MLP:MoE(Mixture of Experts),条件计算与路由机制。
MoE · 条件计算 · 路由
18
MoE的负载均衡:专家容量、辅助损失、Top-K路由。
负载均衡 · 辅助损失 · Top-K
19
MLP的量化:INT8/FP8量化对MLP的影响,量化感知训练。
INT8 / FP8 · 量化感知
20
MLP的剪枝:结构化剪枝与非结构化剪枝,对模型效果的影响。
结构化/非结构化剪枝
21
MLP的蒸馏:知识蒸馏中MLP层的处理,学生模型MLP设计。
知识蒸馏 · 学生MLP
22
MLP与长上下文:MLP在长序列中的计算瓶颈,FlashAttention的配合。
长序列 · FlashAttention
23
MLP的硬件优化:GPU内存带宽瓶颈,算子融合(Fused MLP)。
带宽瓶颈 · Fused MLP
24
MLP的数值精度:混合精度训练(FP16/BF16)对MLP的影响。
混合精度 · FP16/BF16
25
MLP的扩展法则:Scaling Law中MLP的维度增长规律。
Scaling Law · 维度增长
26
MLP与位置编码:RoPE、ALiBi对MLP输入的影响。
RoPE · ALiBi · 位置编码
27
MLP的代码实现:从零实现标准MLP模块(PyTorch)。
PyTorch · 标准MLP实现
28
MLP的调试技巧:梯度检查、激活值分布监控、权重可视化。
梯度检查 · 激活监控
29
MLP的实战调参:学习率、隐藏层维度、层数的选择策略。
学习率 · 维度 · 层数
30
MLP的未来方向:新型激活函数、动态MLP、神经架构搜索。
动态MLP · 激活函数 · NAS