大模型基础:从Transformer到GPT的演进之路

前言

近年来,以ChatGPT为代表的大语言模型(Large Language Model, LLM)彻底改变了人工智能的发展格局。作为一名AI研究者,深入理解大模型的底层原理是非常必要的。本文将从Transformer架构出发,梳理大模型的技术演进之路。

一、Transformer架构:大模型的基石

1.1 从RNN到Transformer

在Transformer出现之前,处理序列数据的主流方法是循环神经网络(RNN)及其变体LSTM、GRU。然而,RNN存在两个核心问题:

  1. 长距离依赖问题:信息在长序列中传递会逐渐衰减
  2. 并行计算困难:序列必须按顺序处理,无法并行

2017年,Google团队发表了里程碑式的论文《Attention Is All You Need》,提出了Transformer架构,彻底解决了上述问题。

1.2 自注意力机制(Self-Attention)

Transformer的核心是自注意力机制,其核心思想是让序列中的每个位置都能直接关注到其他所有位置。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import torch
import torch.nn.functional as F

def self_attention(query, key, value, mask=None):
"""
自注意力机制的实现
Args:
query, key, value: 形状为 (batch, seq_len, d_model)
mask: 可选的掩码
"""
d_k = query.size(-1)

# 计算注意力分数
scores = torch.matmul(query, key.transpose(-2, -1)) / torch.sqrt(torch.tensor(d_k, dtype=torch.float32))

if mask is not None:
scores = scores.masked_fill(mask == 0, -1e9)

# Softmax归一化
attention_weights = F.softmax(scores, dim=-1)

# 加权求和
output = torch.matmul(attention_weights, value)

return output, attention_weights

1.3 多头注意力(Multi-Head Attention)

多头注意力允许模型在不同的表示子空间中学习不同的注意力模式:

$$
\text{MultiHead}(Q, K, V) = \text{Concat}(\text{head}_1, …, \text{head}_h)W^O
$$

其中每个头:
$$
\text{head}_i = \text{Attention}(QW_i^Q, KW_i^K, VW_i^V)
$$

二、GPT系列的演进

2.1 GPT-1:预训练+微调范式

2018年,OpenAI发布了GPT-1,开创了”预训练+微调”的范式:

  • 预训练阶段:在大规模无标注文本上进行语言建模
  • 微调阶段:在特定任务上进行有监督微调

GPT-1使用了12层Transformer decoder,参数量约1.17亿。

2.2 GPT-2:规模即性能

GPT-2将参数量扩展到15亿,验证了一个重要假设:规模足够大的语言模型可以在零样本(Zero-shot)设置下完成多种任务

模型 参数量 层数 隐藏维度
GPT-2 Small 117M 12 768
GPT-2 Medium 345M 24 1024
GPT-2 Large 762M 36 1280
GPT-2 XL 1.5B 48 1600

2.3 GPT-3:涌现能力的发现

GPT-3将参数量推到了1750亿,发现了大模型的”涌现能力”(Emergent Abilities):

  • 上下文学习(In-Context Learning):无需梯度更新,仅通过prompt即可完成新任务
  • 思维链推理(Chain-of-Thought):能够进行多步推理

2.4 GPT-4:多模态与更强推理

GPT-4是一个多模态模型,能够处理文本和图像输入,在各种专业和学术基准上表现出人类水平的性能。

三、大模型的训练策略

3.1 预训练目标

大模型通常使用以下预训练目标之一:

  1. 因果语言模型(CLM):预测下一个token,如GPT系列
  2. 掩码语言模型(MLM):预测被掩盖的token,如BERT
  3. 前缀语言模型(PLM):结合CLM和MLM的优点

3.2 分布式训练技术

训练大模型需要使用多种并行策略:

  • 数据并行(Data Parallelism):将数据分布到多个GPU
  • 张量并行(Tensor Parallelism):将单层的计算分布到多个GPU
  • 流水线并行(Pipeline Parallelism):将不同层分布到不同GPU

四、实践建议

对于想要入门大模型的同学,我有以下建议:

  1. 夯实基础:深入理解Transformer架构和注意力机制
  2. 动手实践:使用Hugging Face Transformers库进行实验
  3. 关注前沿:阅读最新论文,了解技术发展趋势
  4. 项目驱动:通过实际项目积累经验

总结

从Transformer到GPT-4,大模型的发展展现了”规模法则”的威力。理解这些基础知识,对于深入研究和应用大模型至关重要。

参考文献

  1. Vaswani, A., et al. “Attention is all you need.” NeurIPS 2017.
  2. Radford, A., et al. “Improving language understanding by generative pre-training.” 2018.
  3. Brown, T., et al. “Language models are few-shot learners.” NeurIPS 2020.