Transformer 工作流程

lxf2023-12-19 00:20:01

运动发财的小手,点个赞吧!

自打最新Large Language Models(LLaM)发布以来,如OpenAI的GPT系列产品、开源系统实体模型Bloom或谷歌搜索公布的LaMDA等,Transformer展示出了极大的发展潜力,变成了深度学习的最前沿架构设计榜样。

虽然已有三篇文章阐述了 transformer 以及其背后的数学方法,但本文,我觉得融合我觉得最好的办法和我的观点,得出一个完整的简述。自己的想法与使用 Transformer 模型自己的经验。

文中尝试对 Transformer 数据进行深层次数学简述,展现自身强大由来并解释其各个控制模块深层原因。

自然语言理解(NLP)介绍

在广泛使用 Transformer 实体模型以前,必须掌握建立它们每日任务,即解决文字。

因为神经元网络应用 Tensor ,为了把文本输入神经元网络,大家必须要先把它转化为数字表明。将文字(或所有其他目标)转化为数字方式的举动称之为置入。理想化前提下,内嵌式表明可以重现文字的特点,比如英语单词相互关系或文字的情绪。

方法有哪些能够实行置入,文中的效果并不是表述他们,而是因为应当掌握它们一般制度和他们造成输出。如果你不太熟悉置入,只需要将他们视作实体模型架构设计里将文字转化为数字的另一层。

常用置入应用于文字的英语单词,将所有单词转换成一个真正高维度的空间向量(将文字划分成运用置入元素称之为标识)。在初始文章中,每一个标识/词汇的置入层面为 512。最重要的是需要注意空间向量变位系数早已归一化,因而神经元网络可以恰当学习培训同时避免梯度爆炸。

置入的一个重要原素是语汇。这对应着适合于给予 Transformer 模型全部标识(英语单词)的结合。语汇不一定仅仅语句中常用的词,反而是与其说主题风格有关的所有其他词。比如,假如 Transformer 将主要用于剖析法律条文,又与官吏行语有关的每一个词用务必包含于词汇中。一定要注意,词汇越多(它可能与 Transformer 任务相关),置入越能找到标识相互关系。

除去英语单词以外,词汇和文字编码序列中还加入了一些其他标记。这种标识标记文字的独特一部分,如开头 、末尾 或添充 (加上添充以便全部编码序列拥有相同长度)。标记并作为空间向量置入。

数学里,置入室内空间构成了一个归一化线性空间,在其中每一个空间向量对应一个特定标识。线性空间的前提由嵌入层可以在标识中间查到的关联明确。比如,一个层面很有可能相匹配以-ing结尾形容词,另一个层面有可能是具备重大意义的词语等。除此之外,空间向量中间的视角取决于标识间的相似度,打造具有语义关系的标识簇。

Transformer 工作流程

虽然只有提及了文本检索任务,可事实上 Transformer 是为了解决一切种类顺序数据信息量身定做的。

Transformer 工作流程

Transformer 工作流程

图中是近年来深度神经网络实验中被拷贝数最多的数据图表之一。它归纳了 Transformers 的一体化工作内容,代表着环节中涉及到的各个部分/控制模块。

更高立体图将 Transformers 分成 Encoder(图上左边蓝色方块)和 Decoder(右边蓝色方块)。

为了能表明 Transformers 工作原理,我们将应用从西语到英语字幕翻译实例每日任务。

  • 伺服电机的目的是寻找键入编码序列的标识相互关系,既要译成西语的语句。它获得西语语句做为键入(在运用置入以后)并导出由注意机制权重计算的同样编码序列。从数学里讲,伺服电机在西语标识的置入空间内实行变换,依据空间向量在语句含意中的作用对空间向量开展权重计算。

我没有界定专注力是啥,但基本能够视之为一个函数,该函数公式回到一些指数,这种指数重新定义了句中所有单词相比于其他词汇的必要性。

  • 另一方面,视频解码器首先把汉语翻译后的英文语句做为键入(原图片中的导出),运用专注力,随后在另一个注意机制里将结果和伺服电机输出结合在一起。直接地,视频解码器学习培训将目标置入室内空间(英文)与键入置入室内空间(西语)密切相关,便于它寻找2个线性空间中间的前提转换。

Transformer 工作流程

为清晰考虑,我们将应用标记源键入来泛指伺服电机的键入(西语的语句),应用总体目标键入来泛指视频解码器中引进的期望导出(英语的句子)。该标记将于文中的其他部分保持一致。

如今使我们研究一下转化器的键入(源和总体目标)和输出:

