天天看点

什么是大语言模型?ChatGPT背后的技术是什么?

作者:石榴互联网创业记

OpenAI 于 2022 年 12 月发布的 ChatGPT 引起了极大的关注。这种好奇心从一般的人工智能延伸到特别支持人工智能聊天机器人的技术类别。这些模型称为大语言模型 (LLM),能够生成看似无穷无尽的主题的文本。了解LLMs是了解 ChatGPT 工作原理的关键。

LLMs令人印象深刻的是他们能够用几乎任何语言(包括编码语言)生成类似人类的文本。这些模型是真正的创新——过去从未存在过类似的模型。

本文将解释这些模型是什么、它们是如何开发的以及它们是如何工作的。也就是说,我们了解它们是如何工作的。令人毛骨悚然的是,事实证明,我们对它们为何起作用的理解只是片面的。

大型语言模型是一种神经网络

神经网络是一种基于许多称为神经元的小型数学函数的机器学习模型。就像人脑中的神经元一样,它们是最低级别的计算。

每个神经元都是一个简单的数学函数,它根据某些输入计算输出。然而,神经网络的力量来自于神经元之间的连接。

每个神经元都与其一些对等神经元连接,并且每个连接的强度通过数字权重进行量化。它们确定一个神经元的输出被视为下一个神经元的输入的程度。

神经网络可能非常小。例如,一个基本神经元可能有六个神经元,它们之间总共有八个连接。然而,神经网络也可能非常大,就像LLMs的情况一样。它们可能有数百万个神经元,它们之间有数千亿个连接,每个连接都有自己的权重。

LLMs使用 Transformer 架构

我们已经知道LLMs是一种神经网络。更具体地说,LLMs使用一种称为“Transformer”的特殊神经网络架构,旨在按顺序处理和生成数据,例如文本。

这种情况下的架构描述了神经元如何相互连接。所有神经网络都将其神经元分为许多不同的层。如果有很多层,则网络被描述为“深度”,这就是“深度学习”一词的由来。

在非常简单的神经网络架构中,每个神经元都可以连接到其上方层中的每个神经元。在其他情况下,一个神经元可能只连接到网格中靠近它的一些其他神经元。

后者就是所谓的卷积神经网络(CNN)的情况。在过去的十年里,CNN 已经奠定了现代图像识别的基础。CNN 采用网格结构(如图像中的像素)这一事实并非巧合 — 事实上,这是该架构适用于图像数据的一个重要原因。

然而,Transformer有些不同。谷歌研究人员于 2017 年开发的Transformer 基于“注意力”的理念,即某些神经元与序列中的其他神经元的连接更紧密。

由于文本是按顺序读入和读出的,一个单词接一个单词,句子的不同部分引用或修饰其他部分(例如修饰名词但不修饰动词的形容词),因此为按顺序工作而构建的体系结构,在该顺序的不同部分之间具有不同的连接强度,应该可以很好地处理基于文本的数据。

LLM 自我构建

简而言之,模型就是计算机程序。它是一组对其输入数据执行各种计算并提供输出的指令。

然而,机器学习或人工智能模型的特殊之处在于,人类程序员不是明确地编写这些指令,而是编写一组指令(算法),然后检查大量现有数据来定义模型本身。因此,人类程序员并不构建模型,而是构建构建模型的算法。

对于LLM,这意味着程序员定义模型的架构以及构建模型的规则。但它们不会创建神经元或神经元之间的权重。这是在一个称为“训练”的过程中完成的,在此过程中模型按照算法的指令自行定义这些变量。

对于LLM,审查的数据是文本。在某些情况下,它可能更专业或更通用。在最大的模型中,目标是为模型提供尽可能多的语法文本以供学习。

在可能消耗价值数百万美元的云计算资源的训练过程中,模型会审查该文本并尝试生成自己的文本。最初,输出是乱码,但通过大量的试验和错误过程 - 并通过不断将输出与输入进行比较 - 输出的质量逐渐提高。文本变得更容易理解。

只要有足够的时间、足够的计算资源和足够的训练数据,该模型就会“学习”生成对于人类读者来说与人类编写的文本没有区别的文本。在某些情况下,人类读者可能会以某种奖励模型提供反馈,告诉它文本何时读得好,或何时读得不好(这称为“根据人类反馈进行强化学习”,或 RLHF)。该模型考虑到了这一点,并根据反馈不断改进自身。

