LLM架构族对比

大语言模型(Large Language Model, LLM)的架构设计经历了从实验探索到系统化工程的演进过程。本文梳理主流架构族的技术特点、设计决策与演进脉络,为理解现代LLM提供结构化的参考框架。

1. GPT系列架构演进

GPT系列是Decoder-only架构的典型代表,其演进过程展示了参数量扩展与能力涌现的紧密关联。

1.1 GPT-1:Transformer Decoder-only架构的开创

2018年,OpenAI发布GPT-1(Generative Pre-trained Transformer),首次证明了仅使用Transformer Decoder架构进行预训练的可行性。1

核心架构特点

组件设计选择
架构类型Decoder-only(单向自注意力)
层数12层
隐藏维度768
注意力头数12
参数量约1.17亿
位置编码学习式(Learnable)
归一化Post-LN

预训练任务:标准语言建模(CLM, Causal Language Modeling)

历史意义:GPT-1证明了大参数量的Transformer Decoder在预训练后可通过微调适配下游任务,开创了”预训练+微调”的范式。

1.2 GPT-2:规模扩大与Zero-shot能力

2019年发布的GPT-2将参数量提升至15亿,并展示了令人惊讶的Zero-shot能力。2

架构演进

改进GPT-1GPT-2
层数1248
隐藏维度7681600
参数量117M1.5B
上下文长度5121024
归一化位置Post-LNPre-LN

Pre-LN架构:将层归一化前置,显著改善了深层Transformer的训练稳定性。

# Pre-LN Transformer Block(简化)
def transformer_block_pre_ln(x):
    # Pre-LN: 先归一化再做注意力
    x_norm = LayerNorm(x)
    attn_output = MultiHeadAttention(x_norm)
    x = x + Dropout(attn_output)
    
    x_norm = LayerNorm(x)
    ffn_output = FeedForward(x_norm)
    x = x + Dropout(ffn_output)
    
    return x

Zero-shot假设:GPT-2的实验表明,语言模型足够强大时,可以直接根据任务描述(Prompt)完成任务,无需示例。这一观察为后续In-context Learning埋下伏笔。

1.3 GPT-3:175B参数与In-context Learning

GPT-3以1750亿参数的规模震惊学界,展示了强大的In-context Learning(上下文学习)能力。3

核心架构

参数数值
参数量175B
层数96
隐藏维度12288
注意力头数96
上下文长度2048
词表大小50257
训练Token数~300B

In-context Learning机制:GPT-3无需参数更新,仅通过输入中的示例即可学习新任务。

关键观察

  • 模型能力随参数量呈幂律增长(Scaling Law)
  • 175B参数出现涌现能力(Emergent Abilities)
  • Few-shot性能显著优于Zero-shot

API商业模式:GPT-3开启了”模型即服务”的时代,用户通过API调用模型,降低了AI应用门槛。

1.4 GPT-4:多模态与复杂推理

GPT-4在架构上更为封闭,但据公开信息,其主要改进包括:4

特性实现方式
多模态视觉编码器 + 语言模型融合
复杂推理强化学习人类反馈(RLHF)增强
长上下文改进的位置编码,支持32K上下文
指令遵循大量人类标注的指令微调

RLHF Pipeline

架构假设:基于GPT-3.5的技术报告和开源社区分析,GPT-4可能采用:

  • MoE(混合专家)架构降低推理成本
  • 更高效的注意力机制
  • 改进的RLHF流程

2. LLaMA系列

LLaMA(Large Language Model Meta AI)是Meta开源的LLM基础模型族,其设计理念是在有限算力下追求最优性能5

2.1 LLaMA 1-2:开源LLM先驱

LLaMA 1(2023年2月)发布了7B、13B、33B、65B四个规模的模型。

核心架构决策

组件LLaMA选择动机
归一化RMSNorm比LayerNorm更高效的归一化方式
激活函数SwiGLU门控机制增强信息流动
位置编码RoPE支持更长上下文,自然外推
注意力Grouped Query Attention减少KV缓存,提升推理效率
FFNSwiGLU变体3×隐藏层维度

SwiGLU激活函数

