1.1.1 探索语言模型和 NLP 的基础
作为 LLM,GPT-4 和 ChatGPT 是 NLP 领域中最新的模型类型,NLP 是机器学习和人工智能的一个子领域。在深入研究 GPT-4 和 ChatGPT 之前,有必要了解 NLP 及其相关领域。
AI 有不同的定义,但其中一个定义或多或少已成为共识,即 AI 是一类计算机系统,它能够执行通常需要人类智能才能完成的任务。根据这个定义,许多算法可以被归为 AI 算法,比如导航应用程序所用的交通预测算法或策略类视频游戏所用的基于规则的系统。从表面上看,在这些示例中,计算机似乎需要智能才能完成相关任务。
机器学习(machine learning,ML)是 AI 的一个子集。在 ML 中,我们不试图直接实现 AI 系统使用的决策规则。相反,我们试图开发算法,使系统能够通过示例自己学习。自从在 20 世纪 50 年代开始进行 ML 研究以来,人们已经在科学文献中提出了许多 ML 算法。
在这些 ML 算法中,深度学习(deep learning,DL)算法已经引起了广泛关注。DL 是 ML 的一个分支,专注于受大脑结构启发的算法。这些算法被称为人工神经网络(artificial neural network)。它们可以处理大量的数据,并且在图像识别、语音识别及 NLP 等任务上表现出色。
GPT-4 和 ChatGPT 基于一种特定的神经网络架构,即 Transformer。Transformer 就像阅读机一样,它关注句子或段落的不同部分,以理解其上下文并产生连贯的回答。此外,它还可以理解句子中的单词顺序和上下文意思。这使 Transformer 在语言翻译、问题回答和文本生成等任务中非常有效。图 1-1 展示了以上术语之间的关系。
图 1-1:从 AI 到 Transformer 的嵌套技术集合
NLP 是 AI 的一个子领域,专注于使计算机能够处理、解释和生成人类语言。现代 NLP 解决方案基于 ML 算法。NLP 的目标是让计算机能够处理自然语言文本。这个目标涉及诸多任务,如下所述。
文本分类
将输入文本归为预定义的类别。这类任务包括情感分析和主题分类。比如,某公司使用情感分析来了解客户对其服务的意见。电子邮件过滤是主题分类的一个例子,其中电子邮件可以被归类为“个人邮件”“社交邮件”“促销邮件”“垃圾邮件”等。
自动翻译
将文本从一种语言自动翻译成另一种语言。请注意,这类任务可以包括将代码从一种程序设计语言翻译成另一种程序设计语言,比如从 Python 翻译成 C++。
问题回答
根据给定的文本回答问题。比如,在线客服门户网站可以使用 NLP 模型回答关于产品的常见问题;教学软件可以使用 NLP 模型回答学生关于所学主题的问题。
文本生成
根据给定的输入文本(称为提示词2)生成连贯且相关的输出文本。
2 对于 prompt 一词,本书统一采用“提示词”这个译法,以符合业内惯例。不过,prompt 既可以是一个词,也可以是一个或多个句子。对于 prompt engineering,本书采用“提示工程”这个译法。——译者注
如前所述,LLM 是试图完成文本生成任务的一类 ML 模型。LLM 使计算机能够处理、解释和生成人类语言,从而提高人机交互效率。为了做到这一点,LLM 会分析大量文本数据或基于这些数据进行训练,从而学习句子中各词之间的模式和关系。这个学习过程可以使用各种数据源,包括维基百科、Reddit、成千上万本书,甚至互联网本身。在给定输入文本的情况下,这个学习过程使得 LLM 能够预测最有可能出现的后续单词,从而生成对输入文本有意义的回应。于 2023 年发布的一些现代语言模型非常庞大,并且已经在大量文本上进行了训练,因此它们可以直接执行大多数 NLP 任务,如文本分类、自动翻译、问题回答等。GPT-4 和 ChatGPT 是在文本生成任务上表现出色的 LLM。
LLM 的发展可以追溯到几年前。它始于简单的语言模型,如 n-gram 模型。n-gram 模型通过使用词频来根据前面的词预测句子中的下一个词,其预测结果是在训练文本中紧随前面的词出现的频率最高的词。虽然这种方法提供了不错的着手点,但是 n-gram 模型在理解上下文和语法方面仍需改进,因为它有时会生成不连贯的文本。
为了提高 n-gram 模型的性能,人们引入了更先进的学习算法,包括循环神经网络(recurrent neural network,RNN)和长短期记忆(long short-term memory,LSTM)网络。与 n-gram 模型相比,这些模型能够学习更长的序列,并且能够更好地分析上下文,但它们在处理大量数据时的效率仍然欠佳。尽管如此,在很长的一段时间里,这些模型算是最高效的,因此在自动翻译等任务中被广泛使用。