什么是大型 AI 语言模型,它们是如何工作的?

大语言模型技术(LLM)。了解当今领先的大型 AI 模型背后的基本技术概念。

1.1 什么是大型语言模型?

大型语言模型 (LLMs),例如 OpenAI 的 ChatGPT 或 Google 的 BARD,是在大量数据上训练的大型神经网络,可以以前所未有的质量执行各种自然语言生成任务。它们是如何工作的,是什么让它们如此强大?工作LLM簿的这一章旨在提供对关键基础组件和技术(如语言建模和转换器)的理解。同时,我们将强调当代LLMs的关键特征,例如它们对各种任务的“基础”性质。如果这些术语中的任何一个看起来不熟悉,请不要担心——我们将在本章中一一介绍它们。

Language Modelling 语言建模

“You shall know a word by the company it keeps”, Firth, J. R. 1957

语言学家约翰·鲁珀特·费尔斯(John Rupert Firth)关于单词含义的这句话已被证明是当今成功背后的最基本原则LLMs。它指出,一个词的含义可以从它出现的整体上下文中推断出来。用于执行此操作的统计方法称为语言建模。在实践中,这意味着处理大量文本以确定每个单词在给定上下文中出现的可能性,即单词的分布信息。如果这些学习到的概率足够准确,就有可能生成在今天的LLMs

以以下示例为例:

“Yesterday was a beautiful day since the sky was <>.”

根据我们对世界的感知,人类可能完成这句话是“蓝色”而不是“多云”,这使得前一个词更有可能。要获得这些信息,所需要的只是一个文本,该文本包含尽可能多的单词含义的各个方面,反映它发生的所有上下文。互联网的出现是释放这种方法真正力量的关键,它使大量的文本数据随时可用,从而不断提高语言模型(LM)的质量。

Artificial Neural Networks 人工神经网络

受生物对应物的启发,人工神经网络(或在人工智能背景下简称为“神经网络”)由称为神经元的小型计算单元组成。这些神经元的主要功能是处理和加权它们的输入,然后在通过某个阈值时输出新信号。这些单元可以在相互连接的层中组合在一起以形成一个网络,其复杂性随着层数的增加而增加。这些网络已被证明能够执行传统基于规则的程序无法解决的任务,并且在存储有关它们以权重(也称为参数)训练的数据的分布信息方面非常有效和高效。

Deep Learning  深度学习

深度学习是随着时间的推移逐渐调整人工神经网络层堆栈中每个神经元的权重的过程,以便整个网络能够在给定的任务上得到改进。换句话说,这样的网络通过反复将其暴露于许多输入和所需输出的例子来“训练”,并允许通过每次调整权重来“学习”,以便网络产生的结果变得更有可能并更接近所需的输出。

Neural Language Modelling

神经语言建模

神经语言建模是指基于神经网络的语言建模技术。请记住,语言建模的目标是找出每个单词在给定上下文中出现的可能性。如何实际有效地确定这种分布信息,特别是随着上下文数量的增加?通过简单地计算一个单词在所有可能情况下的出现次数来估计这些信息是不切实际的,因为即使是一个单词也可能在指数级的大量不同上下文中出现。然而,从大量文本中学习是可取的,因为它提供了比少量文本更丰富的信息。考虑到这一点,研究人员提出了利用神经网络和深度学习的力量的想法。由于分布信息的高效存储正是神经网络所擅长的,因此它们自然而然地适合于语言建模的任务。这就是为什么神经语言建模在当今的自然语言处理中变得无处不在的原因。

1.2 为什么要开发大型语言模型?

最重要的是,LLMs用途非常广泛,可用于各种任务。当前的模型,如为 ChatGPT 提供支持的 GPT-3.5,可以回答问题、写诗或散文、在语言之间翻译,甚至生成代码,所有这些都只接受原始文本的训练。虽然其中一些功能仍然令人惊讶,但很明显,语言建模比几年前看起来要有用得多。它已被证明适合学习一系列语言规律,例如句子结构、词形式的相互依存性以及它们在句子中的作用。

