独家|魔术背后:张量如何驱动变换器(Transformer)

作者:Ziad SALLOUM翻译:赵茹萱校对:陈之炎
本文约4200字,建议阅读10分钟变换器使用张量来帮助它们学习并做出明智的决策。

图片由ChatGPT生成

简介


变换器改变了人工智能在语言理解和数据学习等方面的工作方式,大语言模型的核心是张量(一种帮助处理信息的通用数学矩阵)。当数据通过变换器的不同部分时,张量会发生不同的变换,从而帮助模型理解句子或图像等内容。了解变换器中的张量是如何工作的,有助于理解当今最智能的人工智能系统究竟是如何工作和思考的。

本文涉及的内容


✅本文涉及的内容:

  • Transformer 模型中从输入到输出的张量流。

  • 确保整个计算过程的维度一致性。

  • 张量在不同变换器层中经历的逐步变换。

❌ 本文不涉及以下内容:

  • Transformer或深度学习的一般介绍。

  • 变换器模型的详细架构

  • 训练过程或Transformer的超参数调整。

张量如何在变换器中发挥作用


变换器由两个主要部分组成:

  • 编码器:处理输入数据,捕捉上下文关系,创建有意义的表述。

  • 解码器:利用这些表示法生成一致的输出,按顺序预测每个元素。

张量是经过这些组件处理的基本数据结构,会经历多重转换,以确保维度的一致性和适当的信息流。

图片来自研究论文:变压器标准结构

输入嵌入层


在进入变换器之前,原始输入标记(单词、子单词或字符)会通过嵌入层转换成密集的向量表示。该层的功能是作为一个查找表,映射每个标记向量,捕捉与其他词的语义关系。

作者提供的图片:通过嵌入层的张量

对于一批五个句子,每个句子的序列长度为12 个词组,嵌入维度为 768,张量形状为:

  • 张量形状:[batch_size, seq_len, embedding_dim] → [5, 12, 768] 

嵌入后,添加位置编码,确保在不改变张量形状的情况下保留顺序信息。

研究论文中的修改图片:工作流程情况

多头注意力机制


多头注意力(MHA)机制是Transformer 最关键的组成部分之一。该机制对从输入嵌入中提取的三个矩阵进行操作:

  • Query (Q)

  • Key (K)

  • Value (V)

这些矩阵是使用可学习的权重矩阵生成的:

  • Wq, Wk, Wv的形状为 [embedding_dim, d_model](例如 [768, 512])。

  • 得到的Q、K、V 矩阵的维数为 [batch_size, seq_len, d_model]。

图片由作者提供:显示嵌入、Q、K、V 张量形状/维数的表格

将Q、K、V 分割为多个头


为了实现有效的并行化并提高学习效率,MHA将Q、K和V分成多个注意力头。假设有8 个注意力头:

  • Each head 操作 d_model / head_count 的子空间。

图片由作者提供:多头关注

  • 重塑的张量维数为[batch_size、seq_len、head_count、d_model / head_count]。

  • 示例:[5,12,8,64] → 重新排列为 [5,8,12,64],以确保每个头收到一个单独的序列片段。

图片由作者提供:重塑张量

  • 所以每个头都会得到Qi, Ki, Vi的份额

图片由作者提供:Qi,Ki,Vi分别输送到不同的头部

注意力计算


每个头使用以下公式计算注意力:

一旦计算出所有头部的注意力,就会对输出进行合并,并通过线性变换,恢复初始张量形状。

图片由作者提供:串联所有标题的输出

研究论文中的修改图片:工作流程情况

残差连接和归一化


在多头注意力机制之后,会添加一个残差连接,然后进行层归一化:

  • Residual 连接:输出 = 嵌入张量 + 多头注意力输出;

  • 归一化:(输出- μ)/ σ 以稳定训练;

  • 张量形状保持不变 [batch_size, seq_len, embedding_dim]。

图片由作者提供:残余连接

前馈网络(FFN)


在解码器中,屏蔽多头注意力确保每个标记只关注之前的标记,从而防止未来信息的泄漏。

研究论文中的修改图片:遮蔽式多头注意力

这需要使用一个形状为[seq_len, seq_len]的下三角掩码,并在上三角中设置-inf值。应用该掩码可确保 Softmax 函数使未来位置无效。

图片由作者提供:面具矩阵

解码中的交叉注意


由于解码器并不能完全理解输入句子,因此它会利用交叉注意力来完善预测。在这里:

  • 解码器根据其输入([batch_size, target_seq_len, embedding_dim])生成查询 (Qd)。

  • 编码器输出作为键(Ke)和值(Ve)。

  • 解码器计算Qd和Ke之间的关注度,从编码器的输出中提取相关上下文。

研究论文中的修改图片:交叉注意力

结论


变换器使用张量来帮助它们学习并做出明智的决策。当数据在网络中移动时,这些张量会经过不同的步骤,比如转化为模型可以理解的数字(嵌入)、聚焦于重要部分(关注)、保持平衡(归一化),以及通过学习模式的层级(前馈)。这些变化让数据始终保持正确的形状。通过了解张量如何移动和变化,我们可以更好地了解人工智能模型如何工作,以及它们如何理解和创造类似人类的语言。

免责声明:本博客文章仅供参考。本文对应的英文原文和翻译文本无意也不会提供法律建议或法律意见,同时并非解决法律问题或处理诉讼的自助指南。本文不能替代经验丰富的法律顾问,且不针对任何具体情况或雇主提供法律建议。

编辑:黄继彦

译者简介

赵茹萱,东南大学法律硕士,现就职于北京市京都律师事务所,喜欢浏览“数据圈儿”,分享数据资讯的法律人。愿与我派一起,继续探索未知,保持热爱。

翻译组招募信息

工作内容:需要一颗细致的心,将选取好的外文文章翻译成流畅的中文。如果你是数据科学/统计学/计算机类的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友欢迎加入翻译小组。

你能得到:定期的翻译培训提高志愿者的翻译水平,提高对于数据科学前沿的认知,海外的朋友可以和国内技术应用发展保持联系,THU数据派产学研的背景为志愿者带来好的发展机遇。

其他福利:来自于名企的数据科学工作者,北大清华以及海外等名校学生他们都将成为你在翻译小组的伙伴。

点击文末“阅读原文”加入数据派团队~

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

关于我们

数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。

新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

点击“阅读原文”拥抱组织

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值