# SwiGLU实现
class SwiGLU(nn.Module):
    def __init__(self, d_model, d_ff):
        super().__init__()
        self.w1 = nn.Linear(d_model, d_ff, bias=False)
        self.w2 = nn.Linear(d_model, d_ff, bias=False)
        self.w3 = nn.Linear(d_ff, d_model, bias=False)
    
    def forward(self, x):
        return self.w3(F.silu(self.w1(x)) * self.w2(x))

LLaMA 2(2023年7月)在此基础上:

  • 上下文长度扩展至4096
  • 发布了LLaMA 2-Chat对话模型
  • 训练数据量增加40%至2万亿Token
  • 引入Ghost Attention等对话优化技术

2.2 LLaMA 3:128K上下文与405B参数

2024年发布的LLaMA 3将开源LLM推向前所未有的规模。6

模型规模

模型参数量上下文训练Token
LLaMA 3 8B8B128K15T
LLaMA 3 70B70B128K15T
LLaMA 3 405B405B128K15T

架构升级

  • **分组查询注意力(GQA)**扩展至所有规模
  • RoPE频率基底调整,支持更长上下文
  • 改进的训练数据质量过滤
  • 128K Token上下文:通过位置编码优化实现

2.3 Llama家族变体

开源社区基于LLaMA衍生出众多变体模型:

模型特点训练方法
Alpaca7B/13BSelf-Instruct微调
Vicuna7B/13B/33BShareGPT数据微调
Code Llama7B/13B/34B/70B代码专项训练
Mistral 7B7B专家设计的紧凑架构
Yi6B/34B双语(英中)优化

Code Llama架构

Code Llama在LLaMA 2基础上,针对代码任务进行了专项优化:

# 代码任务的特殊设计
class CodeAttention(nn.Module):
    def __init__(self, d_model, num_heads):
        super().__init__()
        self.attention = GroupedQueryAttention(d_model, num_heads, num_kv_groups=8)
        # 代码特定的注意力模式
        self.long_range_weight = 0.1  # 增强长距离依赖
    
    def forward(self, x, code_structure=None):
        # 融合代码结构信息(如AST)
        attn_out = self.attention(x)
        return attn_out

3. 其他重要架构

3.1 PaLM:Pathways架构与540B参数

Google的PaLM(Pathways Language Model)展示了Pathways系统的可扩展性。7

架构特点

特性实现
参数规模540B
架构标准Transformer Decoder
并行策略Pathways(多路径并行)
注意力Standard MHA
激活函数SwiGLU
归一化Sandwich Norm

Pathways系统设计

PaLM的核心创新在于Pathways计算范式:

# Pathways伪代码示意
@jax.pmap
def pathway_forward(inputs, model_weights):
    # 多路径并行执行
    outputs = []
    for path in range(num_paths):
        path_output = transformer_block(inputs[path])
        outputs.append(path_output)
    
    # 路径聚合
    return aggregate(outputs)

3.2 Chinchilla:70Boptimal理论与数据效率

DeepMind的Chinchilla重新定义了LLM训练的Scaling Law。8

核心发现:之前Kaplan等人的Scaling Law高估了模型大小的优先级。

Chinchilla Optimal理论

对于计算预算 ,最优模型参数量 和训练Token数 满足:

这意味着模型大小和数据量应等比例扩展

模型参数量训练Token性能
Chinchilla70B1.4T超越GPT-3
Gopher280B300B基线

架构对比

组件ChinchillaGopher
参数70B280B
层数8080
隐藏维度12802560
注意力头3264
训练Token1.4T300B

3.3 Mistral:注意力机制优化

Mistral AI发布的Mistral 7B展示了紧凑模型的高效设计。9

核心技术创新

1. Sliding Window Attention(滑动窗口注意力)

class SlidingWindowAttention(nn.Module):
    def __init__(self, d_model, num_heads, window_size=4096):
        super().__init__()
        self.window_size = window_size
        # 标准注意力 + 滑动窗口
        self.attention = MultiHeadAttention(d_model, num_heads)
        self.sparse_attention = SparseAttention(d_model, num_heads, window_size)
    
    def forward(self, x):
        # 局部窗口注意力
        local_out = self.sparse_attention(x)
        # 全局注意力(稀疏)
        global_out = self.attention(x)
        return local_out + global_out