LLMs还具有效率,因为它们在单个模型中为上述任务提供了端到端的解决方案。以前,需要许多不同的方法,每种方法负责特定任务的语言生成的特定方面。此外,学习所有这些信息所需的数据不需要繁琐的手动处理,而是可以简单地从互联网或其他文本数据来源中抓取,我们将在下一节中看到。因此,很明显,在不久的将来LLMs,有可能改变人们在广泛领域创建或设计内容的方式。

1.3 大型语言模型如何工作

LLM Training Techniques LLM训练技巧

为了LLMs变得强大,他们需要接受大量数据的训练。今天,这主要是使用一种称为自我监督学习的技术来完成的。但在我们解释这一点之前,我们首先需要看一个密切相关的基本概念,即监督学习。

Supervised Learning  监督学习

在监督学习中,神经网络被呈现出一个句子,并被要求预测该句子是否表达了积极或消极的情绪。为了了解句子中的单词与它们所表达的情感之间的关系,神经网络提供了许多(从数千到数百万)示例句子-情感对(也称为标签)。

Self-Supervised Learning 自我监督学习

鉴于监督学习的缺点和对大量数据进行训练的需要,自监督学习允许模型从未注释的数据中学习。自监督学习的关键特征是标签是数据中固有的。句子按以下方式用作训练数据:

Sentence: “The sun is slowly rising.”句子:“太阳正在慢慢升起。

Input to the model: “The sun is slowly _”

模型输入:“太阳在慢慢_”

Target word to be predicted: “rising”

要预测的目标词:“上升”


1.3 How do large language models work?

1.3 大型语言模型如何工作?

LLM Training Techniques LLM培训技巧


