跳转至

Transformer

1. Transformer架构

Transformer是目前最流行的深度学习模型之一,特别是在自然语言处理(NLP)领域。它主要由两个部分组成:编码器(Encoder)和解码器(Decoder)。

  • 编码器(Encoder):用于处理输入序列,并生成一系列隐藏状态。
  • 解码器(Decoder):用于生成输出序列,通过注意力机制关注编码器的输出。

以下是Transformer架构的Mermaid图:

graph TD
  A[输入序列] --> B[编码器]
  B --> C[编码器层]
  C --> D[隐藏状态]
  D --> E[解码器]
  E --> F[解码器层]
  F --> G[输出序列]

2. 位置编码(Positional Encoding)

Transformer的一个重要特性是它没有内置的顺序感知能力,因此使用了位置编码(Positional Encoding) 来表示输入序列中各个元素的位置。位置编码通常通过正弦和余弦函数生成,确保每个位置的编码都是唯一的。

graph LR
  A[位置编码要求] --> B[时间表示]
  A --> C[位置唯一]
  A --> D[编码有界]
  B --> E[正弦函数]
  C --> F[余弦函数]

3. 编码器-解码器模型与仅解码器模型

  • 编码器-解码器模型:常用于翻译任务,编码器将输入序列转换为隐藏状态,解码器根据隐藏状态生成输出。
  • 仅解码器模型:通常用于生成任务(如文本生成),它基于先前生成的上下文来生成下一步。
graph TD
  subgraph 编码器-解码器模型
    A1[输入序列] --> B1[编码器]
    B1 --> C1[隐藏状态]
    C1 --> D1[解码器]
    D1 --> E1[输出序列]
  end

  subgraph 仅解码器模型
    A2[上下文输入] --> B2[自回归生成]
    B2 --> C2[输出序列]
  end

4. 语言模型的演化

语言模型的演化展示了从BERT到GPT的进化历程,其中BERT是一种双向编码模型,适合理解任务;而GPT是一种生成模型,擅长生成自然流畅的文本。以下是主要模型的时间线:

timeline
    title 语言模型的演化
    2018 : BERT发布
    2018 : GPT发布
    2019 : DistilBERT发布
    2019 : GPT-2发布
    2020 : GPT-3发布
    2023 : GPT-4发布

5. 指令微调(Instruction Fine-Tuning)与基于人类反馈的强化学习(RLHF)

  • 指令微调(Instruction Fine-Tuning):通过在许多任务上收集(指令,输出)对来微调语言模型,使其在未见过的任务上表现更好。
  • 基于人类反馈的强化学习(RLHF):结合强化学习和人类反馈的方法来优化模型,使其输出更符合人类偏好。

以下是RLHF的基本流程图:

graph TD
  A[指令微调] --> B[初始模型]
  B --> C[任务1优化]
  B --> D[任务2优化]
  C --> E[奖励函数]
  D --> E
  E --> F[生成优化后的模型]

通过预训练和微调策略,LLM(大型语言模型)能够在零样本和少样本学习的情况下执行任务