AI产品经理入门指南(四)--BERT、GPT 与 T5


上一篇把 Transformer 的"骨架"拆完了——注意力机制、Encoder-Decoder。这篇顺着走下去,看三个把 Transformer 用到极致的代表模型:

  • BERT:拿 Transformer 的 Encoder,像"读完再答题"的学生
  • GPT:拿 Transformer 的 Decoder,像"一边写一边看"的小说家
  • T5:Encoder-Decoder 都拿,把所有任务都变成"翻译"

它们是当代大模型(ChatGPT、Claude、文心、豆包)的三条技术血脉。理解了这三个,后面看任何新模型都能秒定位。

类比:Transformer 像一块乐高底座。BERT 拿走"理解模块"、GPT 拿走"生成模块"、T5 两块都拿还加了个"翻译模块"。它们仨不是替代关系,是互补关系——一个团队里,有人专门读、有人专门写、有人既能读又能写。

一句话定位

模型拿到 Transformer 的训练目标一句话人设
BERTEncoder(阅读模块)完形填空 + 下一句判断"读完一整段再答题的学霸"
GPTDecoder(写作模块)下一个词预测"想到哪写到哪的小说家"
T5Encoder + Decoder连续片段还原"什么语言都能翻的翻译官"

一、BERT:读完再答题的学霸

1.1 BERT 是什么?

BERT(Bidirectional Encoder Representations from Transformers)= 双向 Transformer Encoder

把一段文字丢进去,每个词同时看到左边和右边的所有上下文,学出一个"语境化"的词向量。

类比:BERT 像一个读完一整段再答题的学霸

  • 试卷:"小明去 _ 存钱"
  • 普通学生:看到"小明去"就猜,猜"银行"
  • BERT 学霸:读完整个句子——"小明去银行存钱"和"小明去河边",结合"存钱"两个字,秒判第一个"银行"是金融机构、第二个"银行"是河岸。

这就是 BERT 的核心能力:同一个词在不同上下文里,是两个完全不同的"理解"。

1.2 BERT 怎么"理解"一句话?

输入一句话(这里 "my dog is cute. he likes playing"),经过 BERT 编码后,每个词都吐出一个包含全文语境的向量

拿第一个特殊符号 [CLS] 的向量去接一个分类头,就能判断这句话的情感、意图、类别——这是 BERT 最常见的用法。

类比:班主任让全班同学写读后感。BERT 让每个同学(每个词)都看完别人的读后感再写自己的。最后看"班长"([CLS])写的总结,就能知道整篇文章的中心思想。

1.3 模型输入:工作证三件套

BERT 的输入不是裸文字,而是三种 embedding 相加

Embedding类比作用
Token Embedding员工姓名词本身的语义
Segment Embedding员工部门编号区分这是第几句话(A 还是 B)
Position Embedding员工工位号引入位置信息(第几个词)
类比:把每个 token 做成一张"工作证"——名字 + 部门 + 工位,缺一张都不完整。BERT 的输入是这三种信息的叠加

1.4 模型结构:Transformer Encoder 叠叠乐

BERT-base 用 12 层 Encoder 堆叠,每层有:

  1. Multi-Head Self-Attention(互相看)
  2. Feed Forward(前馈网络)
  3. 残差 + LayerNorm(防跑偏)

BERT-large 翻倍到 24 层。

关键点:BERT 每一层的 Self-Attention 都是双向的——每个词同时看所有位置(左 + 右 + 自己),所以叫 Bidirectional

类比:班里 12 个学霸围坐一圈讨论问题,每一轮每个人都听其他 11 个人的意见后再发言。讨论 12 轮后,每个人对全班语境的理解都到位了

1.5 输出:每个位置都答题

BERT 不像传统模型只输出一个分类结果,它每个位置都吐一个向量

  • [CLS] 位置 → 整段话的总结向量,做分类用
  • 其他位置 → 每个词的语境向量,做问答/命名实体识别用
类比:一场考试不是只有一个标准答案——阅读理解 5 道题、完形填空 20 道、翻译 2 段,每道题每个空格都需要一个"答案向量"。BERT 给每个位置都准备了独立的答案

1.6 预训练任务 1:完形填空(Masked LM)

BERT 训练时随机遮住 15% 的词,让模型根据上下文猜被遮住的词是什么。

  • 80% 替换为 [MASK]my dog is [MASK] → 让模型猜
  • 10% 替换为随机词:防止模型"摆烂"——硬逼它真的看懂上下文
  • 10% 保持原词:保留一部分原始信号