LLMs预测哪个单词应该跟在前一个单词之后

对已出现的LLMs的简化描述是,它们“只是预测序列中的下一个单词”。这是事实,但它忽略了这样一个事实:这个简单的过程可能意味着 ChatGPT 等工具可以生成非常高质量的文本。说“模型只是在做数学”也很容易,这也是事实,但对于帮助我们理解模型的工作原理或欣赏其功能并不是很有用。

上述训练过程的结果是一个神经网络,数百万个神经元之间有数千亿个连接,每个神经元都由模型本身定义。最大的模型代表大量数据,可能需要数百GB才能存储所有权重。

每个权重和每个神经元都是一个数学公式,必须针对提供给模型作为输入的每个单词(或者在某些情况下,单词的一部分以及每个单词(或单词的一部分)进行计算。),它生成作为其输出。

这是一个技术细节,但这些“小词或词的一部分”被称为“令牌”,这通常是这些模型作为服务提供时的使用定价方式——稍后会详细介绍。

与这些模型之一交互的用户以文本形式提供输入。例如,我们可以向 ChatGPT 提供以下提示:

你好ChatGPT,请给我提供一个100字的关于ERP软件的描述。
包括对其软件及其核心价值主张的描述。           

然后,ChatGPT 背后的模型会将该提示分解为标记。平均而言,一个标记是一个单词的 ⅘,因此上述提示及其 23 个单词可能会产生大约 30 个标记。gpt-3.5-turbo模型所基于的GPT-3模型拥有1750亿个权重。ChatGPT 中也提供了 GPT-4 模型,其权重数量未知。

然后,该模型将根据训练期间消耗的大量文本开始生成听起来正确的响应。重要的是,它不会查找有关查询的任何内容。它没有任何可以搜索或任何其他相关术语的内存。相反,它开始生成输出文本的每个标记,再次执行计算,生成听起来正确的概率最高的标记。

LLMs生成的文本听起来正确,但不能保证它是正确的

ChatGPT不能保证其输出正确,只能保证其听起来正确。它的响应不会在内存中查找——它们是根据前面描述的 1750 亿个权重动态生成的。

这不是ChatGPT特有的缺点,而是所有LLM的当前状态的缺点。他们的技能不在于回忆事实,回忆事实最简单的数据库就能很好地做到这一点。相反,它们的优势在于生成读起来像人类书写的文本并且听起来正确的文本。在许多情况下,听起来正确的文本实际上也是正确的,但并非总是如此。

鉴于LLMs的知识仅限于其训练数据集中存在的信息,因此它可能不完整、错误或根本过时。例如,ChatGPT的训练数据集于2021年9月结束。那么ChatGPT只能了解该截止日期之前已知的事实。此外,该训练数据集中的大多数(如果不是全部)事实都可以在互联网上公开获得。这意味着 ChatGPT 无法回答与私人信息有关的问题。这是一个令人担忧的问题,因为最有趣的业务需要考虑非公开文档,例如会议纪要、法律文件、产品规格、技术文档、研发报告、业务流程等。

弥补这一缺点的一种方法是,每当用户提出问题时,从最新的知识库中检索相关事实,并将问题和事实发送给LLMs。自有知识库就是一种方法。语言模型可以通过工具进行增强,使它们能够访问外部知识源,扩展它们的推理能力并使它们能够在现实世界中采取行动。这种增强型LLMs通常被称为“代理人”。在这种情况下,工具只是将一些文本作为输入并以文本形式提供或总结其结果的程序。此类工具的示例包括:

工具 输入 输出
维基百科搜索 搜索词 相应维基百科页面的摘要
天气 地点、时间 气温、降水和风力预报
电子邮件客户端 电子邮件地址、内容 确认电子邮件已发送

在幕后,工具可以是非常简单的程序,只有几行 Python 代码,但它们也可以非常复杂并依赖于外部 API 或机器学习 (ML) 模型(甚至是用其他工具增强的LLMs!) 。

GPT-4 是LLMs吗?

2023年3月14日,OpenAI发布了GPT-4,这是其GPT家族模型的最新版本。与 GPT-3.5 相比,GPT-4 除了生成更高质量的文本之外,还引入了识别图像的能力。然而,该功能(如果存在)目前尚不可用。处理不同类型(文本和图像)的输入和输出数据的能力意味着 GPT-4 是多模式的。

继续阅读