AI 专家回顾讲座第二部分:变形金刚

image-20230801161753541

在前面的第一部分的讨论中,我们深入研究了注意力的概念,这是当代深度学习模型中的基石技术。就像在发动机上增加涡轮增压器一样,Attention 显著提高了神经机器翻译系统的效率。在本次对话中,我们的焦点落在一个名为 The Transformer 的革命性模型上,它利用注意力的力量来加快模型训练速度。

Transformer通过在某些任务中超越Google神经机器翻译模型来展示其实力。然而,它的真正优势在于它与并行计算的兼容性,这种功能类似于交响乐团和谐地演奏,从而提高了性能。为了证明其效率,Google Cloud提倡使用The Transformer作为其Cloud TPU服务的基准模型。现在,让我们剖析变形金刚以了解其内部工作原理。

变形金刚在题为“注意力是你所需要的一切”的论文中首次亮相。如果你对实际实现感兴趣,你可以找到一个TensorFlow版本作为Tensor2Tensor包的一部分。此外,哈佛大学的自然语言处理小组还制作了一份指南,用PyTorch实现对本文进行了注释。在此讨论中,我们的目标是简化复杂性,逐个分解概念。这种方法旨在使内容更容易为那些在该主题方面没有广泛背景的人消化。

让我们更深入地探讨:

ChatGPT能够进行令人惊讶的类似人类的对话,这点燃了人们对人工智能系统的强烈好奇心,这些系统为其自然语言能力提供了动力。了解chatGPT需要解开变压器的包装,这是支撑其功能的神经网络架构。

变形金刚首次在2017年谷歌大脑和多伦多大学研究人员的论文“注意力是你所需要的一切”中引入的。转换器代表了自然语言处理的范式转变,完全避开卷积和循环网络,转而支持基于注意力的机制。

我们将深入探讨转换器的工作原理,并分析实现其语言语义和关系卓越建模的关键创新。

体系结构概述

转换器遵循编码器-解码器架构。编码器将输入序列映射到高维潜在表示形式,解码器使用此表示形式生成输出序列。

该模型包括一堆编码器,后跟一堆解码器。增加堆栈数量可增强模型的表征能力,以捕获更高级别的概念和更长期的依赖关系。

编码器和解码器都包含多个相同的层。每一层都有两个子层——多头自我注意层和位置前馈神经网络。残差连接有助于梯度在训练期间跨层流动。

标记化 — 将文本转换为离散标记

处理文本的第一步是将其分解为标记。标记可以是单个单词、子单词单元,甚至是单个字符。标记化将原始文本字符串转换为离散标记序列。

例如,句子“敏捷的棕色狐狸跳过懒惰的狗”将被标记为 9 个单词的标记。像“jumps”这样的长词或稀有词可以拆分为子词单元,如[“jump”,“s”]。

词汇表中的每个唯一标记都分配有一个整数 ID。 标记化将句子转换为用作模型输入的标记 ID 序列。

嵌入 — 赋予令牌以意义

虽然令牌 ID 标识离散令牌,但它们缺乏任何固有含义。转换器通过嵌入层丰富具有含义的令牌 ID。

嵌入层是一个可学习的查找表,将每个令牌 ID 映射到高维向量表示。例如,单词“fox”可以映射到 768 维嵌入向量。因此,嵌入矩阵将词汇映射到嵌入空间。

直观地说,嵌入对语义含义进行编码,使得在类似上下文中使用的标记具有相似的嵌入。嵌入之间的距离反映了标记之间的语义和句法关系。

自我注意 — 建模环境和关系

自我注意是使转换者能够对语言中的复杂上下文和关系进行建模的核心机制。它允许模型在对特定令牌进行编码时合并来自所有令牌的信息,而不仅仅是附近的令牌。

对于每个令牌,自我注意计算查询向量、键向量和值向量。然后,它会计算一个分数,表示查询与每个键之间的相关性。高度相关的键的值根据这些分数与权重相加,从而创建令牌的新上下文感知表示形式。

至关重要的是,自我注意将查询、键和值向量与每个令牌并行关联。这允许每个令牌构建一个表示形式,同时包含来自输入序列所有部分的潜在相关上下文。

多头自我注意将查询、键和值投射到多个学习的线性子空间中。这样可以对不同的上下文关系进行建模,并提供多样性以改进预测。

前馈神经网络 — 进行局部预测

前馈子层根据来自自我注意层的每个令牌的表示进行局部自主预测。它应用两个线性变换以及非线性激活来进一步处理这些表示。

虽然自我注意包含上下文信息,但前馈层根据前面令牌的表示进行局部预测。将自我注意与前馈层相结合,可以在利用上下文和局部依赖性之间取得平衡。

通过语言建模进行预训练

变形金刚通过使用自监督语言建模对大量文本语料库进行预训练来获得强大的语言理解。

目标是在给定所有先前上下文的情况下预测下一个令牌。使用大型文本数据集,将标记序列作为输入馈送到模型。转换器尝试预测后续令牌,错误允许更新模型以改进未来的预测。

此语言建模目标训练模型,以培养对语言语义、关系和语法的丰富理解。经过广泛的预训练后,可以使用标记的数据对下游任务对模型进行微调。

通过概率采样生成文本

为了生成文本,转换器输出到目前为止给定生成的下一个令牌的整个词汇表的概率分布。从此分布中采样将生成下一个预测令牌。

将采样的令牌作为输入反馈并重复该过程会产生生成的文本流。或者,可以贪婪地选择概率最高的代币,而不是采样以减少重复。

预训练和由自我注意驱动的概率文本生成相结合,使像chatGPT中的转换器能够产生非常雄辩的,类似人类的文本。

底线

这种深入的探讨揭示了是什么赋予了变压器巨大的代表性。自我注意允许在编码每个令牌时合并来自长序列的信息。大量的预训练会教模型细致入微的语义和语法。

虽然变形金刚乍一看似乎很神秘,但仔细分析就会发现,变形金刚在语言任务中取得了前所未有的成功,从而揭示了架构和数学的优雅。变形金刚在自然语言处理领域开辟了令人兴奋的新领域——chatGPT 才刚刚开始探索的领域。

猜你喜欢

转载自blog.csdn.net/shupan/article/details/132056673