如同大家所闻,Transformer 输入文本被嵌入到高维空间线性空间中,因而输入并不是语句,反而是空间向量编码序列。但是,存有更加好的数学结构来描述空间向量编码序列,即引流矩阵!更进一步,在训练神经网络时,我们不应该逐一样版地练习它,反而是应用包括好几个样品的批号。产生的键入是样子为 [N, L, E] 的偏微分,在其中 N 是大批量尺寸,L 是编码序列长短,E 是置入层面。

Transformer 工作流程

对于 Transformer 输出,运用了一个 Linear Softmax 层,它产生一些导出几率(回想一下,Softmax 层导出定义类的概率分布函数)。 Transformer 输出并不是翻译后的语句,反而是词汇的概率分布函数,它取决于几率最大的英语单词。一定要注意,针对编码序列长短中的每一个部位,都是会形成概率分布函数以挑选具备更高一些几率的后一个标识。因为在练习期内 Transformer 一次解决全部语句,大家得到一个 3D 偏微分做为导出,它表明样子为 [N, L, V] 的词标识的概率分布函数,在其中 N 是大批量尺寸,L 是编码序列长短,而且V 语汇长短。

Transformer 工作流程

最终,预测标识是几率最高标识。

如 NLP 介绍一部分上述,置入后全部编码序列都拥有相同长度,这对应着 Transformer 能够引进/所产生的最多很有可能编码序列。

练习与预测分析

针对文中第 1 部分最终一节,我觉得强调一下 Transformer 的练习环节与预测分析环节。

至始一节上述,Transformer接纳2个键入(源和总体目标)。在练习期内,Transformer 可以一次解决全部键入,这就意味着键入偏微分只通过实体模型一次。导出实际是上图中呈现出来的 3 维几率偏微分。

Transformer 工作流程

反过来,在预测分析环节,没有方向键入编码序列提供给 Transformer(假如我们已知道汉语翻译的语句,大家就可以不用机器学习模型去进行字幕翻译)。那样,大家输入什么做为总体目标键入呢?

恰好是在这一点上,Transformer的自回归个人行为直露。 Transformer 还可以在伺服电机中一次解决源键入编码序列,但是对于视频解码器的控制模块,他会进入一个循环系统,在每一次迭代更新中它只形成编码序列里的下一个标识(语汇标识里的行几率空间向量)。再将具有较强几率的选定标识再度键入为主要目标键入,因而 Transformer 自始至终按照其此前预测来评估下一个标识(因而具备自回归实际意义)。可是在第一次迭代更新时输入第一个标识是什么样的?

记得 NLP 介绍部分标记吗?做为总体目标键入引进的第一个元素是标识语句开头逐渐标识 。

Transformer 工作流程

Transformer 工作流程

汇总

这一部分阐述了更好地了解 Transformers 实体模型所必须的第一个基本概念定义。再下一部分中,我们将深入分析绝大多数数学课所属的 Transformers 架构的每一个控制模块。

文中其背后的核心思想和定义是:

  • 转化器在置入系统定义的归一化线性空间中工作中,在其中每一个层面意味着标识中间的特点。
  • Transformers 键入是样子为 [N, L, E] 的偏微分,在其中 N 表明大批量尺寸,L 是编码序列长短(因为添充,每一个编码序列全是常量),E 表明置入层面。
  • 当伺服电机在源置入空间内探寻标识相互关系时,视频解码器任务就是学习从源室内空间到目标空间的投射。
  • Transformer 输出是一个线空间向量,其长短相当于词汇大小,在其中每一个指数意味着相对应检索标识被放置于编码序列中下部一个的几率。
  • 在练习期内,Transformer 一次解决全部键入,导出一个 [N, L, V] 偏微分(V 是词汇长短)。但在预测分析环节中,Transformer是自回归的,一直依据他们曾经预测逐一标识地预测分析。

本文由mdnice多平台分发

本站是一个以CSS、JavaScript、Vue、HTML为中心的前端开发技术网址。我们的使命是为众多前端工程师者提供全方位、全方位、好用的前端工程师专业知识和技术服务。 在网站上,大家可以学到最新前端开发技术,掌握前端工程师最新发布的趋势和良好实践。大家提供大量实例教程和实例,让大家可以快速上手前端工程师的关键技术和程序。 本站还提供了一系列好用的工具软件,帮助你更高效地开展前端工程师工作中。公司提供的一种手段和软件都要经过精心策划和改进,能够帮助你节约时间精力,提高研发效率。 此外,本站还拥有一个有活力的小区,你可以在社区里与其它前端工程师者沟通交流技术性、交流经验、处理问题。我们坚信,街道的能量能够帮助你能够更好地进步与成长。 在网站上,大家可以寻找你需要的一切前端工程师网络资源,使您成为一名更加出色的网页开发者。欢迎你添加我们的大家庭,一起探索前端工程师的无限潜能!