类比:高考英语的完形填空——挖掉几个词,根据上下文填回来。BERT 做的就是这个,只是卷子是整个互联网的文本

1.7 预训练任务 2:下一句预测(NSP)

BERT 还做了第二个任务:判断两句话是不是相邻的。

  • 正样本:真正的下一句("今天下雨" → "我带伞了")
  • 负样本:随机凑的两句("今天下雨" → "苹果是红色的")

作用:让模型学到句子间的关系——对问答、自然语言推理等需要"两句话对比"的任务至关重要。

类比:让模型玩"剧情接龙"——判断下一句剧情合不合理。这让 BERT 学会句际关系,不只单词本身。

1.8 BERT 能干啥?

任务类比典型场景
文本分类给文章打标签情感分析、垃圾邮件识别、意图识别
命名实体识别 NER把人名地名画出来从文本里抽人名、地名、机构名
问答 QA阅读理解答问题客服机器人、智能搜索
句子对匹配判断两句话像不像检索去重、问答匹配
特征提取把文本转成语义向量任何需要"语义表示"的下游任务

1.9 拓展:从 word2vec 到 BERT 的进化

为什么要有 BERT?回看一下词嵌入的演进:

时代代表类比痛点
2013word2vec / GloVe每个词有一张固定名片一词多义分不清
2017ELMo根据场合换不同名片LSTM 特征提取弱于 Transformer
2018OpenAI GPT拿 Decoder 单向预训练单向,没利用下文
2018BERT拿 Encoder 双向预训练训练贵、不能直接生成

BERT 的革命性:第一次让"词向量"是根据上下文实时算的。"银行"在"去银行存钱"和"去银行买苹果"里,是两个完全不同的向量。

类比:以前的 word2vec 像是印好的一本小词典;ELMo 是根据场合换不同页面;BERT 是现场实时打印一张带语境的名片

二、GPT:一边写一边看的小说家

2.1 GPT 是什么?

GPT(Generative Pre-trained Transformer)= 单向 Transformer Decoder

和 BERT 反过来——GPT 拿的是 Transformer 的 Decoder 块,并且让 Self-Attention 只能看到左边的词

类比:GPT 像一个一边写一边往后看的小说家

  • 写"今天是晴天,我去 ___" 时,他不知道后面会出现什么
  • 只能根据"今天是晴天,我去"这几个字,决定下一个字
  • 写完后才能继续往后看,写下一个字

所以 GPT 主攻"生成"——给它开头,它能一路续写下去。

2.2 Transformer 进化时间线

从 2017 年 Transformer 论文到 GPT-2,演进很清晰:

  • 2017:Transformer 论文发表(Encoder-Decoder)
  • 2018-06:GPT-1(Decoder 单向 + 预训练 + 微调)
  • 2018-10:BERT(Encoder 双向,更适合理解)
  • 2019:GPT-2(更大、更强、能 zero-shot 完成任务)

BERT 和 GPT 像硬币的两面

BERTGPT
类比阅读理解的学霸写作文的小说家
架构EncoderDecoder
注意力方向双向单向(左→右)
训练任务完形填空下一个词预测
擅长理解生成

2.3 为什么 GPT 是单向的?

Transformer 原始架构里:

  • Encoder:双向注意力,每个位置看所有其他位置 → 适合"理解全文"
  • Decoder:单向(Masked)注意力,每个位置只看左边 → 适合"逐字生成"

GPT 拿 Decoder 做生成任务,单向是架构选择而不是限制——你写文章时,下一个字没出现之前你本来就不知道它是什么。

类比

  • 阅读 → 可以先看全篇再回头理解 → 双向(Encoder)
  • 写作 → 一边写一边决定下一个字 → 单向(Decoder)

这是两种天然不同的认知过程,对应两种天然不同的架构。

2.4 GPT-2 输入:极简两件套

GPT-2 的输入比 BERT 简单——只有两种 embedding:

  • Token Embedding:和 BERT 一样的子词切分
  • Position Embedding:可学习的位置编码

没有 Segment Embedding,因为 GPT 不做句子对任务——它只做"一件事":续写

类比:GPT 像只做一件事的流水线工人——输入"前面 N 个字",输出"第 N+1 个字"。不需要区分句子对,所以不需要 Segment Embedding。

