将 note 笔记库同步到 note_sync,AI_compiler 作为 submodule

This commit is contained in:
ylhan
2026-08-20 17:42:14 +08:00
commit 8a4210f380
44 changed files with 5080 additions and 0 deletions
+248
View File
@@ -0,0 +1,248 @@
# 大模型架构基础
> 理解现代大语言模型的底层架构 — Transformer、注意力机制与关键组件
---
## 发展脉络
```
2017 Transformer 论文
│ "Attention Is All You Need"
▼
2018 GPT-1 / BERT
│ 解码器-only / 编码器-only
▼
2020 GPT-3(175B)— Scaling Law 确立
▼
2022 ChatGPT / GPT-3.5 — RLHF 对齐
▼
2023 GPT-4 / LLaMA / Claude 2
│ 多模态、MoE 兴起
▼
2024 LLaMA 3 / Qwen 2.5 / DeepSeek-V3
▼
2025 GPT-5 / Claude Opus 5 / DeepSeek-V4
大规模 MoE、混合注意力、推理时扩展
```
---
## 一、Transformer 架构
现代大语言模型的基石,发表于 2017 年。核心思想:用**自注意力机制**取代循环/卷积,实现并行计算。深度讲解见 [[Transformer 架构详解]]。
### 架构总览
```
┌──────────────┐
输入文本 → │ Embedding │ → Token 向量
└──────┬───────┘
▼
┌─────────────────────────────┐
│ Transformer Block × N │ ← 重复 N 层(数十到数百层)
│ ┌───────────────────────┐ │
│ │ Multi-Head Attention │ │ ← 核心:自注意力
│ │ + Layer Norm + 残差 │ │
│ ├───────────────────────┤ │
│ │ Feed-Forward (FFN) │ │ ← 逐位置的全连接网络
│ │ + Layer Norm + 残差 │ │
│ └───────────────────────┘ │
└─────────────┬───────────────┘
▼
┌──────────────┐
│ 输出头 │ → 预测下一个 Token
└──────────────┘
```
### 三种变体
| 类型 | 代表模型 | 特点 |
|---|---|---|
| **编码器-only** | BERT、RoBERTa | 双向注意力,适合理解任务(分类、NER) |
| **解码器-only** | GPT 系列、LLaMA、DeepSeek | 因果注意力(只看左边),适合生成任务 |
| **编码器-解码器** | T5、BART | 融合两者,适合翻译、摘要 |
> 现代大语言模型**几乎全部使用解码器-only**(自回归生成)。
---
## 二、自注意力机制(Self-Attention)
### 直观理解
> 让每个词"看到"句子中所有其他词,并决定应该关注哪些。
```
"我 爱 北京 天安门"
│ │ │ │
└─────┼──────┼───────┘
│ │
每个词都和所有词计算关联度(注意力权重)
```
### 数学过程
对每个输入的 Token 向量,计算三个投影:
| | 符号 | 含义 |
|---|---|---|
| **Q(Query)** | 查询 | "我在找什么?" |
| **K(Key)** | 键 | "我有什么?" |
| **V(Value)** | 值 | "我的实际内容" |
$$
\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V
$$
步骤:
1. **Q × K^T** → 计算每对 token 之间的关联分数(注意力矩阵)
2. **÷ √d_k** → 缩放,防止梯度消失
3. **Softmax** → 归一化为概率分布
4. **× V** → 用注意力权重加权求和,得到输出
### 多头注意力(Multi-Head Attention)
> 不是做一次注意力,而是并行做多次(如 8/16/32 个头),每个头关注不同的语义模式。
- 头 1 可能关注"语法结构"
- 头 2 可能关注"实体关系"
- 头 3 可能关注"长距离依赖"
---
## 三、关键组件
### 1. Token 与 Tokenizer
| 概念 | 说明 |
|---|---|
| **Token** | 文本被拆分的最小语义单元 |
| **Tokenizer** | 将文本切分为 Token 的工具(BPE、SentencePiece 等) |
| **词表大小** | 通常 32K ~ 256K,DeepSeek V4 使用了更大词表 |
```
"Hello, world!" → ["Hello", ",", " world", "!"]
"你好世界" → ["你好", "世界"]
```
### 2. 位置编码(Positional Encoding)
Transformer 本身**不感知顺序**,需要额外注入位置信息:
| 类型 | 说明 | 代表 |
|---|---|---|
| **绝对位置编码** | 每个位置有唯一的向量 | 原始 Transformer 的正弦编码 |
| **相对位置编码** | 编码 token 之间的相对距离 | T5 的相对偏置 |
| **旋转位置编码(RoPE)** | 对 Q/K 做旋转,编码相对位置 | LLaMA、DeepSeek、Qwen 主流方案 |
### 3. 前馈网络(Feed-Forward Network, FFN)
```
FFN(x) = Act(W₂ · Act(W₁ · x + b₁) + b₂)
```
- 两层全连接,中间有激活函数(GELU/SwiGLU)
- 参数量占比最大(约 2/3)
- SwiGLU 是现代模型的首选激活函数
- 深度讲解见 [[FFN 前馈网络详解]]
### 4. 残差连接(Residual Connection)
```
输出 = LayerNorm(x + SubLayer(x))
```
- 缓解深层网络的梯度消失
- 让模型可以"跳过"不必要的变化
- GPT 使用 Pre-LN(层归一化在子层之前)
### 5. 层归一化(Layer Normalization)
- 对每个样本的特征维度做归一化
- 稳定训练、加速收敛
- 现代主流:**RMSNorm**(去掉均值中心化,更快更简单)
---
## 四、训练范式
```
┌──────────────┐
│ 1. 预训练 │ 海量互联网文本,无监督学习(预测下一个 Token)
│ Pretraining │ 数十 TB 数据,数万 GPU,数周到数月
└──────┬───────┘
▼
┌──────────────┐
│ 2. 监督微调 │ 高质量人工标注的指令-回复对
│ SFT │ 让模型学会"对话格式"和"遵循指令"
└──────┬───────┘
▼
┌──────────────┐
│ 3. 对齐训练 │ RLHF / DPO / RLVR
│ Alignment │ 让模型输出更安全、更有用、更符合人类偏好
└──────────────┘
```
### 关键概念
| 概念 | 说明 |
|---|---|
| **Scaling Law** | 模型性能随参数量、数据量、计算量幂律增长 |
| **涌现能力** | 大模型独有的、小模型没有的能力(如思维链推理) |
| **RLHF** | 基于人类反馈的强化学习 — 训练奖励模型指导策略优化 |
| **DPO** | 直接偏好优化 — 更简单地对齐方法,不需要单独的奖励模型 |
---
## 五、推理时技术
### 自回归生成(Autoregressive Generation)
```
输入:"今天天气" → 预测下一个 Token "真"
"今天天气真" → 预测下一个 Token "好"
"今天天气真好" → 预测下一个 Token "<eos>"(停止)
```
每次生成一个 Token,直到输出结束符或达到最大长度。
### 关键概念
| 概念 | 说明 |
|---|---|
| **Temperature** | 控制随机性,越高越随机(创造性高),越低越确定 |
| **Top-p(核采样)** | 只从累积概率 ≥ p 的最少 Token 集合中采样 |
| **Top-k** | 只从概率最高的 k 个 Token 中采样 |
| **KV Cache** | 缓存已生成 Token 的 Key/Value,避免重复计算,加速推理 |
| **上下文窗口** | 模型能同时"看到"的最大 Token 数(现在主流 128K~1M) |
---
## 六、当前主流架构扩展
### MoE(混合专家)
> 详见 [[MoE 混合专家架构]]
- 不是所有参数都参与每次推理
- 每个 Token 只路由到少数"专家"子网络
- 总参数极大但计算量可控
### 多模态扩展
> 见 [[多模态大模型]]
- 在 LLM 基础上添加视觉/音频编码器
- 通过投影器对齐不同模态的 Token
---
## 扩展阅读
- 原始论文:[Attention Is All You Need (2017)](https://arxiv.org/abs/1706.03762)
- [The Illustrated Transformer](https://jalammar.github.io/illustrated-transformer/) — 图文详解 Transformer
---
*最后更新:2026-08-05*