什么是大型语言模型(LLM)?

大型语言模型 (LLM) 是一种能够理解和生成人类语言文本的机器学习模型。它们通过分析大量语言数据集来工作。

学习目标

阅读本文后,您将能够:

  • 定义大型语言模型 (LLM)
  • 了解 LLM 的应用
  • 解释 LLM 如何工作

相关内容


想要继续学习吗?

订阅 TheNET,这是 Cloudflare 每月对互联网上最流行见解的总结!

参阅 Cloudflare 的隐私政策,了解我们如何收集和处理您的个人数据。

复制文章链接

什么是大型语言模型(LLM)?

大型语言模型 (LLM) 是一种人工智能 (AI) 程序,它可以识别和生成文本以及完成其他任务。LLM 经过了庞大的数据集的训练,因此称之为“大型”。LLM 在机器学习的基础上构建:具体来说,它是一种称为 Transformer 模型的神经网络

简单地说,LLM 是一个计算机程序,已经为它提供了足够多的示例,使它能够识别和解释人类语言或其他类型的复杂数据。许多 LLM 都是使用从互联网上收集的数据(成千上万甚至数百万 GB 的文本)进行训练的。但是,样本的质量会影响 LLM 学习自然语言的效果,因此 LLM 的程序员可能会使用更精心策划的数据集。

LLM 使用一种称为深度学习的机器学习来了解字符、单词和句子是如何共同发挥作用的。深度学习涉及对非结构化数据进行概率分析,最终使深度学习模型能够在无需人工干预的情况下识别不同内容之间的区别。

接着,在调整后进一步训练 LLM:根据程序员希望它们完成的特定任务进行微调或提示调整,例如解释问题并生成回答,或者将文本从一种语言翻译成另一种语言。

LLM 有什么用途?

可以训练 LLM 以执行多种任务。最广为人知的用途之一是将它作为生成式 AI 应用:当为它们提供提示或向它们提出问题时,它们可以生成文本作为回复。例如,公开提供的 LLM ChatGPT 可根据用户输入生成散文、诗歌和其他文本形式。

任何大型复杂数据集都可用于训练 LLM,包括编程语言。有些 LLM 可以帮助程序员编写代码。它们可以根据要求编写函数,或者以一些代码为起点,完成一个程序的编写。LLM 也可用于以下领域:

现实世界中的 LLM 包括 ChatGPT (OpenAI)、Bard (Google)、Llama (Meta) 和 Bing Chat (Microsoft)。GitHub 的 Copilot 是另一个例子,但它用于编码而不是人类的自然语言。

LLM 有哪些优势和局限性?

LLM 的一个主要特点是能够响应不可预测的查询。传统的计算机程序接收使用它接受的语法提供的命令,或者接收用户提供的一组输入中的命令。视频游戏有一组有限的按钮,应用程序有一组有限的用户可以单击或输入的物件,而编程语言则由精确的 if/then 语句组成。

相比之下,LLM 可以响应人类的自然语言,并利用数据分析合理回答非结构化问题或提示。一般的计算机程序不能识别类似于“历史上最伟大的四支放克乐队是哪四支?”这样的提示,而 LLM 可能会列出四支此类乐队作答,并提供令人信服的理由说明为什么他们是最伟大的。

不过,就提供的信息而言,LLM 的可靠性取决于它们获取的数据。如果向它们提供虚假信息,它们就会在回答用户询问时提供虚假信息。LLM 有时也会“产生幻觉”:当它们无法提供准确答案时,它们会制造虚假信息。例如,在 2022 年,新闻媒体 Fast Company 向 ChatGPT 询问特斯拉公司上一季度的财务状况;虽然 ChatGPT 提供了一篇连贯的新闻文章作为回复,但其中的许多信息都是编造的。

在安全方面,基于 LLM、面向用户的应用程序与其他应用程序一样容易出现错误。还可以通过恶意输入操纵 LLM,使其提供某些类型的响应,而不是其他类型的响应,包括危险或不道德的响应。最后,LLM 的安全问题之一是,用户可能为了提高自己的工作效率而将安全的机密数据上传到 LLM 中。但是,LLM 使用它们接收到的输入来进一步训练它们的模型,但是它们在设计上没有安全保险库功能;它们可能会在响应其他用户的查询时公开机密数据。

LLM 如何工作?

机器学习和深度学习

从根本上说,LLM 是在机器学习的基础上构建的。机器学习是 AI 的一个分支;机器学习是指向一个程序提供大量数据,以训练这个程序如何在没有人工干预的情况下识别数据特征的做法。

LLM 使用称为深度学习的机器学习类型。深度学习模型基本上可以在没有人工干预的情况下自行训练识别区别,尽管通常需要一些人工微调。

深度学习利用概率进行“学习”。例如,在句子 "The quick brown fox jumped over the lazy dog" 中,字母 "e" 和 "o" 最常见,各出现四次。根据这一点,深度学习模型可以(正确)得出结论,这些字符是最有可能出现在英语文本中的字符。

实际上,深度学习模型无法从一句话中得出任何结论。但是,在分析了数以万亿计的句子之后,它可以学到足够的知识来预测如何在逻辑上补全一个不完整的句子,甚至生成它自己的句子。

神经网络

为了实现这种类型的深度学习,LLM 在神经网络的基础上构建。正如人脑是由相互连接和发送信号的神经元组成一样,人工神经网络(通常简称为“神经网络”)也是由相互连接的网络节点组成的。它们由多个“层”组成:输入层、输出层以及这两个层之间的一个或多个层。各层只有在自己的输出超过某个阈值时,才会相互传递信息。

Transformer 模型

用于 LLM 的特定神经网络称为 Transformer 模型。Transformer 模型能够学习上下文,这对于高度依赖语境的人类语言尤为重要。Transformer 模型使用一种名为自注意力机制的数学技术来检测序列中元素相互之间的微妙关系。这使得它们比其他类型的机器学习更善于理解上下文。例如,这使它们能够理解句子的结尾与开头之间的联系,以及段落中各个句子相互之间的关系。

这使 LLM 能够解释人类语言,即使这些语言含糊不清或定义不明确,以它们以前从未遇到过的组合方式排列,或以新的方式结合上下文。在某种程度上,它们“了解”语义,因为它们可以根据词语和概念的含义将两者联系起来,因为它们已经数百万或数十亿次看到过这些词语和概念以这种方式组合在一起。

开发人员如何快速构建自己的 LLM

要构建 LLM 应用程序,开发人员需要轻松访问多个数据集,还需要为这些数据集提供存放位置。用于这些目的的云存储和本地存储都可能涉及基础设施投资,超出开发人员的预算范围。此外,训练数据集通常存储在多个地方,但将这些数据转移到一个中央位置可能会导致高昂的出口费用

幸运的是,Cloudflare 提供了多种服务,让开发人员能够快速启动 LLM 应用程序和其他类型的 AI。Vectorize 是一个全球分布式向量数据库,可用于查询存储在没有出口费用的对象存储 (R2) 中的数据或存储在 Workers Key Value 中的文档。结合开发平台 Cloudflare Workers AI,开发人员可以使用 Cloudflare 快速开始尝试自己的 LLM。