跳转至

经典模型

BERT vs GPT vs T5

这三个模型代表了 Transformer 的三种基本应用形态:

模型 架构类型 核心目标 为什么面试常考?
BERT Encoder-only 理解 (Understanding) 双向可见。 擅长分类、标注。提出 MLM (掩码) 预训练任务。
GPT (1/2/3) Decoder-only 生成 (Generative) 单向可见。 奠定了自回归生成的霸主地位,是 LLM 的基石。
T5 Encoder-Decoder 转换 (Text-to-Text) 全能型。 把所有 NLP 任务(翻译、分类、问答)都统一成“文本到文本”。

在 2018-2019 年左右,大家并没有预见到今天“一个模型统治一切”的局面。当时的权衡点在于:你想让模型更擅长“考试”还是“写作”?

BERT

  • 设计动机: 谷歌希望解决“语义理解”问题。
  • 权衡: 如果模型能同时看到左边和右边的词(双向注意力),它就能像人类反复阅读理解一样,看清整个句子的结构。
  • 代价: 这种架构没法做“生成”。因为它在训练时习惯了看全貌,如果你让它预测下一个词,它会产生“信息泄露”——它已经提前看到了后面的答案。
  • 结果: 扫清了分类、匹配、阅读理解等任务的榜单。

GPT

  • 设计动机: OpenAI(OpenAI 早期很固执)坚持认为“预测下一个词”才是通向通用人工智能的唯一路径。
  • 权衡: 为了能顺畅地生成文字,必须严格限制模型只能看左边的词(Masked Self-Attention)。
  • 代价: 在那个时代,由于只能看单向信息,GPT 在理解任务上的表现初期是不如 BERT 的。
  • 结果: 这种坚持换来了后来震惊世界的生成能力。

T5

  • 设计动机: 谷歌想做“大一统”。
  • 权衡: 既然理解(Encoder)和生成(Decoder)都想要,那就都留着。
  • 逻辑: 这种结构对翻译极度友好。输入中文(Encoder 处理全句),输出英文(Decoder 逐词生成)。

为什么 Decoder-only 最终统治了世界?

这是一个典型的“大力出奇迹”改变了算法审美。现在几乎所有千亿级以上的大模型(GPT-4, Llama 3, Qwen)全部采用 Decoder-only。原因有三点:

A. 零样本(Zero-shot)能力的爆发

大家发现,当 Decoder 模型参数量大到一定程度时,它不再只是在“接龙”,而是产生了一种“逻辑涌现”。只要你把任务描述(Prompt)喂给它,它就能理解并生成答案。

  • 反例: BERT 这种架构,即使加到 1000 亿参数,它依然需要你去针对特定任务做微调(Fine-tuning),无法直接对话。

B. 训练效率与 Scaling Law(规模法则)

  • 计算效率: 在处理极长文本时,Decoder-only 架构的计算图更简单,且在推理时可以使用 KV Cache 技术极大提升速度。
  • 参数效率: 实验证明,在相同的计算量(FLOPs)下,Decoder-only 模型在长程建模和逻辑推理上的表现,比 Encoder-Decoder 这种“分工明确”的结构上限更高。

C. 统一的任务范式

现在所有的 AI 任务都被统一成了“对话”

  • 翻译?给模型发指令:请帮我把这句话翻译成英文。
  • 分类?给模型发指令:请告诉我这段话的情感倾向。 既然所有任务都能通过“预测下一个词”来解决,那就不需要复杂的 Encoder 架构了。

LLaMA 系列

LLaMA 是目前开源界的“圣经”,几乎所有的国产大模型(如 Qwen, Baichuan, Yi)都是在 LLaMA 架构基础上微调或改进的。

LLaMA 对原始 Transformer 的三大修改:

RMSNorm (Root Mean Square Layer Normalization):

  • 改进: 取代了 LayerNorm。
  • 理由: 计算更简单,且在深层网络中训练更稳定。

RoPE (Rotary Positional Embedding):

  • 改进: 取代了绝对位置编码。
  • 理由: 旋转位置编码能更好地处理长文本,外推性更强。

SwiGLU 激活函数:

  • 改进: 取代了 ReLU。
  • 理由: 实验证明它在处理复杂逻辑时效果更好。

Qwen (通义千问)

Qwen 是面试中的热点,特别是 Qwen 2 / 2.5。相比于 LLaMA,它有几个非常明显的竞争优势,你可以作为“加分项”回答:

  • 超强分词器: 针对中文进行了深度优化,压缩率更高(同样的文字生成的 Token 更少,省钱且快)。
  • GQA (Grouped Query Attention): 在小参数模型(如 7B/14B)上也用了 GQA,推理速度极快。
  • 长文本支持: 能够处理极其庞大的上下文(如 128k 甚至更高)。