LLM主要架构详细总结
LLM(Large Language Model,大语言模型)基于。:GPT-3、LLaMA、PaLM、Claude 等。:当前大模型(如GPT-3、LLaMA)主要采用。BERT 完全基于 Transformer 的。GPT 仅使用 Transformer 的。架构,因其训练效率更高,生成能力更强。
·
1. LLM概述
LLM(Large Language Model,大语言模型)基于 Transformer 架构(2017年《Attention Is All You Need》提出),主要分为三类:
- 自编码模型(AutoEncoder, AE):仅使用 Encoder,适用于理解任务(如文本分类、实体识别)。
- 自回归模型(AutoRegressive, AR):仅使用 Decoder(单向注意力),适用于生成任务(如文本续写、对话)。
- 序列到序列模型(Seq2Seq):同时使用 Encoder + Decoder,适用于转换任务(如翻译、摘要)。
主流趋势:当前大模型(如GPT-3、LLaMA)主要采用 Decoder-only 架构,因其训练效率更高,生成能力更强。
2. 自编码模型(AutoEncoder, AE)
代表模型:BERT(Bidirectional Encoder Representations from Transformers)
(1)核心架构
BERT 完全基于 Transformer 的 Encoder 部分,结构分为三层:
- Embedding 层(输入表示):
- Token Embeddings:词嵌入(WordPiece 分词)。
- Segment Embeddings:区分句子(如
[CLS]
用于分类,[SEP]
分隔句子)。 - Position Embeddings:可学习的位置编码(不同于 Transformer 的正弦编码)。
- 最终输入:三者直接相加 h0=TokenEmb+SegmentEmb+PositionEmbh_0 = \text{TokenEmb} + \text{SegmentEmb} + \text{PositionEmb}h0=TokenEmb+SegmentEmb+PositionEmb。
- Transformer Encoder 层:
- 由多层(BERT-base: 12层) Self-Attention + FFN 组成。
- 双向注意力:每个词可关注整个句子的上下文(与 GPT 的单向不同)。
- 预微调(Fine-tuning)层:
- 分类任务:取
[CLS]
的最终隐藏状态 h[CLS]h_{\text{[CLS]}}h[CLS],接全连接层分类。 - 序列标注(如 NER):对每个 token 的输出 hih_ihi 做分类。
- 分类任务:取
(2)预训练任务
- Masked Language Model (MLM):
- 随机掩盖 15% 的 token(其中 80% 替换为
[MASK]
,10% 随机替换,10% 保留原词)。 - 目标:预测被掩盖的词 P(wi∣wcontext)P(w_i | w_{\text{context}})P(wi∣wcontext)。
- 数学表达:LMLM=−∑i∈maskedlogP(wi∣wcontext)\mathcal{L}_{\text{MLM}} = -\sum_{i \in \text{masked}} \log P(w_i | w_{\text{context}})LMLM=−∑i∈maskedlogP(wi∣wcontext)。
- 随机掩盖 15% 的 token(其中 80% 替换为
- Next Sentence Prediction (NSP):
- 输入两个句子
A
和B
,预测B
是否是A
的下一句。 - 目标:二分类 P(IsNext∣A,B)P(\text{IsNext} | A, B)P(IsNext∣A,B)。
- 输入两个句子
(3)数据集与参数
- 数据集:BooksCorpus(800M词) + English Wikipedia(2.5B词)。
- 关键参数:
- BERT-base:110M 参数(12层,768 隐藏层,12 头注意力)。
- BERT-large:340M 参数(24层,1024 隐藏层,16 头注意力)。
(4)特点
✅ 优点:
- 双向上下文理解能力强,适合 NLU(自然语言理解)任务。
- 预训练后可通过微调适配多种任务。
❌ 缺点:
- 不适合生成任务(无 Decoder,无法自回归生成)。
- MLM 训练效率较低(仅 15% 的 token 被有效训练)。
3. 自回归模型(AutoRegressive, AR)
代表模型:GPT(Generative Pre-trained Transformer)
(1)核心架构
GPT 仅使用 Transformer 的 Decoder 部分,但做了以下调整:
- 简化 Decoder:
- 移除 Encoder-Decoder Attention(因无 Encoder 输入)。
- 仅保留 Masked Multi-Head Attention + FFN。
- 采用 12 层 Decoder Block(原始 Transformer 仅 6 层)。
- 输入表示:
- Token Embeddings + Position Embeddings(可学习)。
- 无 Segment Embeddings(因 GPT 主要用于单句生成)。
- 自回归生成:
- 给定前缀 u1:i−1u_{1:i-1}u1:i−1,预测下一个词 uiu_iui:
P(ui∣u1:i−1)=softmax(Wehi−1)P(u_i | u_{1:i-1}) = \text{softmax}(W_e h_{i-1})P(ui∣u1:i−1)=softmax(Wehi−1)
其中 hi−1h_{i-1}hi−1 是第 i−1i-1i−1 个 token 的隐藏状态,WeW_eWe 是词嵌入矩阵。
- 给定前缀 u1:i−1u_{1:i-1}u1:i−1,预测下一个词 uiu_iui:
(2)训练过程
- 无监督预训练(语言建模):
- 目标:最大化似然 LLM=∑ilogP(ui∣u1:i−1;Θ)\mathcal{L}_{\text{LM}} = \sum_{i} \log P(u_i | u_{1:i-1}; \Theta)LLM=∑ilogP(ui∣u1:i−1;Θ)。
- 采用 Teacher Forcing(强制前文正确,预测下一个词)。
- 有监督微调(下游任务):
- 输入构造:
- 分类任务:
[Start] + 文本 + [Extract]
→ 取最后 token 预测。 - 文本相似度:正反拼接两次,分别输入后拼接特征。
- 分类任务:
- 目标函数:LFT=LLM+λLTask\mathcal{L}_{\text{FT}} = \mathcal{L}_{\text{LM}} + \lambda \mathcal{L}_{\text{Task}}LFT=LLM+λLTask(联合优化)。
- 输入构造:
(3)数据集与参数
- 数据集:BooksCorpus(7GB,7400万+句子)。
- 关键参数:
- GPT-1:117M 参数。
- GPT-3:175B 参数(当前主流大模型均基于此架构)。
(4)特点
✅ 优点:
- 生成能力强(适合对话、续写、代码生成)。
- 训练效率高(所有 token 参与预测)。
❌ 缺点:
- 仅单向上下文(无法像 BERT 利用全文信息)。
- 微调依赖任务适配(需设计输入格式)。
4. 序列到序列模型(Seq2Seq)
代表模型:T5(Text-to-Text Transfer Transformer)
(1)核心架构
T5 采用完整 Transformer(Encoder + Decoder),但改进:
- Layer Normalization:
- 移除 bias,置于残差连接外:
LayerNorm(x+Sublayer(x))\text{LayerNorm}(x + \text{Sublayer}(x))LayerNorm(x+Sublayer(x))(原始 Transformer 是 x+Sublayer(LayerNorm(x))x + \text{Sublayer}(\text{LayerNorm}(x))x+Sublayer(LayerNorm(x)))。
- 移除 bias,置于残差连接外:
- 相对位置编码:
- 使用标量 rijr_{ij}rij(表示位置 iii 和 jjj 的相对距离),直接加在注意力权重:
Aij=(QiKjT+rij)/dkA_{ij} = (Q_i K_j^T + r_{ij}) / \sqrt{d_k}Aij=(QiKjT+rij)/dk。
- 使用标量 rijr_{ij}rij(表示位置 iii 和 jjj 的相对距离),直接加在注意力权重:
- 任务统一框架:
- 所有任务转换为 文本到文本(如翻译任务输入
"translate English to German: That is good"
,输出"Das ist gut"
)。
- 所有任务转换为 文本到文本(如翻译任务输入
(2)预训练任务
- 填空任务(Masked Language Modeling):
- 类似 BERT,但由 Decoder 生成被掩盖的词(而非分类)。
- 目标:LMLM=−∑logP(masked word∣corrupted input)\mathcal{L}_{\text{MLM}} = -\sum \log P(\text{masked word} | \text{corrupted input})LMLM=−∑logP(masked word∣corrupted input)。
- 因果语言建模(Causal LM):
- 类似 GPT,Decoder 自回归生成。
(3)数据集与参数
- 数据集:C4(Colossal Clean Crawled Corpus,750GB 过滤英文文本)。
- 关键参数:
- T5-small:60M 参数。
- T5-11B:11B 参数。
(4)特点
✅ 优点:
- 多任务统一处理(翻译、摘要、问答均可适配)。
- 生成质量高(Encoder 理解 + Decoder 生成)。
❌ 缺点:
- 训练成本高(需同时优化 Encoder + Decoder)。
- 推理速度较慢(需先编码再生成)。
5. 大模型主流架构:Decoder-only
为什么当前 LLM 主要用 Decoder-only?
- 训练效率:
- Encoder 的 MLM 仅 15% token 参与训练,而 Decoder 的 LM 所有 token 均参与。
- 生成能力:
- Decoder 天然适合自回归生成(GPT-3、LLaMA、PaLM 均基于此)。
- 理论优势:
- Encoder 的双向注意力可能导致 低秩问题(信息冗余),而 Decoder 的单向注意力更稳定。
- 工程优化:
- KV Cache 等技术可加速 Decoder 推理。
代表模型:GPT-3、LLaMA、PaLM、Claude 等。
6. 三类模型对比总结
特性 | 自编码(BERT) | 自回归(GPT) | 序列到序列(T5) |
---|---|---|---|
架构 | Encoder-only | Decoder-only | Encoder-Decoder |
注意力方向 | 双向 | 单向 | Encoder 双向 + Decoder 单向 |
典型任务 | 文本分类、NER | 文本生成、对话 | 翻译、摘要 |
预训练任务 | MLM + NSP | 语言建模(LM) | MLM + Causal LM |
生成能力 | ❌ 无 | ✅ 强 | ✅ 强(需解码) |
理解能力 | ✅ 强(双向) | ❌ 弱(单向) | ✅ 强(Encoder) |
计算效率 | 较低(MLM 15% 训练) | 较高(全 token 训练) | 较低(双模块) |
7. 关键问题总结
- LLM 主要架构分类:
Encoder-only
(BERT)、Decoder-only
(GPT)、Encoder-Decoder
(T5)。
- 自编码模型原理:
- 随机掩盖单词,用双向上下文预测(MLM)。
- 自回归模型原理:
- 从左到右生成,P(ui∣u1:i−1)P(u_i | u_{1:i-1})P(ui∣u1:i−1)(语言建模)。
- 序列到序列模型原理:
- Encoder 处理输入,Decoder 生成输出(如
"translate: Hello" → "Hola"
)。
- Encoder 处理输入,Decoder 生成输出(如
最终结论
- 理解任务(如分类、问答)→ BERT(Encoder-only)。
- 生成任务(如对话、创作)→ GPT(Decoder-only)。
- 复杂任务(如翻译、摘要)→ T5(Encoder-Decoder)。
- 当前主流大模型(GPT-4、LLaMA-2)→ Decoder-only(因训练/生成效率更高)。
更多推荐
所有评论(0)