大型语言模型的简单介绍
嗨,很高兴你能找到这篇关于 Large Language Models(LLMs)的简明介绍。既然你来到这里,可以肯定你已经为了理解这个 3 个字母缩写在过去一年中充斥于你的新闻源中而烦恼得要揪出你的头发了。不用再担心了!这正是这篇博客文章的目的所在。我们将踏上巨大语言模型的奇妙领域之旅,并在此过程中讨论一些核心概念以及它们的工作原理和原因。我们将从神经网络开始,温习深度学习,了解 NLP 是什么鬼,最终,在经过不太痛苦的过程后,了解大型语言模型的工作方式。让我们开始吧。
什么是人工智能?
简而言之,智能指的是思考、学习、理解和解决问题的能力。它使人类和某些动物能够理解周围环境,适应情况,并根据他们的经验和知识做出决策。
智力包括推理能力、从错误中学习的能力以及有效利用信息克服挑战的能力。
基本上,正是我们的能力使我们能够在周围的世界中航行并成功地参与其中。现在让我们深入探讨智能(人工智能)的概念。
AI可以被视为一位擅长处理大量信息并根据这些数据做出智能选择的助手。可以想象它就像一个陪伴在你身边的大脑,可以帮助你提出你可能喜欢的电影或歌曲建议,帮助医生准确分析医学图像,甚至在没有人类干预的情况下自主驾驶车辆。
令人着迷的是,人工智能仰赖算法(逐步指令)和数据来运作。可以将其类比为一台计算机从错误中学习。通过不断练习逐步提升在指定任务上的表现。这意味着那些探索其运作方式的人们可以解释和理解人工智能。
什么是机器学习?
既然我们已经了解了人工智能,自然而然地我们会想知道机器是如何获得知识和理解能力的。这就是机器学习变得相关的地方。
想象你有一台计算机。你希望它能够做一些聪明的事情,比如识别一张图片是否展示了一只猫或者一只狗。处理这个问题的一种方式是给计算机一些指令,让它去搜索毛发、耳朵、尾巴等特征。然而,这种方法可能会变得极其复杂。
机器学习走的是一条不同的路线。它类似于通过示例来教计算机。你会让它接触到猫和狗的图片,渐渐地,它会自己理解猫和狗的区别。它通过发现图像中的模式和相似之处来学习。
从本质上讲,机器学习构成了人工智能的学习部分。计算机从数据中学习任务。因此,人工智能包括更广泛的能力,如推理、问题解决和语言理解。所有这些都可以通过机器学习大大提升。
什么是机器学习模型?
一旦我们掌握了人工智能(AI)和机器学习(ML)的概念,理解语言模型(LLMs)的重要性就变得至关重要。为了理解LLMs,我们首先必须理解“模型”(该术语的三分之一)的含义。可以将其看作是从数据示例、规则和模式中学习的机器背后的思维或智能。例如,它可以学习识别特征,比如猫有睫毛或狗有较长的腿。利用这些学到的经验或模式,当它面对一张图片时,可以做出明智的决策或预测。
为了更深入地探索我们的类比,请想象语言模型是具备处理文本的能力的模型。这些模型通过在互联网上大量的文本数据进行训练,具备生成与人类产生的文本内容相媲美甚至超越人类质量的能力。例如,像GPT 4这样的模型已经展示出他们在创作诗歌、智能回答问题,甚至生成计算机代码方面的高超能力。他们在语言掌握方面真可谓是巫师般的存在!
什么是神经网络?
为了使模型能够生成预测结果,它需要理解所观察到的数据中的模式。有多种方法可以达到这个目标,其中一种方法是利用神经网络。
神经网络在机器学习和人工智能中起着重要作用,使我们能够处理复杂的任务,例如图像识别、语言理解和预测。
他们由被称为神经元的单元层组成,共同处理信息。想象一下你的大脑是由神经元组成的网络。例如,当你遇到一张猫的图片时,大脑内的神经元会激活并根据毛发、耳朵和胡须等特征来识别它。神经网络通过在各个层级上使用神经元来识别数据中的模式,其操作方式类似。然而,与人脑的运作相比,神经网络要简单得多。
让我们深入网络世界,使用一个有关烘焙蛋糕的类比来理解。想象一下,你要创建一个网络,它可以根据蛋糕的原料和烘焙过程准确预测蛋糕是否会美味可口。下面是网络中的不同概念如何与这个烘焙类比相吻合;
- 将您的配料和食谱视为输入数据,类似于您收集用于神经网络的原材料。
- 整个烘焙过程象征着一个由相互连接的层次组成并共同工作的网络结构。
- 每个步骤在过程中代表一个具有其激活功能的神经元运作。这类似于根据温度和搅拌时间等因素调整你的食谱。
- 就像调整配料的量可以影响蛋糕的口味一样,在网络中,权重决定了神经元之间的连接强度。
- 最终,你的目标是制作一款反映神经网络对准确预测或分类努力的蛋糕。
- 如果你的蛋糕未达到期望,你就需要完善你的配方。就像神经网络中的反向传播一样。
什么是深度学习?
在烘焙类比中,深度学习和普通神经网络的主要区别在于网络的深度,这指的是隐藏层的数量。让我们来澄清这个区别:
一个常规的神经网络,也被称为神经网络,通常由一个或几个隐藏层位于输入和输出层之间。在神经网络的情况下,每个隐藏层可以被看作是表示烘焙过程中的各个阶段或方面。例如,一个隐藏层可以考虑混合时间、温度和配料数量等因素。通过结合这些特征,神经网络能够对蛋糕的质量进行预测。
深度学习神经网络的特点是具有多个逐层叠加的隐藏层。这些深度神经网络通过每个额外的隐藏层捕捉复杂而抽象的特征。例如,第一个隐藏层可能关注混合时间和温度等特征,而后续层可以深入研究更复杂的方面,如成分间的相互作用。这种层次化表示能力使得网络能够把握数据中的模式和关系。
什么是语言模型?
想象一下,你正在玩一个单词游戏,目标是完成一个句子。你遇到了这样一个句子:“太阳正在照耀,鸟儿在歌唱”。你需要猜下一个单词。
一个语言模型,根据其对句子中的单词的了解,会做出一个有根据的猜测,比如“明亮”或“美丽”,因为这些词经常出现在与宜人天气有关的短语之后。
它不止于此。语言模型为每个可能出现的单词分配概率。例如,它可能会给“明亮”赋予更高的概率,而给“大象”赋予较低的概率,因为在讨论天气后通常不会使用“大象”这个词。因此,语言模型尽力根据这些概率进行预测。语言模型可以被看作是依靠过去实例的模式来确定一个句子中最可能出现的下一个单词的单词巫师。它们并不完美,但在像提供手机上的自动完成建议或在您输入消息时预测下一个单词的任务中非常熟练。
什么是编码器和解码器?
语言模型内的编码器可以被视为密切关注您说话的听众。它们分析句子中的前面的单词,比如“太阳在照耀,鸟儿们在……”,仔细考虑它们的意义和关系,以建立一个语境理解。这个总结的上下文然后传递给“解码器”。
解码器作为单词推荐器。它们从编码器接收信息,这些信息可能表明该句子与鸟有关,并生成一系列可能的下一个单词。例如,它们可能会建议“唱歌”或“鸟鸣”,因为这些单词通常与鸟类和宜人天气相关。解码器的每个建议都被赋予一个概率,最有可能的单词获得最高概率。
在我们的文字游戏类比中,编码器通过单词理解上下文,而解码器利用这些上下文通过考虑与各种选项相关联的概率来做出明智的下一个单词的猜测。这类似于进行对话,有一个(编码器)专注倾听的伙伴和一个(解码器)根据他们听到的内容提供最佳词语选择的专家顾问。他们共同努力帮助您构建有意义的句子。
什么是编码器-解码器设置中的上下文?
在有编码器和解码器的设置中,“上下文”一词指的是关于输入序列(通常是一系列单词或标记)的细节,这些细节被存储并由解码器利用来创建输出序列。
编码器的作用是从输入中捕获和编码上下文,而解码器的任务是利用这个上下文来生成输出。
这是关于编码器-解码器设置中上下文如何运作的解释:
编码上下文(编码器)
编码器接收输入序列。它逐步处理,通常将每个元素(如句子中的单词)转化为固定长度的表示形式。
这种表示被称为上下文向量,它总结了整个输入序列中的所有信息。它捕捉了输入元素之间的关系和依赖关系。
利用上下文(解码器)
解码器接收来自编码器的上下文向量作为其状态。这种信息的压缩形式包含了输入序列中的详细信息。
使用这个上下文,解码器逐个元素生成输出序列的每个部分。它还可以考虑已经在该输出序列中生成的元素。
通过利用这个上下文,解码器可以做出明智的决策,以便根据给定的上下文生成一个连贯且相关的输出。
生成模型
术语生成模型是指“掩码”语言模型。那么,“掩码”语言模型到底是什么意思?
掩盖语言模型(MLM)在玩猜词游戏方面非常熟练。让我用一些示例来解释它们是如何工作的。
想象一下,你有一个带有一个词的句子,像“[MASK]正在追球。”挑战在于找出适合填在空格处的合适的词。多层次感知机(MLMs)是解决这些词谜题的专家。
区别它们的是它们不依靠猜测。相反,它们仔细分析句子中空格前后的所有单词。
这些模型经过了使用丰富的互联网文本进行的训练。它们观察了单词如何在句子结构中组合在一起。因此,在根据它们所学到的内容来完成句子时,它们具有预测能力,可以使用适当的单词来完成句子。
我们利用不同的掩码模型,如BERT和GPT,这两个模型都是以其在预测句子中下一个单词方面的卓越能力而闻名的生成模型。GPT代表生成式预训练变换器。我们之前讨论了生成式和预训练的方面;现在,让我们深入探讨“变换器”的含义。
什么是变压器?
Transformer是由Vaswani等人在他们2017年的论文“Attention Is All You Need”中引入的一种深度学习模型。由于其有效捕捉远程依赖关系的能力,它们在处理序列数据,比如文本方面表现出色。
变压器架构由两个组件构建而成:编码器和解码器。这两个部分都有层级结构。
编码器:
编码器接收输入序列,例如一个句子,逐个令牌(token)进行处理。每个令牌最初被转化为在一个N维空间中的向量。然后,在编码器的每一层中都引入了自注意机制,使得模型能够理解每个令牌相对于输入序列中的其他令牌的重要程度。通过结合这些加权表示,模型有效地捕捉到信息。此外,在编码器的每一层中,采用前馈神经网络对这些表示进行进一步优化。
- 解码器: 类似于编码器,解码器也由多层组成,但还包含一个额外的注意力机制,专注于编码器的输出。在解码过程中,该模型逐步生成输出序列。在每一步,它利用自注意力来考虑先前生成的标记,并关注包含输入序列信息的编码器输出。这种双向注意力使解码器能够根据其输出中的上下文生成标记。
自我注意力
自我注意力在变压器模型中起着重要作用,使其能够令人难以置信地理解序列中单词之间的联系。
它使模型能够理解文本序列中的单词或元素之间的关系,从而赋予每个单词与序列中其他单词关联度相关的重要性。这个过程生成的表达具有极高的意义。
自我关注在Transformer模型中的重要性可以归因于关键因素:
- 把握上下文:自注意力使得变压器能够捕捉上下文,并理解单词在序列中的关联。自注意力不仅仅考虑相邻的单词,还要考虑整个序列,这对于理解自然语言上下文至关重要。
- 学习长程依赖:自注意力在帮助变形金刚学习跨数据间距的依赖关系方面起着关键作用。这种能力对于语言翻译或文本生成等任务至关重要,因为句子中有意义的短语或单词可能是分散的。
我建议阅读@JayAlammar写的这篇博客。它提供了关于Transformer和自注意力的见解,这些内容非常多才多艺且适用于各种自然语言处理任务。
ChatGPT发生了什么事?
ChatGPT将转换器、掩码模型、编码解码器等概念融合在一起。ChatGPT之所以强大,是因为它采用了基于转换器的架构,对大型数据集进行了广泛的预训练,并针对具体任务进行了微调,能够生成连贯、上下文感知和适应性回应的能力。
以下是ChatGPT如此有效的几个原因:
- Transformer架构:ChatGPT是建立在Transformer架构上的,它擅长处理数据并特别适合理解和生成人类语言。
- 广泛预训练:在用于像聊天机器人交互任务之前,ChatGPT会进行大量的文本数据预训练,这些数据来自于互联网。这个预训练阶段使模型具备了对语言语法规则和一般知识的理解能力。
- 双向自注意力ChatGPT利用自注意机制,使标记(单词或单词的部分)能够考虑到句子中前面和后面的单词。这种双向理解有助于模型捕捉上下文和单词之间的依赖关系,以更好地理解上下文。
- 微调。 在初始的预训练阶段之后,ChatGPT进入微调阶段,它将进一步提升其特定任务的能力,例如聊天机器人互动。
此外,ChatGPT的独特之处还在于另一种名为强化学习从人类反馈中得出的技术(RLHF)。
人类反馈强化学习(RLHF)
人类反馈强化学习(RLHF)是一种通过结合人类生成数据和强化学习来提升ChatGPT性能的技术。以下是RLHF在ChatGPT中的工作原理概述:
如前所述,ChatGPT经过预训练,在此过程中学习了大量的文本数据。
下一代ChatGPT经历了一个叫做调整的过程。在这个阶段,AI训练员与模型进行对话。根据指导提供回应。这些训练员模拟用户交互。生成的对话数据集,以及训练员对模型回应进行排名的对照数据,作为一个奖励系统。
然后,该模型会根据这个奖励系统(即强化学习)进行训练,以最大化它的奖励。基本上,它学会了生成更符合人类偏好并且适应给定上下文的回应。
通过一系列细致的调整和强化学习,该模型逐渐提高了其性能。每一次迭代都有助于它生成准确且用户友好的回答。
结论
在这篇文章中,我们深入探讨了人工智能领域,特别关注了机器学习及其先进子领域深度学习。我们重点讨论了语言模型,它们作为预测算法根据背景线索来确定句子中后续单词。我们介绍了Transformers和自注意力,同时也简要提及了RLHF。
我希望我能为您提供一个易于理解的指南,帮助您在LLMs的世界中寻找方向。