2.5 GPT-2 的 Decoder 块结构

每个 Decoder 块包含两件事:

  1. Masked Multi-Head Self-Attention:只能看左边的词
  2. Feed Forward + 残差 + LayerNorm:和 BERT 一样

GPT-2 small 有 12 层、768 维、12 个 head;GPT-2 medium 翻倍到 24 层、1024 维、16 个 head。

类比:GPT 就像 12 个作家坐在一排,每个人写完一句话递给下一个人,下一个人接着写——后一个人能看到前面所有人写过的话,但不能跳到后面去偷看。

2.6 Masked Self-Attention:GPT 的灵魂

Masked = 在注意力分数上加一个"上三角是负无穷"的 mask,让当前位置只能 attend 到左边的 token

具体实现:

  1. 算 Q·K^T 得到注意力分数矩阵
  2. 加 mask(上三角设为 -∞)
  3. softmax → 变成概率分布
  4. 用概率加权求和 V

类比:考试时试卷是从左到右滚动出示的——你写到第 5 题时看不到第 6 题。
这就是 Masked Attention:每个位置只能参考左边已经"亮出来"的题。

反过来,如果是 BERT 的双向注意力,所有题同时亮出来,你可以来回翻看。

2.7 GPT 的训练:下一个词预测

GPT 的训练目标极简——给定前 N 个词,预测第 N+1 个词

这个任务看似简单,但当数据量和模型规模上去后,模型"被迫"学会了语法、世界知识、推理能力——这就是涌现能力的来源。

类比:让一个学生每天抄写 1000 万篇新闻的后半段,最后他即使没学过语法,也能写出语法正确、风格得体的句子。
这就是大模型最迷人的地方——海量 + 简单目标 = 涌现能力

2.8 GPT 能干啥?

任务类比典型场景
文本生成给开头,续写下去写邮件、写小说、写代码
对话多轮对话拼成一段输入ChatGPT、客服机器人
摘要prompt 引导生成摘要新闻摘要、报告摘要
翻译"translate to English:" + 中文 → 英文机器翻译
分类类别标签当文字,模型预测概率零样本/少样本分类
音乐生成音符当 token,一样续写MuseNet、AI 作曲

最神奇的特性:Zero-shot 学习——训练时没见过具体任务,只要在 prompt 里说"Translate to English:",GPT-2 就能做翻译。

类比:GPT 像一个受过海量阅读训练的博学的人——你只要在 prompt 里描述清楚你要什么("请把这段话翻译成英文"),他就能照做,哪怕他没受过专门的翻译训练。

这就是大模型最迷人的地方:一个模型吃所有任务


三、T5:什么都能翻的翻译官

3.1 T5 是什么?

T5(Text-to-Text Transfer Transformer)= 完整的 Transformer Encoder-Decoder

思路很独特——把所有 NLP 任务都统一成"输入文本 → 输出文本"

不管你是翻译、分类、问答还是摘要,T5 都把它们塞进同一个框架:

翻译     :translate English to German: That is good. → Das ist gut.
分类     :cola sentence: The course is jumping well. → acceptable
摘要     :summarize: <长文章> → <短摘要>
问答     :question: ... context: ... → <答案>
回归     :stsb sentence1: ... sentence2: ... → 3.8

类比:T5 像一个万能翻译官——你塞进去任意格式的"中文",它都给你吐出来一段"中文"。

  • 输入"翻译请求" → 输出翻译结果
  • 输入"分类请求" → 输出类别文字
  • 输入"摘要请求" → 输出摘要文字
  • 输入"问答请求" → 输出答案文字

任务之间的区别,只在输入文本怎么写、输出文本怎么解读

3.2 核心理念:万物皆文本

T5 的论文标题就叫 "Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer"——用统一的文本到文本框架,探索迁移学习的极限。

这解决了什么问题?

传统 NLP 里,每个任务都有自己专属的模型结构:

任务传统做法T5 做法
分类softmax 输出概率输出类别文字
翻译Encoder-Decoder + Beam Search输出翻译文字
摘要Encoder-Decoder + 特殊解码输出摘要文字
问答span extraction 头输出答案文字
回归输出实数输出数字文字

T5 说:别这么麻烦,全给我转成文本。模型只有一个 loss(生成文本的 cross-entropy),所有任务一起训练,所有任务一起推理。

