用讲故事的方式来解释 Transformer

0 评论 173 浏览 0 收藏 9 分钟

Transformer模型如何成为AI领域的'翻译官'?本文用生动比喻揭秘自注意力、多头机制等核心原理,带你读懂这个支撑GPT、BERT等大模型的技术底座。从词袋处理到位置编码,从并行计算到远距关联,你将看到现代AI如何突破传统RNN的局限,同时直面数据饥渴与算力消耗的双重挑战。

让我给你讲一个故事。

这个故事的主角是一位翻译官,名叫 Transformer(小T)

他的工作是把一本英文小说翻译成中文。

小T接到一个句子:

“The cat chased the mouse, but it was too fast.”

他知道“it”可能指“猫”,也可能指“老鼠”。

普通翻译官(比如RNN)是一个词一个词地读,读到后面“it”时,脑子里对前面“cat”和“mouse”的记忆已经模糊了,容易翻译错。

但小T不一样。

他不是按顺序读,而是一眼把整句话全看进眼里,然后同时问自己

“这句话里每个词,和其他所有词有什么关系?”

——这叫自注意力

小T有一种超能力:他可以把每个词变成三种卡片

  • Q卡(查询卡):写着“我在找谁?”
  • K卡(钥匙卡):写着“我是什么内容”
  • V卡(价值卡):写着“我能提供什么信息”

当他想知道“it”是指谁时:

  1. 他把“it”的Q卡拿出来,和全句所有词的K卡一一配对。
  2. 每对一次,心里算一个亲密值(点积)。
  3. 亲密值越大的词,越值得关注。

结果:

  • “it” × “cat” = 亲密值 0.8
  • “it” × “mouse” = 亲密值 0.2
  • 其他词 ≈ 0
  • 他用这个亲密值作为权重,把所有词的V卡加权汇总

于是,“it”的最终理解里,80%是猫的信息,20%是老鼠的信息。

——这就是自注意力

小T一个人不够。

因为语言太复杂了——“it”和“cat”是指代关系,但这句话里还有主谓结构时态否定……

所以小T召唤了8个分身

  • 分身1负责找指代(谁是谁)
  • 分身2负责找动作(谁追谁)
  • 分身3负责找情感(快不快)
  • ……

每个分身都用自己的Q/K/V卡片做一遍自注意力。

最后,8个分身把结果拼在一起,再压缩成一个完整的理解。

——这叫多头注意力

小T有个弱点:他是一眼全看的,他不知道“猫追老鼠”和“老鼠追猫”有什么区别——在他眼里,词袋而已。

所以他需要位置编码

这就像给每个词发一张座位票

  • 第1个词:“猫” + 座位票①
  • 第2个词:“追” + 座位票②
  • 第3个词:“老鼠” + 座位票③

座位票是用sin/cos函数画的特殊图案,每个座位图案独一无二。

词嵌入向量 + 座位票向量 = 小T真正看到的输入。

——于是他终于能分清顺序了。

小T的大脑由6层编码器堆叠而成(原版是6层)。

每一层做两件事:

  1. 自注意力(带上多头)—— 理解词与词的关系。
  2. 全连接网络(MLP)—— 对理解做更深加工。

每一层都有一条高速公路(残差连接),让原始信息也能直达下一层,防止信息丢失。

最后一层编码器输出的是整个句子的深层理解——把它打包成两份文件:K大全V大全,交给翻译部门。

小T还有一个解码器团队,负责生成中文翻译

他们的工作方式很特殊:

1. 带“眼罩”的自注意力

解码器也在看自己已经翻译出来的中文词。

但它有一个规矩:不能看未来的词

比如它已经翻译出“那只猫”,正在准备翻译第三个词。

它只能看“那只”“猫”,不能偷看后面的词。

怎么办?

在算亲密值时,把未来位置的分数全打成负数(相当于戴眼罩),softmax之后它们都是0。

——这叫掩码自注意力

2. 回头请教编码器

翻译到第三个词时,解码器不仅要看已翻译的中文,还要回头看看英文原文

于是它把自己的Q卡拿出来,和编码器给的K大全做点积,找到英文里哪些词和自己现在要翻译的词最相关。

再用这些权重去加权编码器给的V大全,把原文的相关信息提取过来。

——这叫编码器-解码器注意力

3. 一个字一个字地生肉

解码器是自回归的:

  • 第一步:输入<开始>,输出“那只”
  • 第二步:输入“那只”,输出“猫”
  • 第三步:输入“那只猫”,输出“追”
  • ……

每一步它都从词表里挑一个最可能的词

挑法有两种:

  • 贪心:每一步都选概率最高的那个词——像饿汉吃自助,眼前哪个肉最大夹哪个,可能后面后悔。
  • 束搜索:每一步保留top-3的候选句子,最后选整体概率最高的——像棋手想三步,全局最优。

小T为什么这么牛?

  1. 他能并行工作。别的翻译官(RNN)必须等前一个词翻译完才能处理下一个。小T所有词同时处理,训练速度快几十倍
  2. 他能抓住远距离关系:“it”和开头的“cat”隔了6个词,他一跳就能关联上。RNN要传6步,中间信息容易衰减。
  3. 他能从多个角度看问题:多头注意力 = 8个专家会诊,理解更立体

小T也有烦恼

  1. 他饭量太大:小T的大脑(参数量)超级大,GPT-3有1750亿个参数。训练他一次要花几百万美元电费,普通公司根本养不起。
  2. 他挑食:小T需要海量的训练数据。如果只给他几万条句子,他学得还不如CNN、LSTM。但一旦给他几十亿条句子,他就无敌了。
  3. 他不是一个人在战斗:别以为只要“注意力”就够了。没有残差连接,他学不深;没有全连接层,他表达能力不够。整个团队(注意力+MLP+残差+归一化)缺一不可

现在全世界都在养小T:

  • BERT(只有编码器)—— 擅长阅读理解、填空题。
  • GPT(只有解码器)—— 擅长写作、对话。
  • T5(编码器+解码器)—— 擅长翻译、摘要。

而且小T不仅能翻译文字,还能看图(ViT)、听音、分析蛋白质……

万物皆可Transformer。

故事讲完了。

你现在知道了:

  • 自注意力 是他在词与词之间拉关系。
  • 多头 是他用多个角度理解。
  • 位置编码 是给词的座位票。
  • 编码器 是阅读理解。
  • 解码器 是戴着口罩翻译。
  • 并行、长距离、大模型 是他的三把利剑。
  • 贵、馋数据、依赖全套架构 是他的软肋。

这就是 Transformer——现代人工智能最会讲故事的翻译官。

本文由 @Sheila 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!