共计 4268 个字符,预计需要花费 11 分钟才能阅读完成。
随着深度学习技术的一直倒退,语言模型(Language Model,LM)在自然语言解决畛域的利用越来越宽泛。其中,基于 Transformer 架构的预训练语言模型(Pretrained Language Model,PLM)更是成为了钻研的热点。在泛滥 PLM 中,基于大规模语料库的预训练语言模型(Large Language Model,LLM)以其弱小的语言生成和理解能力,受到了宽泛的关注。本文将深入探讨 LLM 的关键技术。
一、LLM 技术
- LLM 技术概述
LLM(Large Language Models)是一种基于深度学习的自然语言解决技术,他利用大规模的文本训练,实现弱小语言模型的构建。目前支流的 LLM 基座都采纳 Transformer 架构,它由多层自注意力机制和前馈神经网络组成,旨在实现较长输出序列的并行处理。 - LLM 技术倒退
在说到 Transformer 之前,须要首先讲讲 NLP。
NLP(Natural Language Processing)即自然语言解决。NLP 次要用于钻研实现人类语言和机器语言之间的无障碍沟通,分为自然语言的了解和自然语言的生成。蕴含词性标注、情感剖析、信息检索、机器翻译、聊天机器人、语音辨认、中文 OCR 等。
对 NLP 而言,输出通常为一句话或者一篇文章。因此其解决难度在于首先内容的长度是不固定的。
其次,单词或者短语的程序会影响到整个语句的含意,例如“我不齐全懂你的意思”和“我齐全不懂你的意思”含意就千差万别。
最初,对于中文而言,分词也是十分有难度的,不同的断句往往含意差异很大,因此中文分词往往是自然语言解决第一个要解决的问题。例如“我攒了 1 千万一须要我就拿进去”,能够有以下的分词。能够看到分词不同很容易产生歧义,因此在了解是很多时候不能单词看其中一个片段,须要联合上下文来看。而特色抽取器作为语义特征提取的外围,是否具备长距离特色捕捉能力对于解决 NLP 工作来说是很要害的。
在自然语言解决中,有三个支流的特征提取器,别离是 RNN、CNN 和 Transformer。
在以 Bert 和 GPT 为代表的 LLM 呈现之前,NLP 畛域风行的技术是深度学习模型。
RNN 即循环神经网络(Recurrent Neural Network),它能够对序列数据进行解决和学习。前期引入 LSTM(长短期记忆)、GRU(门控循环单元)来改善记忆能力,实现更好的序列解决。RNN 广泛应用于语音辨认、机器翻译等畛域。
CNN 是卷积神经网络(Convolutional Neural Network),也是一种深度学习模型,能够通过学习从原始图像中提取特色,实现对图像的分类、检测、宰割等工作。广泛应用于图像识别、人脸识别、图像生成、指标检测等。
2017 年 Transformer 提出,2018 基于 Transformer 的预训练模型 GPT1 和 Bert 相继颁布,标记着 NLP 畛域进入一个簇新的时代。Transformer 齐全摒弃了 CNN 和 RNN 的架构,齐全基于自注意力机制的神经网络构造,具备弱小的语义特征提取能力,长距离的特色捕捉能力,再加上弱小的并行计算能力,机器翻译、文本生成、语言建模等工作中体现出了优异的性能。至此局部 NLP 子畛域走向沦亡,而其余 NLP 子畛域的技术办法和框架日趋对立,特征提取器逐渐归敛于 Transformer。二、LLM 基座 -Transformer
- Transformer 的模型架构
2017 年 Google 发表一篇名为《Attention is All You Need》的论文,文中论述了一种基于自注意力机制(self-attention mechanism)的神经网络架构 -Transformer,形容了 Transformer 构造及原理,包含自注意力机制、地位编码、解码器、前馈神经网络等组件。
1.1 工作流程
Transformer 构造是由输入输出、编码器(Encoder)、解码器(Decoder) 组成。其中编码器和解码器是 Transformer 的外围,每个局部由多个档次组成,每个档次由多头自注意力机制和全连贯层组成。
从输出提醒词到输入,整个流程蕴含以下步骤:
- 获取输出的提醒词并进行分词,进行词的向量化。向量由单词的 Embedding 和地位编码计算得出。
- 将所有的向量矩阵传递到 Encoder,并输入所有分词的编码矩阵。如下图。向量的维度通常为 512。
- 将编码矩阵传递到 Decoder 进行翻译输入。
- 注意力机制
当咱们感知周遭环境时,通常都会来分辨焦点在什么中央,以便聚焦解决更重要的内容。因此,作为神经网络的大模型,在进行单词生成或者内容提取时,也是须要“留神”向量和其余元素之间的关系。
注意力机制用以形容元素的加权平均值,蕴含 3 个关键点:
Query: 用以形容在序列中须要寻找或者留神的内容。
Keys:key 是输出元素的特征向量,形容该元素“提供”什么,或者它何时可能很重要。
Values:value 是输出元素的值向量。
哪些向量是咱们须要的?此时就须要一个评分函数将 Query 和 Keys 作为输出,并输入他们的得分,计算加权平均值,用以示意匹配水平。
2.1 自注意力机制
在自注意力(self-attention)中,每个序列元素提供一个 key、value 和 query。对于每个元素,依据其 query 作用一个注意力神经层,查看所有序列元素键的相似性,并为每个元素返回一个不同的平均值向量。
2.2 多头注意力
序列元素通常须要关注多个不同方面,并且单个加权平均值并不是最佳抉择。这就是提出多头注意力机制的本源,即雷同特色上的多个不同的(查问,键,值)三元组。具体来说,给定一个查问、键和值矩阵,咱们将它们转换为 h 个子查问、子键和子值,而后别离输出给点击注意力模型,最初连贯头部并将它们与最终的权重矩阵组合起来。
- Transformer 的组成
3.1 输出
通常咱们应用 LLM 时,都是输出提醒词给大模型,大模型依据提醒词生成指定的内容。那么 LLM 是如何了解输出的提醒词的?
首先会将文字进行切割分词,将残缺的词组合成令牌(tokens)-—能够编码的根本单位。针对于可能呈现多重含意的词,例如 key。LLM 在预训练时,就须要察看上下文,依据与 key 的邻近水平应用向量 - 数值列表的模式示意,这个向量称为词嵌入(embedding)。不同的值能够用以标识不同的场景。
咱们都分明,一句话中同一个词,呈现的地位不同,可能含意相差很大。因而在 Transformer 中会给每个词向量增加地位编码 (positional encoding) 保障含意的精确。
3.2 Encoder
Encoder 蕴含 6 个 block,每个 Encoder 由 Multi-Head Attention 和 全连贯神经网络 Feed Forward Network 形成。解决流程如下:
将输出的词向量与地位编码相加失去输出向量。
将输出向量作为自注意力机制的输出,失去注意力矩阵。
将所有的输出词语进行 Embedding,而后将其与维度雷同的地位向量组合(相加)。
将第一步失去的向量通过 self-attention 层,失去输入向量。在失去输入向量后,能够看到,在 self-attention 层后还蕴含着一个残差网络与 LayerNorm 操作。
将 LayerNorm 输入的向量,通过全连贯层,而后再通过一个残差网络以及 LayerNorm,便可失去一个 Encoder 的输入。
Transformer 的 Encoder 是由 N = 6 个雷同的 layer 组成,layer 指的是上图左侧的单元,最右边有个 ”Nx”,这里的 x 是 6,每个 layer 由两个 sub-layer 组成,别离是 multi-head self-attention mechanism 和 fully connected feed-forward network。
3.3 Decoder
Decoder 也是由 6 个 decoder 重叠而成。decoder 由 Masked Multi-Head Attention,Multi-Head Attention 和全连贯神经网络 FNN 形成。比 Encoder 多了一个 Masked Multi-Head Attention,其余的构造与 encoder 雷同,解决流程如下:
获取输出句子的每一个单词的示意向量 X,X 由单词的 Embedding 和单词地位的 Embedding 相加失去。
将失去的单词示意向量矩阵传入 Decoder 中,依据以后翻译过的单词翻译下一个单词。 - Encoder-Decoder、Encoder-Only、Decoder-Only
在 Transformer 中,依据 Encoder/Decoder 的路线不同,倒退出三个支流分支: - Encoder-only(也叫 Auto-Encoder),典型代表 BER,见图中粉色路线。
- Encoder-decoder,典型代表 T5 和 GLM,见图中绿色路线。
- Decoder-only(也叫 Auto-Regressive),典型代表 GPT/LLaMa/PaLM,见图中灰色路线。
这三种构造不同的 LLM,往往善于解决不同的工作:三、总结
后面曾经理解了 LLM 的底层模型,那么三种分支模型那个更有前景?
Encoder-Decoder 模型:这种模型可能了解输出并生成相干输入,因而广泛应用于各种工作,如机器翻译、对话零碎等。然而,它也有局限性,例如对于某些生成工作,它可能无奈生成连贯、有创造性的文本。此外,对于简单输出的理解能力无限也是其不足之处。尽管如此,因为其通用性和灵活性,Encoder-Decoder 模型的前景依然广大,特地是在须要了解和生成序列数据的工作中。
Encoder-Only 模型:这种模型专一于了解和剖析输出信息,并不生成新的内容。它在分类和情感剖析等工作中特地无效。然而,因为其无奈生成新的输入,因而在某些生成工作中无奈应用。在将来的钻研中,能够摸索如何进步 Encoder-Only 模型在生成工作中的体现,例如通过引入自注意力机制或应用其余生成模型技术。
Decoder-Only 模型:这种模型从一系列输出中生成或预测输入,具备弱小的生成能力和灵活性,实用于各种生成型工作。然而,因为其不善于了解简单的输出数据,因而在某些须要了解输出的工作中可能体现不佳。在将来的钻研中,能够摸索如何进步 Decoder-Only 模型的理解能力,例如通过引入更多的上下文信息或应用其余技术来加强模型的示意能力。
总结来说,这三种模型各有优缺点,实用于不同的工作。将来的钻研能够摸索如何联合它们的长处,或者摸索新的模型架构和技术,以更好地解决自然语言解决和其余序列数据处理工作。