返回首页

文章详情

2026.04.18

3 分钟阅读

llm / transformer / bert / gpt

Transformer、BERT 与 GPT:架构、训练目标和产品形态

区分 Transformer 架构与 BERT、GPT 模型家族,理解 encoder、decoder、双向掩码和因果语言建模如何塑造不同能力。

铺在深色工作台上的 Transformer 架构草图和代码稿纸

从 Token 到 Transformer · 10 / 10

Transformer、BERT、GPT 经常被并列讨论,仿佛是三种互相竞争的模型。更准确的关系是:Transformer 提供架构积木,BERT 与 GPT 选择了不同部分和训练目标,把这些积木发展成两条影响深远的路线。

理解它们,不需要先背产品列表。先分清三件事:信息可以看向哪里,模型被训练来预测什么,最终接口要解决什么任务。

原始 Transformer 是 Encoder-Decoder

2017 年的 Transformer 为机器翻译设计,由两部分组成。

Encoder 读取完整源序列。每个位置可以通过 self-attention 查看输入中的其他可见位置,逐层形成上下文化表示。

Decoder 自回归生成目标序列。它的 masked self-attention 只能看到已经生成的左侧内容,同时通过 cross-attention 读取 encoder 输出。

流程可以简化为:

text
源文本 -> Encoder 表示
已生成目标文本 -> Decoder + Cross-Attention -> 下一个 token

Transformer 是这套结构及其核心组件的名称,不等于某个特定聊天模型。

BERT 选择了 Encoder 路线

BERT 的全称是 Bidirectional Encoder Representations from Transformers。它堆叠 Transformer encoder,并通过 masked language modeling 预训练:遮住输入中的一部分 token,让模型利用左右两侧上下文恢复它们。

“双向”指的是表示可以同时利用当前位置左右的信息,而不是从左到右逐 token 生成。这样的训练方式很适合学习整段文本表示,再通过微调完成分类、实体识别、检索和抽取式问答。

经典 BERT 还使用 next sentence prediction 作为预训练任务之一;后续工作对这一设计做了许多调整。今天说“BERT 类模型”,通常更强调 encoder-only 与双向表示路线,而不是要求完全复制原始训练配方。

GPT 选择了 Decoder-Only 路线

GPT 的核心是生成式预训练 Transformer。现代 GPT 类模型通常采用 decoder-only 架构,并使用 causal mask:每个位置只能依据左侧 token 预测下一个 token。

text
p(text) = p(t_1) p(t_2 | t_1) ... p(t_n | t_<n)

这个目标看起来只是续写,却能统一许多任务。把指令、示例和上下文都表示为 token 序列后,分类可以写成标签生成,翻译可以写成目标文本生成,问答也可以写成条件续写。

后续的指令微调、偏好优化和工具调用训练,让 decoder-only 模型从基础语言建模器变成对话与执行系统;这些能力并不是“GPT”三个字母自动附带的。

三者不能只用“理解”和“生成”区分

常见说法是“BERT 负责理解,GPT 负责生成”。它对入门有帮助,却不够准确。

GPT 在生成前同样需要对上下文形成表示,BERT 也可以接上解码组件参与生成。真正的差异是默认注意力可见范围、训练目标和输出接口:

路线典型结构预训练视野常见接口
BERT 类Encoder-only同时利用左右上下文表示、分类、抽取
GPT 类Decoder-only因果地查看左侧上下文自回归生成
原始 Transformer / T5 类Encoder-Decoder编码完整输入,解码因果生成条件生成

这些是架构倾向,不是能力边界。实际产品还受到数据、规模、微调和推理系统的共同影响。

为什么 Decoder-Only 成为通用大模型主流

自回归目标有一个工程优势:任何文本都天然提供“预测下一个 token”的训练信号,不需要人工标注。任务也可以统一成“给定上下文,继续生成”。

随着模型和数据规模扩大,这种统一接口很适合 few-shot、指令跟随和多轮对话。KV cache 也让逐 token 解码具备可优化的推理路径。

代价同样明确:生成是串行的,双向编码任务未必最经济,长输出会直接增加延迟。主流不等于在所有场景都最优。

选择模型时先看任务形状

如果目标是高吞吐分类、向量检索或实体抽取,小型 encoder 模型往往更便宜直接。若任务是开放式写作、代码生成或多轮 Agent,decoder-only 模型更自然。输入和输出都很长、需要明确条件转换时,encoder-decoder 仍有结构优势。

不要把选择简化为“谁参数更多”。模型的注意力模式、训练目标、上下文长度、部署成本和评估数据,才决定它是否适合当前系统。

系列收束

从原始文本到一次生成,完整链路现在可以串起来:

text
文本 -> Token -> ID -> Embedding + Position
     -> Attention + FFN + Residual + Norm
     -> Hidden State -> Vocabulary Logits -> Next Token

Transformer 提供了反复更新表示的骨架;BERT 与 GPT 展示了同一骨架在不同可见范围和训练目标下会长成怎样的模型。

理解到这里,模型不再是一个“把文字吞进去再吐出来”的黑箱。它仍然复杂,但复杂已经被拆成一组可以逐层追问、测量和验证的工程选择。

延伸阅读

    Transformer、BERT 与 GPT:架构、训练目标和产品形态