Transformer:内部工作原理及拆解

B站影视 2025-01-18 19:38 2

摘要:Transformer 是一种特定的神经网络架构,彻底改变了人工智能领域,尤其是在自然语言处理 (NLP) 中。它是大型语言模型(如 ChatGPT)的核心技术。

Transformer 是一种特定的神经网络架构,彻底改变了人工智能领域,尤其是在自然语言处理 (NLP) 中。它是大型语言模型(如 ChatGPT)的核心技术。

LLMs 是基于大量文本数据训练的 AI 系统,能够生成类似人类的文本、翻译语言、撰写不同类型的创意内容,以及回答问题。Transformer 架构使这些模型能够以全新的方式处理和理解语言,从而实现过去无法达到的效果。

Transformer 的架构

输入分词 (Input tokenization):

文本输入被分解为称为“token”的小单元,然后将其与表示意义的数值向量相关联。

嵌入矩阵 (Embedding Matrix):

该矩阵将每个 token 映射为其在高维空间中的初始向量表示。语义相近的词通常在该空间中聚集在一起。模型在训练过程中通过调整权重来决定词语如何被嵌入为向量,最终会形成一个嵌入集,其中空间中的方向具有某种语义意义。

注意力模块 (Attention Blocks):

这些模块使向量能够相互作用,并根据周围词语的上下文更新其语义。

注意力模块负责确定上下文中哪些词语与其他词语的语义更新相关,以及具体如何更新这些语义。

多层感知机模块 (MLP Blocks):

这些模块对向量进行进一步处理,优化其表示。

输出生成 (Output Generation):

序列中的最终向量用于预测下一个 token 的概率分布。

重复预测与采样 (Repetitive Prediction and Sampling):

大型语言模型通过反复预测下一个词、从分布中采样并将其附加到现有文本中来生成文本。

词嵌入与上下文意义

几何表示 (Geometric Representation):

词嵌入被可视化为高维空间中的点,其位置编码了语义关系。

上下文适配 (Contextual Adaptation):

向量在经过 Transformer 的过程中,其初始语义会根据周围上下文被进一步优化。想想你对某个词的理解。这个词的意义显然是由周围的上下文决定的,有时这种上下文可能来自很远的距离。

点积相似性 (Dot Product for Similarity):

向量之间的点积用于测量它们的对齐程度,以表明语义相似性。

训练与参数

权重矩阵 (Weight Matrices):

Transformer 使用大量的权重矩阵,这些矩阵的值在训练过程中被调整以优化性能。

GPT-3 的规模 (GPT-3 Scale):

GPT-3 具有 1750 亿个参数,这些参数被组织为成千上万个矩阵,展示了模型的复杂性。

反向传播算法 (Backpropagation Algorithm):

这种算法被用来训练包括 Transformer 在内的深度学习模型。

Softmax 和温度参数

概率分布 (Probability Distribution):

Softmax 函数将输出值归一化为概率分布,确保这些值介于 0 和 1 之间且总和为 1。

温度控制 (Temperature Control):

温度参数可用于调整分布,使其更均匀或更集中特定值,从而影响输出的创造性。

上下文长度与限制

上下文限制 (Limited Context):

Transformer 的上下文长度是固定的,这限制了它在预测中可以考虑的文本量。

语义丢失 (Loss of Thread):

在长对话中,由于这一限制,一些聊天机器人可能会丢失上下文。

Transformer 处理文本的过程包括以下步骤:

1.文本分词并将每个 token 转换为嵌入向量;

2.向量经过一系列注意力模块和 MLP 模块流动:

注意力模块允许向量根据上下文相互作用并更新其语义,MLP 模块进一步优化向量的语义表示;

3.最终的向量用于预测序列中的下一个 token。

通过大规模的文本和代码数据集进行训练,模型学习调整其嵌入矩阵、注意力模块和 MLP 模块中的参数,以准确预测序列中的下一个 token。

训练过程依赖反向传播算法(Backpropagation),该算法通过计算模型误差并调整参数以最小化误差。

一些常见问题

1. 注意力机制在 Transformer 模型中有何意义?

意力机制是 Transformer 架构的一项关键创新。它使模型能够专注于输入文本中最相关的部分,从而更好地理解其含义。例如,在句子“The cat sat on the mat”中,注意力机制可以帮助模型理解“sat”与“cat”和“mat”密切相关。

这一过程使模型能够捕捉词语之间的长距离依赖关系,更好地理解句子的上下文,从而克服了之前语言模型的主要局限性。

2. “嵌入”在语言模型中是如何工作的?

词嵌入是一种将词语表示为数字向量的技术。这些向量从大规模数据集中学习,能够捕捉词语的语义含义。语义相似的词具有相似的向量,这使得模型能够理解词语之间的关系。

对于 Transformer 来说,嵌入过程至关重要。通过将词语转换为向量,模型可以进行数学运算并学习模式,而这些操作在原始文本上是难以实现的。

3. 嵌入矩阵和反嵌入矩阵的作用是什么?

嵌入矩阵 (Embedding Matrix):

在处理开始时,将每个 token 转换为对应的向量表示。嵌入矩阵是一个大型矩阵,其中每一列表示模型词汇表中某个 token 的嵌入。

反嵌入矩阵 (Unembedding Matrix):

在处理结束时,将最终的处理向量转换回对所有可能 token 的概率分布。该分布用于预测序列中的下一个词或短语。

3. 在语言模型输出中,什么是“温度”?

温度是一个控制模型输出随机性的参数。温度越高,输出越多样化且出人意料;温度越低,输出越可预测且更具确定性。

可以将其视为调整创造力的“旋钮”。更高的温度意味着生成的文本更加有创意和出乎意料,而更低的温度则意味着输出更加一致和可靠。

4. “logits”和“softmax”在语言模型预测中是什么概念?

Logits:

是模型最后一层的原始、未归一化的输出,表示模型对每个可能下一个 token 的置信度。

Softmax:

是将这些 logits 转换为概率分布的函数。它确保所有可能 token 的概率总和为 1,从而使模型能够做出预测。

简而言之,logits 是模型的原始猜测,而 softmax 将这些猜测转化为可以用于选择最可能下一个词的概率分布。

来源:人工智能学家

相关推荐