2. Grouped Query Attention(GQA)

将KV头分组,共享注意力计算:

# GQA vs MHA vs MQA对比
class GroupedQueryAttention(nn.Module):
    def __init__(self, d_model, num_heads, num_kv_heads):
        # num_kv_heads < num_heads 时触发GQA
        self.num_kv_groups = num_heads // num_kv_heads
注意力类型KV头数内存效率质量
MHAn_heads最优
GQAn_heads/g接近最优
MQA1n_heads×略有下降

3.4 Mixtral与MoE架构

Mixtral 8x7B是Mistral的MoE(Mixture of Experts)变体。10

MoE架构

其中 是门控函数, 是专家网络。

class MixtureOfExperts(nn.Module):
    def __init__(self, d_model, num_experts, top_k=2):
        super().__init__()
        self.num_experts = num_experts
        self.top_k = top_k
        self.gate = nn.Linear(d_model, num_experts)
        self.experts = nn.ModuleList([
            FeedForward(d_model) for _ in range(num_experts)
        ])
    
    def forward(self, x):
        # 门控权重
        gate_logits = self.gate(x)
        weights, indices = torch.topk(gate_logits, self.top_k)
        weights = F.softmax(weights, dim=-1)
        
        # 选择top-k专家
        outputs = torch.zeros_like(x)
        for k in range(self.top_k):
            expert_idx = indices[:, k]
            expert_output = self.experts[expert_idx](x)
            outputs += weights[:, k:k+1] * expert_output
        
        return outputs

3.5 Qwen:阿里通义千问架构

阿里巴巴的Qwen系列展示了中文LLM的高效训练路径。11

Qwen架构特点

组件Qwen设计
位置编码RoPE(优化频率基底)
注意力GQA(大规模模型)
激活函数SwiGLU
归一化RMSNorm
词表大词表(约15万)

Qwen2突破

  • Qwen2-72B采用完整的GQA配置
  • 支持128K上下文
  • 多语言能力显著提升

4. 架构决策对比

4.1 激活函数:SwiGLU vs Gated Linear Unit

SwiGLU(LLaMA采用):

Gated Linear Unit(GLU)

对比

特性SwiGLUGLUReGLU
门控函数SiLU/SwishSigmoidGeLU
表达能力
训练稳定性良好良好优秀
计算开销
典型使用LLaMA, PaLM--

4.2 位置编码:RoPE vs ALiBi vs 绝对位置编码

特性RoPEALiBi绝对位置编码
编码方式旋转矩阵线性偏置可学习/正弦
参数量可忽略零参数可学习
相对位置✅ 隐式编码✅ 显式编码
外推能力中等(需NTK-Scaling)优秀
实现复杂度中等
与注意力融合QK旋转分数加偏置嵌入相加
代表模型LLaMA, GPT-NeoXMPT, BloomGPT-2早期

RoPE数学原理

RoPE通过旋转Q/K向量实现位置编码:

注意力分数仅依赖相对位置

4.3 归一化:RMSNorm vs LayerNorm

LayerNorm

其中

RMSNorm(Root Mean Square Normalization):

对比

特性LayerNormRMSNorm
计算量需计算均值和方差仅需计算RMS
移位不变性
表达能力略低
训练稳定性优秀良好
效率提升基线~10-20%

Pre-Norm vs Post-Norm

# Pre-Norm(现代LLM常用)
def pre_norm_block(x, sublayer):
    return x + sublayer(LayerNorm(x))
 
# Post-Norm(原始Transformer)
def post_norm_block(x, sublayer):
    return LayerNorm(x + sublayer(x))
架构归一化位置稳定性
GPT-3Pre-Norm良好
LLaMAPre-Norm + 残差后优秀
ChinchillaPre-Norm良好

4.4 注意力变体

Grouped Query Attention(GQA)

MHA(Multi-Head Attention)、MQA(Multi-Query Attention)、GQA对比如下:

# 注意力类型对比
class MHA(nn.Module):
    """Multi-Head Attention: 每个头独立Q,K,V"""
    # 参数量: 3 * d_model * d_model
 
