> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monostate.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Transformers 详解

> 了解现代 AI 背后的架构

# 通俗易懂的 Transformers

Transformers 是 ChatGPT、BERT 和几乎所有现代 AI 模型背后的技术。让我们在不涉及数学的情况下理解它们是什么。

## 核心思想

想象您正在阅读一个句子。要理解每个单词，您需要考虑它周围的所有其他单词。单词"bank"在"river bank"和"savings bank"中的含义是不同的。

Transformers 正是这样做的 - 它们同时查看所有单词以理解上下文。这是它们的超能力。

## Transformers 之前

### 旧方式 (RNNs)

以前的 AI 模型像人类一样阅读文本 - 一次一个单词，从左到右：

```
The → cat → sat → on → the → mat
```

**问题**：

* 慢（无法并行读取单词）
* 健忘（在长文本中丢失上下文）
* 难以训练（信息丢失）

### Transformer 革命 (2017)

Transformers 通过同时读取所有单词改变了一切：

```
[The, cat, sat, on, the, mat] → 全部一起处理
```

**好处**：

* 快（并行处理）
* 更好的上下文理解
* 很好地处理长文本
* 更容易训练

## Transformers 如何工作

将 transformers 视为具有三个主要组件：

### 1. Attention Mechanism

"attention"部分就像在阅读时突出显示重要单词。

**示例句子**："The animal didn't cross the street because it was too tired"

Transformer 找出：

* "it"指的是"animal"（不是"street"）
* "tired"与"animal"相关
* 这决定了含义

Attention 在相关单词之间创建连接，无论它们相距多远。

### 2. Positional Encoding

由于 transformers 同时看到所有单词，它们需要知道单词顺序。

没有位置信息：

* "Dog bites man" = "Man bites dog"（非常不同！）

Transformers 为每个单词添加位置信息：

* Word 1: "Dog" + \[position 1]
* Word 2: "bites" + \[position 2]
* Word 3: "man" + \[position 3]

### 3. Feed-Forward Networks

在理解关系（attention）之后，模型通过神经网络处理这些信息以：

* 提取含义
* 做出预测
* 生成响应

## Encoder vs Decoder

Transformers 有三种类型：

### Encoder-Only (BERT)

**功能**：深入理解文本

**像**：仔细分析每个单词的细心读者

**适合**：

* Classification
* 理解上下文
* 提取信息
* 情感分析

**工作原理**：读取所有单词以建立理解

### Decoder-Only (GPT)

**功能**：生成文本

**像**：逐字创建内容的作家

**适合**：

* 文本生成
* 聊天机器人
* 代码补全
* 创意写作

**工作原理**：基于前面的单词预测下一个单词

### Encoder-Decoder (T5)

**功能**：转换文本

**像**：阅读一种语言并编写另一种语言的翻译器

**适合**：

* 翻译
* 摘要
* 问答
* 文本转换

**工作原理**：Encoder 读取输入，decoder 生成输出

## Self-Attention 详解

Transformers 的关键创新是"self-attention" - 将每个单词与所有其他单词关联的能力。

### 简单示例

句子："The cat sat on the mat"

Self-attention 创建一个网格，显示每个单词与其他单词的关系程度：

```
        The  cat  sat  on  the  mat
The      •    •    ○    ○    ○    ○
cat      •    •    •    ○    ○    ○
sat      ○    •    •    •    ○    •
on       ○    ○    •    •    •    •
the      •    ○    ○    •    •    •
mat      ○    ○    •    •    •    •

• = 强关系
○ = 弱关系
```

模型在训练期间学习这些关系。

## Multi-Head Attention

Transformers 使用多个 attention "heads" - 就像有多个专家，每个专家都在寻找不同的模式：

* **Head 1**：寻找语法关系
* **Head 2**：寻找语义含义
* **Head 3**：寻找实体关系
* **Head 4**：寻找时间连接
* （还有更多...）

所有这些视角结合起来形成丰富的理解。

## Layers and Depth

Transformers 堆叠多个层，每一层都增加更多理解：

**Layer 1**：基本模式（语法、简单关系）
**Layer 2**：短语和简单概念
**Layer 3**：句子和上下文
**Layer 4**：段落和主题
...
**Layer N**：深入、抽象的理解

更多层 = 更深入的理解（但也需要更多计算）