为了LLMs变得强大,他们需要接受大量数据的训练。今天,这主要是使用一种称为自我监督学习的技术来完成的。但在我们解释这一点之前,我们首先需要看一个密切相关的基本概念,即监督学习。

  • Supervised Learning  监督学习

     

  • Self-Supervised Learning

    自我监督学习

    鉴于监督学习的缺点和对大量数据进行训练的需要,自监督学习允许模型从未注释的数据中学习。自监督学习的关键特征是标签是数据中固有的。句子按以下方式用作训练数据:

    Sentence: “The sun is slowly rising.”

    句子:“太阳正在慢慢升起。Input to the model: “The sun is slowly _”

    模型输入:“太阳在慢慢_”Target word to be predicted: “rising”

    要预测的目标词:“上升”


    从示例中可以看出,在这种情况下,所需的输出单词(标签)只是下一个单词,这意味着这种类型的训练允许使用“原始”(如未注释的)数据,这些数据可以很容易地从任何数字化文本来源(互联网、数字图书馆等)大量抓取。

    Transformer and Attention

    Transformer和注意力机制

    Transformer 是 Vaswani 等人于 2017 年推出的一种新型神经网络架构。它的关键能力在于其自注意力机制,这使得它能够比以前的人工神经网络类型更有效、更灵活地使用上下文信息。变形金刚中的自我注意力就像它在人脑和认知中的对应物一样。从认知的角度来看,注意力在灵活地将我们的意识引导到信息的选定方面起着至关重要的作用。同样,在人工神经网络(如转换器)中,注意力机制允许模型通过加权每个单词的相对重要性来灵活地将每个单词与所有其他单词联系起来。这通过突出显示重要的上下文信息并将其与相关词相关联,将输入“转换”为对下游任务有意义的内容。

    例如,在下面的句子中,某些词对整体含义比其他词更重要:

    “Alice crossed the road as she was in a hurry.”

    “爱丽丝匆匆忙忙地过了马路。”

    这里的代词“她”指的是“爱丽丝”。识别这种类型的关联称为共指解析。自我注意力机制使变形金刚能够直观地学习到这句话中的某些单词(例如“爱丽丝”)与其他单词(例如“她”)的关系更密切,并为它们携带重要信息。就“她”的含义而言,“爱丽丝”可能是最重要的词,而“the”则相当不重要。从计算的角度来看,这意味着“爱丽丝”相对于“他们”这个词被赋予了更多的权重,因此它们之间保持了强烈的联系。

    显然,在给定大量数据的情况下,需要大量的计算来建立这些单词之间的关联。幸运的是,转换器的一个关键优势是它们在处理这些复杂关联方面的效率,因为它们被设计为允许独立执行计算,从而同时执行每个字(并行性)。这很重要,因为培训是一个非常耗时且耗费资源的过程。

    BERT (Bidirectional Encoder Representations from Transformers)

    BERT(来自变压器的双向编码器表示)

    “The sky was  and the sun was shining.”

    “天空是,阳光明媚。”

    现在,模型必须根据所有其他单词推断处于遮罩位置的原始单词可能是什么。每个示例还可以有一定数量的随机掩码单词,这可以防止模型仅学习句子的某些部分。以这种方式训练的模型可用于需要深刻理解自然语言的各种任务,例如推断表达式与前一句相关的含义。

    BERT对后续工作产生如此大影响的一个突出方面是它的模型训练方法:模型分两个阶段进行训练。首先,在称为预训练的阶段,使用语言建模对大量数据进行训练。这在计算上是密集型的,而且非常耗时。在第二阶段,这个预训练的模型被微调,即使用相对较少的数据适应不同的任务。这样做的好处是,第一个“昂贵”的阶段只需要执行一次。然后,所学到的一般语言信息可以重新用于其他任务,以实现最先进的性能。

    如上所述,BERT的设计和训练可以“双向”观察蒙面单词的左右邻居。这使得它特别适用于需要来自整个上下文的信息的任务,例如情绪分析或词性标记,其中正确的预测(例如,句子是否具有积极的情绪)取决于来自完整输入句子的信息。这种架构特征将其与GPT等“生成”模型区分开来。

    GPT (Generative Pre-trained Transformer)

    GPT(生成式预训练转换器)

    另一个占主导地位的当代模型家族是 GPT 家族,其最近的著名成员是 ChatGPT。GPT 模型也使用转换器,并被训练为擅长预测句子中的下一个单词。这意味着他们只看输入的左边(而BERT可以看整个上下文),这种技术被称为因果语言建模。这使得它们擅长产生连贯且语言正确的输出,这就是为什么它们被称为“生成”模型的原因。

    值得注意的是,“只是预测下一个单词”在这里做了一些繁重的工作。事实证明,这种方案允许足够大的神经网络(超过一定数量的参数,近年来通常为数十亿个参数)来理解“左侧”的输入(称为提示),以至于它可以执行各种意想不到和令人惊讶的任务,即使从未接触过特定于任务的数据。

    1.4 是什么让大型语言模型如此强大?

    Foundation Models 基础模型

    大型语言模型的一个关键特征是它们的泛化能力。这仅仅意味着这些模型从其训练数据中提取的知识,例如单词的含义、句子结构的规律性等,可以应用于许多不同的上下文。此功能与基础模型的概念相关联LLMs。2021 年创造的术语基础模型的动机是对大规模训练的广泛数据上训练的大型神经网络模型的属性和功能的大量观察。

    基础模型的力量在于它们能够捕获相关信息,从而可以将其用作各种下游应用程序的通用“基础”,这就是基础模型与传统方法的区别。

    例如,在构建聊天机器人时,传统的自然语言理解 (NLU) 引擎可能必须组装一组复杂的方法,以最终帮助聊天机器人“理解”用户的输入。如果用户问,“你能描述一下过去十年量子计算的发展吗?”,引擎可能首先需要识别用户在要求描述,然后在输入中识别相关的时间和实体信息。然后,它需要从数据库中检索相关数据并形成完整的答案。这些方法需要集成,并可能导致相当大的复杂性(见下图)。

    经典的自然语言理解 (NLU) 引擎可能涉及多个组件的集成,例如意图分类和槽填充,而大型语言模型则提供端到端的统一方法

    然而,今天,大型语言模型能够从简单的用户输入中捕获所有这些信息,并使用已在相关数据上预先训练的单个大型神经网络直接输出所需的答案。此外,由于其通用性,这些大型语言模型提取的知识表示甚至可以重用于处理其他模态的信息,例如语音、音频、图像甚至源代码。著名的例子包括文本到代码模型(如 OpenAI Codex)和文本到图像模型(如 DALL-E 2 或 Stable Diffusion),它们广泛使用由 LLMs捕获的一般语言信息。

    基础模型从不同模式的数据中提取广义知识表示,可用于各种下游任务。摘自“ LEAM 的可行性研究 – 大型欧洲人工智能模型。

    机器学习、深度学习(在 2012 年左右复兴之后)、基于 transformer 的模型和基础模型之间的关系。术语“基础模型”涵盖了广泛的模型,这些模型是可推广的,可以应用于多种模式。

    由于LLMs神经网络在其参数中存储知识的广义表示,因此模型大小的问题与可以实现的泛化水平密切相关。简而言之,可用的数据越多,要提取的信息就越多,模型可能需要存储的容量(参数)就越多。这种关系导致模型大小快速增长,从几亿个参数增长到大约一万亿个参数。

    2018 年至 2022 年间,基础模型的规模显着增长,尽管未来的模型是否会继续这一趋势还有待观察。

    Homogenisation 均质化

    今天用于实现泛化的建模技术的数量已大大减少。由于其高效而强大的注意力机制,Transformer 被用作各种模型架构(主要是 BERT 或 GPT 的变体)中的重要组件。训练分一个或两个阶段完成,首先在原始数据的预训练期间学习一般知识,然后(如果可用)对特定于任务的数据进行微调,为模型提供更具体的功能。

    今天用于实现泛化的建模技术的数量已大大减少。由于其高效而强大的注意力机制,Transformer 被用作各种模型架构(主要是 BERT 或 GPT 的变体)中的重要组件。训练分一个或两个阶段完成,首先在原始数据的预训练期间学习一般知识,然后(如果可用)对特定于任务的数据进行微调,为模型提供更具体的功能。

    方法论方法的同质化也极大地促进了不同应用领域的研究。例如,LLMs可用于蛋白质序列建模以及语音处理或图像生成。

    Emergence of capabilities 能力的出现

    当神经网络被训练时,模型通常会学习执行一项非常具体的任务。因此,当模型在经典语言建模任务上进行预训练时,它们应该能够很好地生成连贯的、语言正确的文本。事实证明,LLMs当规模足够大时,仅从自然语言描述(提示)就可以解决令人惊讶的广泛附加任务。这些任务可以包括机器翻译、执行算术、生成代码或回答一般问题。

    通常,预训练模型的输入由用户以自然语言提供。基于此输入,模型生成最有可能的下一个单词,将其附加到输入中,并继续直到达到某个停止标准(例如,已生成一个表示句子结尾的人工单词)。简单地提供任务描述作为输入称为零样本学习,而添加一些正确输出可能是什么样子的示例称为零样本学习。

    从英语到法语的机器翻译的少样本和零样本学习示例(改编自 Brown 等人,2020 年)。在小样本学习的情况下,用户首先描述要执行的任务,然后提供已完成任务的几个示例,然后是提示。在零样本学习的情况下,仅提供任务描述,然后立即提供提示。

    1.5 What’s next? 1.5 下一步是什么?

    本章概述了大型语言模型的基本概念、技术和功能。我们介绍了语言建模背后的想法以及基于 BERT 和 GPT 的大型神经网络架构的扩散。我们还介绍了自监督学习的训练技术,以及变压器及其强大的注意力机制。最后,我们描述了在 LLMs ChatGPT 中观察到的关键特征,例如它们从原始文本中提取的通用知识,这使它们具有涌现能力。

    随着 ChatGPT 集成到 Microsoft 的 Bing 或 BARD 集成到 Google 搜索中,生成式的广泛LLMs采用才刚刚开始。基于自然语言提示的代码生成是 GPT-3 的一个显着新兴功能,并被 Github 的 Copilot 使用(尽管存在法律问题),已被证明是软件工程师的强大助手。LLM工作簿第 2 章更详细地探讨了潜在和实际用例。

    产生高度连贯的文本的令人信服的能力LLMs引发了关于人类在与机器交互时可能有的期望的伦理问题。此外,即使是最好的LLMs也被证明会产生虚假(幻觉)。因此,对社会影响的考虑LLMs必须包括大规模错误信息的危险和在其培训数据中再现偏见的危险。此外,还存在与培训和使用相关的环境和可持续性问题LLMs。这些具有挑战性且基本上未解决的问题在工作手册第 3 章中LLM得到解决。

    Reference:Technology of large language models – OpenGPT-X