深入理解大型语言模型(LLM)的三个层次

2024年02月18日 由 daydream 发表 439 0

这篇文章将分三个难度等级讨论大型语言模型(LLM),但我们将只触及LLM的某些方面。我们的不同点在于,我们将采用一种让每位读者都能理解LLM是什么的方式。

 

第一级:LLM初学者级别


在第一级,我们假设读者不了解LLM,但可能对数据科学/机器学习领域有所了解。因此,在转向LLM之前,我将简要介绍人工智能和机器学习。


人工智能是开发智能计算机程序的科学。其目的是让程序执行人类可以完成的智能任务,但不受人类生物需求的限制。机器学习是人工智能领域的一个分支,专注于使用统计算法的数据泛化研究。在某种程度上,机器学习试图通过数据研究实现人工智能,以便程序可以执行智能任务而无需指令。


历史上,计算机科学与语言学的交叉领域被称为自然语言处理领域。该领域主要涉及对人类文本(如文本文档)进行机器处理的任何活动。以前,这一领域只局限于基于规则的系统,但随着先进的半监督和无监督算法的引入,这一领域变得更加广阔。语言模型就是实现这一目标的先进模型之一。


语言模型是一种概率 NLP 模型,用于执行许多人类任务,如翻译、语法校正和文本生成。语言模型的旧形式使用纯统计方法,如 n-gram 方法,其假设是下一个词的概率仅取决于前一个词的固定大小数据。


然而,神经网络的引入推翻了之前的方法。人工神经网络(NN)是一种模仿人脑神经元结构的计算机程序。神经网络方法非常适合使用,因为它可以处理文本数据中复杂的模式识别,并能处理像文本这样的连续数据。这就是为什么目前的语言模型通常基于 NN。    


大型语言模型(LLM)是一种机器学习模型,它从大量数据文档中学习以执行通用语言生成。它们仍然是语言模型,但神经网络学习的巨大参数数量使它们被认为是大型模型。用通俗的话说,该模型可以通过从给定的输入单词中很好地预测下一个单词来执行人类如何写作的任务。


LLM任务的例子包括语言翻译、机器聊天机器人、问答等。从任何数据输入序列中,模型可以识别单词之间的关系并根据指令生成合适的输出。


几乎所有使用文本生成来宣传自己的生成式AI产品都是由LLM驱动的。像ChatGPT、谷歌的Bard等大公司都在使用LLM作为他们产品的基础。


第二级:LLM中级水平


读者具有数据科学知识,但需要在这一级别上学习更多关于LLM的知识。至少,读者可以理解数据领域中使用的术语。在这一级别,我们将深入研究基础架构。


如前所述,LLM是在大量文本数据上训练的神经网络模型。为了更深入地理解这个概念,了解神经网络和深度学习的工作原理将是有益的。


在之前的级别中,我们解释了神经元是一个模仿人类大脑神经结构的模型。神经网络的主要元素是神经元,通常被称为节点。为了更好地解释这个概念,请查看下面的典型神经网络架构图。


微信截图_20240218104917


正如我们在上面的图片中所看到的,神经网络由三层组成:


  • 输入层,接收信息并将其传递给下一层的其他节点。
  • 隐藏节点层,所有计算都在这里进行。
  • 输出节点层,计算输出的地方。


当我们用两个或更多的隐藏层训练我们的神经网络模型时,这被称为深度学习。之所以称为“深度”,是因为它使用了许多中间层。深度学习模型的优点在于,它们可以自动学习和提取传统机器学习模型无法从数据中提取的特征。


在大型语言模型中,深度学习很重要,因为该模型是建立在深度神经网络架构之上的。那么,为什么它被称为LLM呢?这是因为数十亿层是在大量的文本数据上进行训练的。这些层将产生模型参数,帮助模型学习语言中的复杂模式,包括语法、写作风格等。


模型训练的简化过程如下图所示。


微信截图_20240218105005


这个过程表明,模型可以根据输入数据中每个单词或句子的可能性生成相关的文本。在LLM中,先进的方法使用自监督学习和半监督学习来实现通用能力。


自监督学习是一种没有标签的技术,训练数据本身提供训练反馈。它在LLM训练过程中被使用,因为数据通常缺乏标签。在LLM中,人们可以使用周围的上下文作为线索来预测下一个单词。相比之下,半监督学习结合了监督学习和无监督学习的概念,使用少量的标记数据为大量的未标记数据生成新标签。半监督学习通常用于具有特定上下文或域需求的LLM。


第三级:LLM高级水平


在第三级,我们将更深入地讨论LLM,特别是LLM的结构以及它如何实现类似人类的生成能力。


我们已经讨论了LLM是基于神经网络模型和深度学习技术的。近年来,LLM通常基于转换器架构构建。转换器是基于Vaswani等人(2017)引入的多头注意力机制,并已在许多LLM中使用。


转换器是一种模型架构,旨在解决以前在RNN和LSTM中遇到的顺序任务。传统的语言模型是使用RNN和LSTM按顺序处理数据,其中模型会使用每个单词的输出并将其循环回来,以便模型不会忘记。但是,一旦引入转换器,它们就会在处理长序列数据时遇到问题。


在我们更深入地了解转换器之前,我想介绍一下之前在RNN中使用的编码器-解码器概念。编码器-解码器结构允许输入和输出文本的长度不同。一个用例示例是语言翻译,其序列大小通常不同。


该结构可分为两部分。第一部分称为编码器,它是接收数据序列并基于其创建新表示的部分。该表示将用于模型的第二部分,即解码器。


微信截图_20240218105022


RNN的问题是,即使使用上述的编码器-解码器结构,模型也可能需要帮助记忆更长的序列。这就是注意力机制可以解决问题的地方,它可以解决长输入问题的一层。注意力机制是在Bahdanau等人的论文(2014年)中引入的,用于通过在模型输入的重要部分上集中注意力来解决编码器-解码器类型的RNN问题,同时进行输出预测。


转换器的结构受到编码器-解码器类型的启发,并使用注意力机制技术构建,因此不需要按顺序处理数据。整体的转换器模型结构如下图所示。


微信截图_20240218105102


在上述结构中,转换器在使用解码将数据转换回原始形式的同时,将数据向量序列编码为词嵌入。编码可以通过注意力机制为输入赋予一定的重要性。


我们之前稍微讨论过转换器编码数据向量,但是什么是数据向量呢?让我们来讨论一下。在机器学习模型中,我们不能将原始的自然语言数据输入到模型中,所以我们需要将它们转换成数值形式。这个转换过程被称为词嵌入,其中每个输入词都通过词嵌入模型进行处理以获得数据向量。我们可以使用许多初始的词嵌入,如Word2Vec或GloVe,但许多高级用户会尝试使用他们自己的词汇进行精炼。在基本形式下,词嵌入过程可以显示在下图中。


微信截图_20240218105116


转换器可以接受输入,并通过以数据向量等数值形式呈现单词来提供更相关的上下文。在LLM中,词嵌入通常依赖于上下文,通常根据用例和预期输出进行精炼。


文章来源:https://www.kdnuggets.com/large-language-models-explained-in-3-levels-of-difficulty
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消