class MQA(nn.Module):
    """Multi-Query Attention: 所有头共享K,V"""
    # 参数量: d_model * d_model + d_model * d_k
 
class GQA(nn.Module):
    """Grouped Query Attention: 分组共享K,V"""
    # 参数量: d_model * d_model + num_kv_groups * d_model * d_k

Flash Attention

详见FlashAttention深度解析

Flash Attention通过Tiling技术避免完整注意力矩阵的存储:

复杂度标准注意力Flash Attention
内存
HBM访问

其中 为SRAM大小。


5. 设计原则总结

5.1 Scaling Laws指导

Kaplan等人(2020)的Scaling Law

其中 为测试损失, 为参数量, 为训练数据量。

Chinchilla Optimal(2022)修正

结论Kaplan LawChinchilla
预算分配优先增大模型模型数据等比例缩放
8倍计算预算5倍模型 + 1.5倍数据2倍模型 + 4倍数据
数据效率

5.2 推理效率vs效果权衡

Key Trade-off

            效果
              ↑
              │     MoE (高效)
              │           /  \
              │    Dense /    \  长上下文
              │   (高效果) /     \
              │          /      \
              │         /        \
              │        /    SwiGLU
              │       /            \
              │      /              \
              │     /   GQA          \
              │    /                  \
              │   /   Flash Attention
              │  /________________________→ 效率

架构决策树

场景推荐架构
极致推理效率MoE + GQA + Flash Attention
最佳效果Dense + MHA + 长上下文
平衡方案GQA + SwiGLU + Pre-Norm
超长序列RoPE/ALiBi + Sparse Attention

5.3 开源vs闭源策略

开源模型代表

模型特点许可证
LLaMA 3405B最强开源Llama 3 Community
Mistral 7B高效紧凑Apache 2.0
Qwen2多语言优秀Apache 2.0
GemmaGoogle出品Gemma Terms

闭源模型代表

模型特点
GPT-4多模态、复杂推理
Claude 3长上下文、安全对齐
GeminiGoogle生态集成

生态影响

维度开源优势闭源优势
定制化可完全微调受限
透明度架构可分析黑盒
成本推理成本可控按需付费
安全性风险较高专业防护
创新速度社区驱动集中资源

6. 架构演进趋势

6.1 当前主流架构共识

经过多年演进,现代LLM形成以下架构共识:

# 现代LLM架构模板
modern_llm_config = {
    "architecture": "Decoder-only Transformer",
    "normalization": "RMSNorm + Pre-LN",
    "activation": "SwiGLU",
    "position_encoding": "RoPE (optimized)",
    "attention": "Grouped Query Attention",
    "attention_optimization": "Flash Attention",
    "optimizer": "AdamW",
    "training": "BF16 mixed precision"
}

6.2 未来方向

方向代表技术预期影响
更长上下文位置编码插值、线性注意力100K+上下文
高效推理MoE、量化、推测解码10×推理加速
多模态融合视觉编码器集成原生多模态
专用架构领域自适应设计垂直领域优化

参考资料


相关词条:Transformer与注意力机制FlashAttention深度解析ALiBi位置编码MoE混合专家机制

Footnotes

  1. Radford et al., “Improving Language Understanding by Generative Pre-Training”, 2018

  2. Radford et al., “Language Models are Unsupervised Multitask Learners”, 2019

  3. Brown et al., “Language Models are Few-Shot Learners”, NeurIPS 2020

  4. OpenAI, “GPT-4 Technical Report”, 2023

  5. Touvron et al., “LLaMA: Open and Efficient Foundation Language Models”, Meta AI 2023

  6. Meta AI, “The Llama 3 Herd of Models”, 2024

  7. Chowdhery et al., “PaLM: Scaling Language Modeling with Pathways”, JMLR 2023

  8. Hoffmann et al., “Training Compute-Optimal Large Language Models”, NeurIPS 2022

  9. Jiang et al., “Mistral 7B”, arXiv 2023

  10. Jiang et al., “Mixtral of Experts”, arXiv 2024

  11. Alibaba Cloud, “Qwen2 Technical Report”, 2024