LLM:什么是大语言模型?

大语言模型 (LLM) 是一种较新的技术,可预测一个令牌或令牌序列,有时甚至可以预测多段落的令牌。请记住,词元可以是单词、子词(单词的子集),甚至是单个字符。与 N 元语言模型或循环神经网络相比,LLM 的预测结果要好得多,因为:

  • 与循环模型相比,LLM 包含的参数要多得多。
  • LLM 会收集更多上下文。

本部分介绍了构建 LLM 最成功且最广泛使用的架构:Transformer。

什么是 Transformer?

Transformer 是各种语言模型应用(例如翻译)的先进架构:

图 1. 输入的内容是:我是一只好狗。基于 Transformer 的翻译器会将该输入转换为输出:Je suis un bon chien,即翻译成法语的同一句子。
图 1. 这是一个基于 Transformer 的应用,可将英语翻译成法语。

 

完整转换器由编码器和解码器组成:

  • 编码器会将输入文本转换为中间表示形式。编码器是一个庞大的神经网络
  • 解码器会将该中间表示法转换为实用文本。解码器也是一个巨大的神经网络。

例如,在翻译器中:

  • 编码器会将输入文本(例如英语句子)处理成某种中间表示形式。
  • 解码器将该中间表示法转换为输出文本(例如,等效的法语句子)。
图 2. 基于 Transformer 的翻译器从编码器开始,编码器会生成英语句子的中间表示法。解码器会将该中间表示法转换为法语输出句子。
图 2. 完整的 Transformer 既包含编码器,也包含解码器。

 

什么是自注意力?

为了增强上下文,Transformer 在很大程度上依赖于一种称为自注意的概念。实际上,代表每个输入词元,自注意力机制会询问以下问题:

“输入的每个其他令牌对此令牌的解读有何影响?”

“自注意力”中的“self”是指输入序列。一些注意力机制会加权输入词元与输出序列中的词元(如翻译)或某些其他序列中的词元之间的关系。但是,自我注意力机制只会对输入序列中词语之间的关系重要性进行加权。

为简单起见,假设每个令牌都是一个字词,并且完整上下文只有一个句子。请考虑以下句子:

The animal didn't cross the street because it was too tired.

上一个句子包含 11 个字词。这 11 个字词中的每一个都关注着另外 10 个字词,想知道这 10 个字词对自己来说有多重要。例如,请注意该句子包含人称代词 it。人称代词通常含糊不清。代词 it 通常指最近出现的名词或名词短语,但在示例句子中,it 指的是哪个最近出现的名词?是动物还是街道?

自注意机制会确定每个附近字词与人称代词 it 的相关性。图 3 显示了结果:线条越蓝,相应字词对人称代词“它”的重要性就越高。也就是说,对于人称代词“它”,动物街道更重要。

图 3. 以下句子中的 11 个字词与人称代词“it”的相似度:“The animal didn't cross the street because it was too tired”。“动物”一词与代词“it”的相关度最高。
图 3. 人称代词 it 的自注意力。摘自 《转换器:语言理解的新型神经网络架构》

 

反之,假设该句子中的最后一个字词发生如下变化:

The animal didn't cross the street because it was too wide.

在这个修订的句子中,自注意力机制有望认为 streetanimal 与代词 it 更相关。

有些自注意力机制是双向的,也就是说,它们会为被注意到的词的前面后面的词法单元计算相关性得分。例如,在图 3 中,请注意系统会检查 it 两侧的字词。因此,双向自注意力机制可以从被关注字词的任一侧的字词收集上下文。相比之下,单向自注意力机制只能从被关注字词的一侧的字词收集上下文。双向自注意力对于生成整个序列的表示特别有用,而逐个令牌生成序列的应用则需要使用单向自注意力。因此,编码器使用双向自注意力机制,而解码器使用单向。

什么是多头自注意力?

每个自注意力层通常都由多个自注意力头组成。层的输出是对不同头部输出的数学运算(例如加权平均值或点积)。

由于每个自注意力层都初始化为随机值,因此不同的头可以学习被注意到的每个字词与附近字词之间的不同关系。例如,上一部分中介绍的自注意力层侧重于确定人称代词 it 所指的名词。不过,其他自注意力层可能会学习每个字词与每个其他字词的语法相关性,或学习其他互动。

为什么变压器如此巨大?

转换器包含数百亿甚至数万亿个参数。本课程通常建议构建参数数量较少的模型,而不是参数数量较多的模型。毕竟,与参数较多的模型相比,参数数量较少的模型使用的资源进行预测会更少。不过,研究表明,参数较多的 Transformer 的效果始终优于参数较少的 Transformer。

但 LLM 如何生成文本?

您已经了解了研究人员如何训练 LLM 来预测缺失的一个或两个字词,这可能不会让您感到惊讶。毕竟,预测一两个字词本质上就是各种文本、电子邮件和创作软件内置的自动补全功能。您可能想知道 LLM 如何生成有关套利的句子、段落或俳句。

事实上,LLM 本质上是一种自动补全机制,可以自动预测(补全)数千个令牌。例如,请考虑以下句子后跟一个经过遮盖的句子:

My dog, Max, knows how to perform many traditional dog tricks.
___ (masked sentence)

LLM 可以生成被遮盖句子的概率,包括:

Probability 字词
3.1% 例如,他可以坐着、站着和翻身。
2.9% 例如,他知道如何坐下、保持原地和翻滚。

足够大的 LLM 可以为段落和整篇文章生成概率。您可以将用户向 LLM 提出的问题视为“给定”句子,后跟一个虚构的掩码。例如:

User's question: What is the easiest trick to teach a dog?
LLM's response:  ___

LLM 会为各种可能的回答生成概率。

再举一个例子,使用大量数学“字词问题”训练的 LLM 会显得像是进行复杂的数学推理。然而,这些 LLM 基本上只是自动填充单词题提示。

LLM 的优势

LLM 可以为各种各样的目标受众群体生成清晰易懂的文本。LLM 可以对其接受过明确训练的任务进行预测。一些研究人员声称,LLM 还可以对未明确用于训练的输入进行预测,但其他研究人员驳斥了这一说法。

LLM 存在的问题

训练 LLM 会遇到许多问题,包括:

  • 收集庞大的训练集。
  • 需要花费数月和大量计算资源和电力。
  • 解决并行性问题。

使用 LLM 进行推理预测会导致以下问题:

  • LLM 会产生幻觉,也就是说,它们的预测结果通常会出错。
  • LLM 会消耗大量的计算资源和电力。在较大的数据集上训练 LLM 通常会减少推理所需的资源量,但较大的数据集会产生更多训练资源。
  • 与所有机器学习模型一样,LLM 也可能存在各种偏差。

练习:检查您的理解情况

假设 Transformer 是基于 10 亿个文档训练的,其中包括数千个文档,其中至少包含一个 elephant 字词实例。以下哪些陈述可能是正确的?
刺槐树是象的饮食中的重要组成部分,随着与一词的搭配使用,其自注意力得分会逐渐提高。
是的,这样 Transformer 便可以回答有关大象饮食习惯的问题。
转换器会将“elephant”一词与包含“elephant”一词的各种成语相关联。
是的,系统会开始在“elephant”一词与象形词语中的其他字词之间附加较高的自注意力得分。
Transformer 会逐渐学会忽略训练数据中对“elephant”一词的任何讽刺或讽刺性使用。
在足够广泛的训练集上训练的足够大的 Transformer 会非常擅长识别讽刺、幽默和讽刺。因此,Transformer 不会忽略讽刺和讽刺,而是从中学习。