论文解读
深入解析前沿论文的技术细节,帮助理解大模型的核心原理与实现。
01Transformer解读
深入解析Transformer架构的每个组件,理解其设计原理与实现细节。
架构详解
整体结构
Encoder-Decoder结构:N个Encoder层 + N个Decoder层。
原始论文:N=6。 Encoder捕捉输入表示,Decoder生成输出。
Scaled Dot-Product Attention
Attention(Q,K,V) = softmax(QK^T / √d_k) × V
√d_k缩放防止点积过大导致softmax梯度消失。
Feed-Forward Network
FFN(x) = max(0, xW₁ + b₁)W₂ + b₂
两层线性变换,中间使用ReLU。提供非线性能力。
Layer Normalization
两种位置:Post-LN(LayerNorm在残差之后)和Pre-LN(在残差之前)。
Pre-LN更稳定,是现在的主流选择。
训练细节
- 残差连接:每个子层有残差连接,公式:x + Sublayer(x)
- 学习率调度:使用warm-up + 线性衰减
- 正则化:Label Smoothing = 0.1,防止过自信
- 训练数据:WMT 2014英德(450万句子对)
- 硬件:8块P100 GPU,训练12小时
02LLaMA解读
Meta开源的LLaMA系列模型,以较小的参数达到甚至超越大模型效果。
LLaMA架构
基于Transformer改进
在GPT架构基础上做了多项改进:
- Pre-Normalization(Pre-LN)
- SwiGLU激活函数
- Rotary Embeddings(旋转位置编码)
- 更高效的注意力实现
Rotary Position Embedding (RoPE)
旋转位置编码:通过旋转操作编码位置信息。
优点:支持任意长度的相对位置,无需额外参数。
SwiGLU激活函数
SwiGLU = Swish(xW) ⊗ sigmoid(xV)
比ReLU有更好的梯度流动,提升模型性能。
训练方法
模型规模
- LLaMA-7B/13B/33B/65B
- 开源版本:7B/13B/70B
- 使用1.4T tokens训练
训练数据
- CommonCrawl (67%)
- C4 (15%)
- Wikipedia (4.5%)
- Books (4.5%)
- ArXiv (4.5%)
- GitHub (4.5%)
历史意义
LLaMA的开源催生了Alpaca、Vicuna、Qwen等大量开源模型, 推动了开源大模型生态的繁荣。
03MoE论文解读
Mixture of Experts(专家混合)技术让大模型更高效,支撑了GPT-4等万亿参数模型。
MoE原理
MoE的核心思想是"分而治之":将模型分成多个"专家"(Expert), 每个输入只激活少数专家处理,而不是整个模型都参与计算。
MoE架构
- 专家网络:N个独立的FFN网络
- 门控网络:决定每个输入应该激活哪些专家
- 稀疏激活:只激活Top-K个专家,如Top-2
- 负载均衡:辅助损失防止专家利用不均
应用案例
Switch Transformer
Google提出的1.6万亿参数模型。
使用简化的Switch Routing,每次只激活一个专家。
Mixtral 8x7B
Mistral AI的开源MoE模型。
8个专家,每次激活2个,总参数量47B,实际推理只用了12B。
GPT-4推测
业界推测GPT-4使用了MoE架构,
可能是16个专家×约110B参数,每次激活约280B。
MoE的优势
- 参数量大但计算量小:总参数多,但每次只激活少量
- 训练效率高:同等算力可训练更大模型
- 专家专化:不同专家可学习不同领域的知识