graph TD
    A[Transformers 模型详解] --> B[历史发展]
    A --> C[核心概念]
    A --> D[架构设计]
    A --> E[注意力机制]
    A --> F[训练方法]
    
    B --> B1[2017-2024发展历程]
    B --> B2[三大模型家族]
    
    C --> C1[语言模型本质]
    C --> C2[自监督学习]
    C --> C3[迁移学习]
    
    D --> D1[编码器-解码器架构]
    D --> D2[三种变体]
    
    E --> E1[注意力层原理]
    E --> E2[上下文理解]
    
    F --> F1[预训练]
    F --> F2[微调]

🕰️ Transformers 发展历史

重要里程碑

时间模型特点
2017年6月Transformer首次提出,专注翻译任务
2018年6月GPT首个预训练Transformer,微调用于各种NLP任务
2018年10月BERT双向编码器,擅长句子理解
2019年2月GPT-2GPT的改进版本,因伦理考虑延迟发布
2019年10月T5序列到序列多任务模型
2020年5月GPT-3大规模模型,支持零样本学习
2022年1月InstructGPT指令微调版本的GPT-3
2023年1月Llama多语言大语言模型
2023年3月Mistral70亿参数,使用分组查询注意力
2024年5月Gemma 2轻量级模型家族(2B-27B参数)
2024年11月SmolLM2小型语言模型(135M-1.7B参数)

三大模型家族

graph LR
    A[Transformer模型家族] --> B[GPT-like<br/>自回归模型]
    A --> C[BERT-like<br/>自编码模型]
    A --> D[T5-like<br/>序列到序列模型]
    
    B --> B1[文本生成]
    C --> C1[文本理解]
    D --> D1[文本转换]

🧠 核心概念

语言模型本质

Transformers本质上是语言模型,通过以下方式训练:

  • 大规模原始文本数据:使用互联网上的大量文本
  • 自监督学习:无需人工标注,从输入自动计算目标
  • 统计语言理解:学习语言的统计规律和模式

自监督学习任务

1. 因果语言建模 (Causal Language Modeling)

输入: "The cat sat on the"
目标: 预测下一个词 "mat"

2. 掩码语言建模 (Masked Language Modeling)

输入: "The cat [MASK] on the mat"
目标: 预测被掩码的词 "sat"

模型规模趋势

graph TD
    A[模型性能提升策略] --> B[增加参数数量]
    A --> C[增加训练数据]
    
    B --> D[更好的表现]
    C --> D
    
    D --> E[计算成本增加]
    D --> F[环境影响增大]
    
    E --> G[共享预训练模型]
    F --> G

🔄 迁移学习

预训练 vs 微调

graph LR
    A[随机初始化权重] --> B[预训练<br/>大规模数据<br/>数周时间<br/>高成本]
    B --> C[预训练模型]
    C --> D[微调<br/>特定任务数据<br/>较短时间<br/>低成本]
    D --> E[任务特定模型]

迁移学习优势

  1. 知识迁移:预训练模型已具备语言理解能力
  2. 数据效率:微调需要的数据量大大减少
  3. 资源节约:时间、计算资源、环境成本都更低
  4. 性能提升:通常比从零开始训练效果更好

🏗️ Transformer 架构

基本结构

graph TB
    subgraph "Transformer架构"
        A[输入序列] --> B[编码器<br/>Encoder]
        B --> C[表示/特征]
        C --> D[解码器<br/>Decoder]
        E[目标序列] --> D
        D --> F[输出序列]
    end

🎯 注意力机制

核心思想

“Attention Is All You Need” - 注意力是关键

注意力层告诉模型在处理每个词时应该关注句子中的哪些特定词语。

翻译示例

英文: "You like this course"
法文: "Vous aimez ce cours"

翻译”like”时需要注意:

  • “You” → 确定动词变位形式
  • 其他词语相对不重要

翻译”this”时需要注意:

  • “course” → 确定阴性/阳性形式

注意力工作原理

graph TD
    A[输入词: like] --> B[注意力层]
    C[上下文: You] --> B
    D[上下文: this] --> B
    E[上下文: course] --> B
    
    B --> F[加权表示]
    F --> G[翻译输出: aimez]
    
    style C fill:#ffcccc
    style B fill:#ccffcc

🔧 原始架构详解

训练过程

sequenceDiagram
    participant E as 编码器
    participant D as 解码器
    
    Note over E: 输入: "You like this course"
    Note over D: 目标: "Vous aimez ce cours"
    
    E->>E: 处理完整输入句子
    E->>D: 传递编码表示
    
    D->>D: 顺序生成 "Vous"
    D->>D: 顺序生成 "aimez" 
    D->>D: 顺序生成 "ce"
    D->>D: 顺序生成 "cours"

注意力掩码

  • 编码器:可以看到整个输入句子
  • 解码器:只能看到已生成的部分(防止”作弊”)

📖 术语说明

架构 vs 检查点 vs 模型

术语定义示例
架构 (Architecture)模型的骨架结构BERT架构
检查点 (Checkpoint)特定的训练权重bert-base-cased
模型 (Model)泛指,可指架构或检查点BERT模型