类比:以前每个业务部门都有自己的报表系统——财务用 Excel、销售用 CRM、运营用 BI。T5 说:所有部门都用一个记事本,写什么就拿什么——统一接口、统一格式、统一训练。

3.3 模型结构:经典 Encoder-Decoder

         输入文本                              输出文本
            │                                    ▲
            ▼                                    │
   ┌─────────────────┐                  ┌─────────────────┐
   │   Encoder       │                  │   Decoder       │
   │  ┌───────────┐  │                  │  ┌───────────┐  │
   │  │ Self-Att  │  │ ────────────────▶ │  │ Self-Att  │  │ ← 单向 mask
   │  │ (双向)    │  │   Cross-Att      │  └───────────┘  │
   │  └───────────┘  │                  │  ┌───────────┐  │
   │  ┌───────────┐  │                  │  │ Enc-Dec   │  │ ← 看 encoder
   │  │ FFN       │  │ ────────────────▶ │  │ Attention │  │
   │  └───────────┘  │                  │  └───────────┘  │
   │  (12 层)        │                  │  ┌───────────┐  │
   └─────────────────┘                  │  │ FFN       │  │
                                        │  └───────────┘  │
                                        │  (12 层)        │
                                        └─────────────────┘

T5 的结构 = 标准 Transformer Encoder-Decoder

  • Encoder:双向注意力,处理输入文本
  • Decoder:单向 Masked 注意力 + Encoder-Decoder Cross Attention,逐字生成输出

类比:T5 像一个翻译公司——

  • Encoder(翻译助理)先把客户的中文材料通读一遍、双向理解
  • Decoder(翻译官)拿到助理的笔记,一个字一个字翻译成英文
  • 翻译官不能跳着写——必须从第一个英文单词开始往后逐字生成(Masked)

3.4 关键技术细节

A. 相对位置编码

T5 没用 BERT/GPT 的绝对位置编码,而是用相对位置编码——每个 attention 分数加上一个和"两个 token 距离"相关的偏置。

距离含义类比
0自己镜子里的自己
1相邻隔壁工位
2隔一个隔一个工位
.........
128+全部进最后一桶远处不重要,记个大概就行

好处:训练时学到的"距离关系"能泛化到比训练时更长的序列(外推性好)。

类比:BERT/GPT 的绝对位置像给每个人发固定楼层卡(3 楼 5 号);T5 的相对位置像只记录"我和他隔几个人"——更灵活,换位置不影响理解。

B. 简化版 Layer Normalization

把 LayerNorm 从残差块内部移到残差块外部,训练更稳定,显存占用更小。

类比:以前是"做完每一步就检查一次作业";T5 是"做完一整块再检查一次"——更高效、占用更少资源。

C. SentencePiece 分词器

T5 用 SentencePiece(Google 开源的子词切分工具)做分词,统一处理中英文不依赖空格的语言。

类比:BERT 用 WordPiece(按词切)、GPT 用 BPE(按频率切),T5 用 SentencePiece(按概率切)。工具不同,效果类似——都是把"不可切"的中文/日文/希腊文切成模型能吃的子词。

3.5 预训练任务:Span Corruption

T5 的预训练任务叫 Span Corruption(连续片段破坏):

原文:Thank you for inviting me to your party last week.
破坏:Thank you <X> me to your <Y> week.
目标:<X> for inviting <Y> party last <Z>

随机选若干连续片段(平均长度 3),用哨兵 token <X>, <Y>, <Z> 替换,模型要按顺序生成出这些被替换的片段

和 BERT Masked LM 的区别

