大模型原理· 第 3 / 4 页

(一)Transformer 模型

  1. 在 Transformer 模型中,自注意力机制可以让模型在处理序列数据时,关注整个序列的各个地方。这样一来,它就能捕捉到距离较远的元素之间的关联。自注意力会去判断输入序列中各个位置的重要性,从而找出对当前任务最有帮助的信息。具体来说,自注意力机制会用到三个权重矩阵,分别是查询矩阵、键矩阵和值矩阵。在模型训练的过程中,这些矩阵会不断改进,用于转换输入的数据。查询、键和值的转换方式如下:某个位置上的数据分别乘以查询矩阵得到查询,乘以键矩阵得到键,乘以值矩阵得到值。这里的“某个位置”指的是输入序列中一个长度固定的元素位置。查询和键都是由数量相同的元素组成的向量。查询矩阵和键矩阵的样子是由输入数据的特征和键的特征决定的,值矩阵的样子是由输入数据的特征和值的特征决定的。需要注意的是,查询和键的元素数量必须一样,因为后面要对它们进行一种比较操作。
  2. 在 Transformer 模型中,Query-Key-Value 操作就像是我们在阅读文章时提问、找答案和给出答案的过程。Query(查询)向量可以理解为问题的一部分,它与当前位置(比如解码阶段的当前位置)或者整个序列(编码阶段)的信息有关。当模型要生成当前时刻的输出时,Query 向量就负责去找相关的信息。Key(键)向量,就是输入序列中每个位置的信息的“索引”或者“查找表”,可以看成是每个位置的标识特征。在计算注意力的时候,每个位置的 Key 向量会和 Query 向量进行比较,就像我们人类通过某种方式,来判断两个东西像不像的思考,以此来评估查询向量和序列中各个位置之间的相关性。而Key 向量决定了哪些输入位置的信息对当前的查询最为重要。Value(值)向量是每个位置相关联的“内容”或者“上下文信息”的载体,里面包含的是实际要被关注并且组合成输出的信息,也就是每个位置上我们觉得对后面处理有价值的信息。当某个位置的 Key 和 Query 匹配的时候,在计算最终输出的时候就会更多地考虑这部分信息。

(二)预训练与微调

  1. 预训练:大模型使用大量未标注的数据进行无监督训练。在预训练阶段,模型通过学习从一个词预测下一个词的过程中不断积累对上下文的理解。每一步预测时,模型会根据到目前为止生成的所有词汇构建一个上下文向量表示,这个向量融合了之前所有词的信息。Transformer 中的自注意力机制允许模型在计算当前位置的输出时考虑序列中任意位置的历史输入,从而确保模型能够理解并利用全局上下文。具体来说,在训练阶段,模型会根据输入序列的一部分来预测序列中的下一个 词汇,并且在预测过程中不断向右移动窗口,直到遍历完整个序列。这种预测过程使得模型能够从左至右学习到整个句子或段落的上下文依赖关系。
  2. 微调:在特定任务上使用标注数据进行有监督训练,进一步优化模型性能。微调通常采用监督学习的方式,模型会接收到特定的输入数据,然后尝试预测输出。最初,模型的预测可能不准确。模型的预测与正确答案之间的差异称为误差。这个误差会被用来调整模型的内部参数,使其在下次预测时更接近正确答案。通过多次迭代这个过程,模型逐渐学习到如何在特定任务上做出更准确的预测。

(三)架构示例

  1. GPT:GPT 完全基于 Transformer 架构的解码器部分。它使用自注意力机制来处理输入文本并按顺序生成输出。GPT 基于之前已经生成的序列内容,来预测下一个单词的概率。在预训练阶段,模型以无监督的方式在大量文本上进行训练,学习根据前面的单词预测句子中的下一个单词。预训练后,可以使用标记数据集对特定任务进行微调,以提高其在这些领域的性能。GPT 模型能够生成类似人类的文本,为各种应用开辟了道路。

三、大模型的训练步骤

相关资料

更多