像 ChatGPT 这样的大型语言模型 (LLMs) 是过去几年开发的深度神经网络模型。他们开创了自然语言处理(NLP)的新时代。在大型语言模型出现之前,传统方法擅长分类任务,例如垃圾邮件分类和简单的模式识别,这些任务可以通过手工制定的规则或更简单的模型来捕获。然而,它们通常在需要复杂理解和生成能力的语言任务中表现不佳,例如解析详细说明、进行上下文分析或创建连贯且适合上下文的原始文本。例如,前几代语言模型无法从关键字列表中编写电子邮件,这对于当代LLMs人来说是微不足道的任务。
LLMs具有理解、生成和解释人类语言的非凡能力。然而,重要的是要澄清,当我们说语言模型“理解”时,我们的意思是它们可以以看起来连贯且与上下文相关的方式处理和生成文本,而不是它们拥有类似人类的意识或理解力。
在深度学习的进步下,深度学习是机器学习和人工智能 (AI) 的一个子集,专注于神经网络,LLMs在大量文本数据上进行训练。与以前的方法相比,这允许LLMs捕获更深层次的上下文信息和人类语言的微妙之处。因此,LLMs显着提高了各种 NLP 任务的性能,包括文本翻译、情感分析、问答等等。
当代LLMs和早期 NLP 模型之间的另一个重要区别是,后者通常是为特定任务而设计的;而那些早期的 NLP 模型在其狭窄的应用中表现出色,LLMs但在广泛的 NLP 任务中表现出更广泛的熟练程度。
背后的LLMs成功可以归因于 transformer 架构,它支撑着许多 LLMs,并且大量数据LLMs经过训练,使它们能够捕获各种语言细微差别、上下文和模式,而这些都很难手动编码。
这种向实现基于 transformer 架构的模型并使用大型训练数据集进行训练LLMs的转变从根本上改变了 NLP,为理解人类语言和与人类语言交互提供了更强大的工具。
从本章开始,我们为实现本书的主要目标奠定了基础:LLMs通过在代码中逐步实现基于 transformer 架构的类似 LLM ChatGPT 的理解。
LLM,大型语言模型是一种神经网络,旨在理解、生成和响应类人文本。这些模型是在大量文本数据上训练的深度神经网络,有时包括互联网上整个公开文本的大部分。
大型语言模型中的“大”既指模型在参数方面的大小,也指训练它的巨大数据集。像这样的模型通常有数百甚至数千亿个参数,这些参数是网络中可调整的权重,在训练过程中经过优化,以预测序列中的下一个单词。下一个单词预测是明智的,因为它利用语言固有的顺序性来训练模型来理解文本中的上下文、结构和关系。然而,这是一项非常简单的任务,因此许多研究人员惊讶于它可以产生如此强大的模型。我们将在后面的章节中逐步讨论和实施下一个单词训练程序。
LLMs利用一种称为 Transformer 的架构(在第 1.4 节中有更详细的介绍),这使他们能够在进行预测时选择性地关注输入的不同部分,使他们特别擅长处理人类语言的细微差别和复杂性。
由于LLMs它们能够生成文本,因此通常也被称为生成式人工智能(AI)的一种形式,LLMs通常缩写为生成式AI或GenAI。如图 1.1 所示,AI 涵盖了更广泛的领域,即创建可以执行需要类人智能的任务的机器,包括理解语言、识别模式和做出决策,还包括机器学习和深度学习等子领域。
图 1.1 正如对不同领域之间关系的分层描述所表明的那样,代表了深度学习技术的特定应用,LLMs利用它们处理和生成类似人类文本的能力。深度学习是机器学习的一个专业分支,专注于使用多层神经网络。机器学习和深度学习是旨在实现算法的领域,这些算法使计算机能够从数据中学习并执行通常需要人类智能的任务。如今,人工智能领域以机器学习和深度学习为主,但也包括其他方法,例如使用基于规则的系统、遗传算法、专家系统、模糊逻辑或符号推理。
用于实现人工智能的算法是机器学习领域的重点。具体来说,机器学习涉及算法的开发,这些算法可以从数据中学习并根据数据做出预测或决策,而无需明确编程。为了说明这一点,将垃圾邮件过滤器想象成机器学习的实际应用。机器学习算法不是手动编写规则来识别垃圾邮件,而是提供标记为垃圾邮件和合法电子邮件的电子邮件示例。通过最小化其在训练数据集上的预测误差,该模型可以学习识别表明垃圾邮件的模式和特征,使其能够将新电子邮件分类为垃圾邮件或合法电子邮件。
深度学习是机器学习的一个子集,它侧重于利用具有三层或更多层的神经网络(也称为深度神经网络)来对数据中的复杂模式和抽象进行建模。与深度学习相比,传统的机器学习需要手动提取特征。这意味着人类专家需要识别和选择与模型最相关的特征。
回到垃圾邮件分类示例,在传统的机器学习中,人类专家可能会从电子邮件文本中手动提取特征,例如某些触发词的频率(“奖品”、“中奖”、“免费”)、感叹号的数量、所有大写单词的使用或可疑链接的存在。然后,基于这些专家定义的特征创建的数据集将用于训练模型。与传统机器学习相比,深度学习不需要手动提取特征。这意味着人类专家不需要为深度学习模型识别和选择最相关的特征
接下来的章节将介绍一些今天可以解决的问题LLMs,解决LLMs的挑战,以及我们将在课程中实现的一般LLM架构。
由于它们具有解析和理解非结构化文本数据的高级功能,LLMs因此在各个领域都有广泛的应用。今天,LLMs被用于机器翻译、新文本的生成(见图 1.2)、情感分析、文本摘要和许多其他任务。LLMs最近被用于内容创作,例如写小说、文章,甚至计算机代码。
图 1.2 LLM 界面支持用户和 AI 系统之间的自然语言通信。这张截图显示了 ChatGPT 根据用户的规格写了一首诗。
LLMs还可以为复杂的聊天机器人和虚拟助手提供动力,例如OpenAI的ChatGPT或Google的Bard,它们可以回答用户查询并增强Google搜索或Microsoft Bing等传统搜索引擎。
此外,LLMs还可用于从医学或法律等专业领域的大量文本中检索有效的知识。这包括筛选文档、总结冗长的段落和回答技术问题。
简而言之,LLMs对于自动执行几乎任何涉及解析和生成文本的任务都非常宝贵。它们的应用几乎是无穷无尽的,随着我们不断创新和探索使用这些模型的新方法,很明显,它们有可能重新定义我们与技术的关系,LLMs使其更具对话性、直观性和可访问性。
在课程中,我们将专注于从头开始理解如何LLMs工作,编写可以生成文本LLM的编码。我们还将学习允许LLMs执行查询的技术,从回答问题到总结文本、将文本翻译成不同的语言等等。换句话说,在本书中,我们将通过一步一步的构建来了解 ChatGPT 等复杂LLM助手的工作原理。