BERTT5
遮蔽方式单个 token连续片段(平均 3 个 token)
遮蔽比例15%15%
哨兵 token无(直接 [MASK]<X> <Y> <Z> 占位
目标猜被遮的单个词按顺序还原被遮的多个片段

类比

  • BERT 的训练任务是"挖掉单个字让你填"——高考完形填空
  • T5 的训练任务是"挖掉一整段让你填"——更接近真实任务中"信息缺失"的模式,比如新闻摘要本来就丢了一半内容

3.6 T5 三个尺度

规模参数量层数类比
T5-small6000 万6实习生——演示、教学用
T5-base2.2 亿12正式员工——一般任务够用
T5-large7.7 亿24主管级——高质量任务
T5-11B110 亿24总裁级——SOTA 效果

3.7 T5 的影响

T5 的"万物皆文本"思想影响极大——后来的 GPT-3 / GPT-4 / PaLM / ChatGPT 本质上都在用类似思路:

  • 一个超大模型
  • 一个统一的文本接口(对话 prompt)
  • 一个统一的训练目标(下一个 token)

T5 是这条路的先驱。

类比:T5 提出了"一个模型吃所有任务"的设想——后来 GPT-3/ChatGPT 把它推到了极致:只要 prompt 写得好,一个对话框搞定一切

四、BERT / GPT / T5 对比

4.1 一图看懂

4.2 详细对比表

维度BERTGPTT5
架构Encoder-onlyDecoder-onlyEncoder-Decoder
类比阅读理解学霸写作小说家万能翻译官
注意力双向单向 Masked双向 + 单向
训练目标Masked LM + NSP下一个词预测Span Corruption
擅长理解(分类/QA/NER)生成(续写/对话/翻译)通用(全任务)
不能做的事自然文本生成利用下文单架构吃所有任务 = 规模更大
典型规模110M~340M117M~1.5B60M~11B
后继者RoBERTa、ALBERT、ERNIEGPT-3、GPT-4、ChatGPTFlan-T5、mT5、UL2
业务场景智能客服问答理解、文本审核AI 写作、对话机器人、代码生成多任务 NLP 平台

4.3 怎么选?

业务需求推荐类比
评论情感分析 / 意图识别BERT 类只读不写,BERT 速度更快
客服机器人 / 写作助手 / 代码生成GPT 类必须会写,GPT 最自然
多任务 NLP 平台(一模型吃所有)T5 类通用接口,省去每个任务做模型
实时性要求高(推理快)BERT 类Encoder 比 Decoder 推理快一倍
超长文本生成T5 类Encoder-Decoder 长文本生成更稳

类比:招聘 NLP 工程师——

  • BERT阅读理解专家(读得快、答得准)
  • GPT内容创作专家(想到哪写到哪)
  • T5翻译官(什么语言都能翻,但不是最精)

看业务需求招对的人,模型也一样——架构选错 = 产品选错


五、演进时间线(2017-2023)

2017  Transformer 论文
      │  ← 乐高底座诞生
      │
2018  GPT-1  ────▶ BERT ────▶ ELMo
      │ 单向         双向
      │ 小说家       学霸
      │ 110M         340M
      │
2019  GPT-2          RoBERTa  ────▶ T5
      │ 大模型       BERT 升级      万物皆文本
      │ 1.5B        同样双向       翻译官
      │                           220M~11B
      │
2020  GPT-3
      │ 1750 亿参数
      │ In-context learning
      │ "博学的全才"
      │
2022  InstructGPT / ChatGPT
      │ RLHF 让模型听话
      │ "有礼貌的全才"
      │
2023  GPT-4 / Claude / Gemini
      │ 多模态、更长上下文
      │ "全能助理"
      ▼

规律:模型越来越大、训练目标越来越统一、应用场景从"专用"走向"通用"。

类比:从 Transformer 到 GPT-4 的演进,像手机从功能机到智能机——

  • 2017 Transformer = 第一台触屏手机
  • 2018 BERT/GPT = 不同操作系统的早期智能机
  • 2020 GPT-3 = 智能手机
  • 2023 GPT-4 = 全能助理

每一代都比上一代"什么都能干"。


六、作为 AI 产品经理要记住的 5 件事

  1. 架构决定能力:BERT 擅长理解、GPT 擅长生成、T5 想统一一切——选错架构 = 选错产品
  2. 大模型的核心是"预训练 + 微调/提示":先把通用能力预训练好,再针对具体任务调
  3. 数据量决定上限:BERT 用 33 亿词、GPT-3 用 3000 亿 token、T5 用 750 GB 文本
  4. 统一接口是大趋势:从 T5 的"万物皆文本"到 ChatGPT 的"万物皆对话",都是这个思路
  5. 看名字猜架构:看到 *-BERT 一般是 Encoder,看到 *-GPT 一般是 Decoder,看到 *-T5 一般是 Encoder-Decoder

参考资料

  1. 图解 BERT - datawhalechina/learn-nlp-with-transformers
  2. 图解 GPT - datawhalechina/learn-nlp-with-transformers
  3. T5 结构及应用 - datawhalechina/base-llm
本文整合了三篇原始教程的核心知识点,按"AI 产品经理入门"视角重新组织。所有配图来自原始仓库,版权归原作者所有。

For you, a thousand times over!