## 为什么 Transformers 占主导地位

### Parallelization

**旧模型**：顺序处理单词（慢）
**Transformers**：同时处理所有单词（快）

这使得在现代 GPU 上训练快得多。

### Long-Range Dependencies

可以连接长距离的信息：

* 文档的开头和结尾
* 被段落分隔的问题和答案
* 来自更早的上下文

### Transfer Learning

在通用文本上训练的 Transformers 可以针对特定任务进行微调：

1. 在 Wikipedia 上预训练（通用知识）
2. 在医学文本上微调（专业化）

### Scalability

Transformers 随着以下因素变得更好：

* 更多数据
* 更多参数
* 更多计算

这种可预测的扩展使像 GPT-4 这样的大型模型成为可能。

## 常见的 Transformer 模型

### BERT 系列

* **BERT**：双向理解
* **RoBERTa**：稳健优化的 BERT
* **DistilBERT**：更小、更快的 BERT
* **ALBERT**：更轻的 BERT

### GPT 系列

* **GPT-2**：早期文本生成
* **GPT-3**：大规模生成
* **GPT-4**：多模态能力

### T5/BART 系列

* **T5**：文本到文本统一框架
* **BART**：去噪自编码器
* **mT5**：多语言 T5

### 专门化

* **CLIP**：视觉和语言
* **Whisper**：语音识别
* **LayoutLM**：文档理解

## Transformer 大小

| 大小        | 参数       | 层数    | 用例      |
| --------- | -------- | ----- | ------- |
| **Tiny**  | 100M 以下  | 4-6   | 移动、边缘设备 |
| **Small** | 100-500M | 6-12  | 标准应用    |
| **Base**  | 500M-1B  | 12-24 | 生产系统    |
| **Large** | 1B-10B   | 24-48 | 高性能     |
| **XL**    | 10B+     | 48+   | 最先进     |

## 计算要求

### 训练

* **小模型**：在单个 GPU 上数小时
* **中等模型**：在多个 GPU 上数天
* **大模型**：在 GPU 集群上数周

### 推理

* **小模型**：CPU 可用
* **中等模型**：单个 GPU
* **大模型**：多个 GPU

### 内存公式（粗略）

* Parameters × 4 bytes = 模型大小
* 训练时增加 2-3 倍（gradients、optimizer）
* 示例：1B 参数 ≈ 4GB 模型，训练时 12GB

## 优化和变体

### Flash Attention

通过重新组织内存访问使 attention 计算快得多。

### Sparse Attention

只关注重要的 tokens，而不是所有 tokens。

### Efficient Transformers

* **Linformer**：线性复杂度 attention
* **Performer**：使用随机特征
* **Reformer**：可逆层

### Mixture of Experts (MoE)

为不同的输入使用不同的"expert"网络，只激活需要的部分。

## 限制

### Quadratic Complexity

Attention 成本随序列长度呈二次增长：

* 100 tokens: 10,000 次比较
* 1,000 tokens: 1,000,000 次比较

### Context Windows

有限的输入长度：

* BERT: 512 tokens
* GPT-3: 4,096 tokens
* GPT-4: 32,000 tokens
* Claude: 100,000+ tokens

### Computational Cost

大型模型的训练和运行成本很高。

### Lack of True Understanding

尽管能力令人印象深刻，transformers 并不真正"理解" - 它们找到模式。

## 未来方向

### 效率改进

* 更好的 attention 机制
* 稀疏模型
* Quantization
* Distillation

### 更长上下文

* 扩展 context windows
* 高效的长距离 attention
* 分层处理

### Multimodal

* 组合文本、图像、音频、视频
* 统一架构
* 跨模态理解

## 实际影响

### 对于训练

* 从预训练的 transformers 开始
* 在您的特定任务上微调
* 为您的数据使用适当的模型大小

### 对于部署

* 考虑用于生产的蒸馏版本
* 使用 quantization 减少大小
* 实现缓存以提高效率

### 对于选择

* Encoder 用于理解任务
* Decoder 用于生成任务
* Encoder-decoder 用于转换任务

## 下一步

<CardGroup cols={2}>
  <Card title="模型类型" href="/foundations/model-types">
    探索不同的架构
  </Card>

  <Card title="选择您的方法" href="/foundations/choosing-your-approach">
    选择正确的训练方法
  </Card>
</CardGroup>
