【译】生成式人工智能 - 语言

原作: 瑞安·奥康纳

引言:像 ChatGPT 这样的生成式 AI 语言模型正在改变人类和 AI 交互和协作的方式,但这些模型实际上是如何工作的呢?在这个简单的指南中了解您需要了解的有关现代语言生成人工智能的所有信息。

 

生成式人工智能在语言领域取得了长足的进步。 OpenAI 的 ChatGPT 可以进行与上下文相关的对话,甚至可以帮助调试代码(或生成代码)等事情。

最近,大型语言模型 GPT-4 出现了,其报告的性能引起了轩然大波,在统一 BAR 考试中达到了人类考生的 90%,这是美国的律师认证考试。它甚至在 AP 微积分 BC 考试中达到近 40%,这是美国的低水平本科同等微积分考试。

与 GPT-3.5 相比,GPT-4 在各种示例中的性能

这些生成式人工智能模型正逐步从象牙塔中迁移出来,并通过微软的 Copilot 等工具融入我们的日常生活。最近这波进展背后的原因是什么?这些模型实际上是如何运作的,它们为什么如此强大?

在这篇文章中,我们将回答这些问题以及更多问题,这是我们关于生成人工智能系列您需要了解的一切的一部分。本文旨在帮助所有读者了解AI的最新进展,以及AI在外面生活中的应用。

我们假设您对人工智能只有基本的了解,所以如果您还没有,请随时查看我们的生成式人工智能简介。

什么是语言模型?

生成式人工智能在语言方面的许多进步都依赖于大型语言模型。要理解这些模型,我们必须首先熟悉语言模型。

语言模型(LM)只是单词序列上的概率分布。他们告诉我们,单词序列“I am going to the stor”比单词序列“store the going am to I”更有可能,并且比单词序列“jumped scissorsbridge toskateelephant”更有可能。

语言模型传统上被用作其他系统的一部分。例如,Conformer-1 等自动语音识别 (ASR) 模型会接收声波并生成音频中所说内容的转录。

LM 可以用作这些 ASR 系统的一部分来对潜在输出进行评分。例如,假设我们将以下音频波放入 ASR 模型中。

 

ASR 模型将接收该音频波并对其进行处理,最终将处理后的音频传递到语言模型中。然后,使用语言模型来确定输入音频波更有可能对应于单词序列“I saw a beer”,而不是语音等效的“eyes awe ab ear”。

处理音频信号后,ASR 系统可以使用语言模型对语音等效短语的概率进行排名


请注意,处理之前没有办法知道这一点。如果你给一个外星人一本英语语音词典,并要求它转录上面的音频波,它就无法判断“I saw a beer”或“eyes awe ab ear”哪个更有可能。

自 2020 年发布语言模型 GPT-3 之后,LM 一直被单独使用来独立完成任务,而不是用作其他系统的一部分。现在让我们看看它是如何工作的。

生成人工智能的语言模型

语言模型可以单独用于生成目的。在最简单、最直接的用例中,它们可以用于在给定故事开头的情况下生成故事的结尾。

由于根据定义,语言模型是单词序列上的概率分布,因此我们通过简单地递归地询问给定所有先前单词的最可能的下一个单词来生成文本。是的,确实就是这么简单。

语言的生成式人工智能模型如何完成其​​他任务,例如翻译或摘要?我们将在下面看看它是如何工作的,但首先让我们看看语言模型是如何训练的,这对于它们的成功至关重要。

语言模型是如何训练的?

本节将涉及少量技术性内容,仅详细介绍有助于理解现代生成人工智能浪潮的细节。虽然我们鼓励所有读者阅读本节,即使只是为了高层次的想法,但如果您发现内容过于技术性,您可以跳到下一节。

从我们之前关于图像的现代生成人工智能的文章中,您可能还记得当前生成人工智能图像模型的训练过程相当复杂。它依靠复杂的数学框架和对目标的一些调整来解决一个可行的问题。

对于语言模型来说,训练过程实际上要简单得多。我们首先看一下监督学习作为激励的过程。

 监督学习

监督学习一词在高层次上描述了一种可以使用数据来训练人工智能模型的范式。在这个学习范式中,我们有一组数据,就像下面的手写数字图像:

这组图像是从著名的MNIST数据库中拉取的

我们可以让人坐下来标记该数据集中的每个图像。特别是,他会将整个顶行标记为“零”,第二行标记为“一”,依此类推。一旦我们有了这些标签,我们就可以通过向模型提供许多此类输入和人类生成的标签的示例来训练模型来预测标签。一旦模型经过训练,就可以用来预测新数据的标签——这个过程称为“推理”。

在训练期间,我们提供输入和人工生成的标签的示例。训练后,模型可以预测尚未见过的新输入的标签。

监督学习正是使用多对输入和标签来训练模型的过程。经过训练后,该模型可以自动用于例如从纸上读出电话号码,或在信件上读出邮政编码。这样,这样的模型可以消除人工数据输入过程中繁琐且容易出错的过程。

监督学习范式非常强大,可以产生高性能的模型,但工程耗费过大。在某些时候,人类需要坐下来标记所有训练数据。随着模型扩展到更强大的版本,它们需要更多的数据,并且扩展此数据标记过程比扩展模型本身更困难。因此,当考虑到我们今天看到的强大模型时,数据标记过程成为监督学习的瓶颈。

我们能否做得更好?

 自我监督学习

语言模型利用了一种不同的训练范式,称为自我监督学习。我们不是拥有带有人类创建的标签的数据集,而是以编程方式自动“生成”这些标签。这是如何运作的?

假设我们想要训练一个语言模型。为此,我们需要大量数据,因此我们将在互联网上抓取大量文本。假设我们抓取了“I went to the store today”这句话。语言模型如何使用这些数据?

我们通过简单地去掉最后一个词“today”并将其作为标签,将数据划分为人工输入和人工标签。请记住,我们希望训练我们的模型擅长下一个单词预测,以便我们可以将其用于生成目的,如上所述。因此,通过删除“下一个单词”并让模型猜测它,我们可以将预测与我们从互联网上获取的实际单词进行比较,并教模型猜测正确的单词。

自监督学习根据提供的数据生成人工输入/标签对

通过这种方式,我们成功地从数据本身生成标签,从而消除了数据标签瓶颈,并允许我们的数据集与我们的模型成比例地扩展——这是正确训练 LM 的要求。这种范式称为自我监督训练,对于大型语言模型 (LLMs) 的成功至关重要。这正是训练如此大型、强大的模型变得可行的原因。

正如我们在上面看到的,观看 LLMs 生成故事的结局很有趣,但它们实际上还有许多其他能力。他们可以总结文档、在语言之间进行翻译、回答问题等等。现在让我们来看看这些能力。

LLMs的其他能力

随着语言模型变得越来越大,并逐渐发展为大型语言模型,它们会积累各种有用的能力。 在我们讨论这些能力本身之前,让我们先做一个简短的介绍,具体了解一下“更大”模型的含义。

什么是“更大”的模型?

从非技术角度来看,模型的“大小”可以被视为其运行的整体规模。 “更大”的模型需要更多的内存、更多的计算能力、更好的硬件和更多的数据来训练。如果您想跳过下面稍微技术性(但直观)的解释,您可以跳到下一小节。

现在,更具体地说,什么是“更大”的人工智能模型?假设我们有一些感兴趣的数据,如下所示。该图显示两个变量 - 纵轴上的 y 变量和横轴上的 x 变量。这些变量代表什么并不重要——它可能是身高与体重、公司规模与市值,或者完全是其他东西。

一个共同的愿望是对这些数据进行建模。模型只是变量之间的数学关系。如果我们有一个好的模型,我们可以用它来进行外推和插值等操作。首先,让我们定义数学模型,通过简单的比例常数 p_1 将 x 轴和 y 轴上的值关联起来。这个值 p_1 称为参数。

我们可以使用机器学习来找到最适合该数据的最佳 p_1。直观上,我们正在寻找直线的最佳角度,使所有点尽可能接近直线(平均)。

这是一个非常合适的选择,但我们可以做得更好。让我们更新我们的模型,这次添加一个与 y 截距相对应的新参数。之前,我们的线必须经过轴相交的点 (0, 0)。 p_0 的添加消除了这一要求。

同样,我们可以使用机器学习来找到最佳拟合,现在我们正在寻找最适合数据的线的角度和线的垂直偏移。

正如我们所看到的,第二个模型具有更好的拟合效果 - 平均而言,它更接近我们数据集中的点。这意味着一般来说,对于我们感兴趣的任务(外推、插值等)来说,它会更好。参数的数量就是模型的“大小”。这些参数的最佳值是使用机器学习找到的,并且正是它们的值决定了模型相对于同一系列中的另一个模型的性能。

正如我们在本例中看到的,增加模型的大小可以提高其性能。一般来说,这是正确的(假设经过适当的训练)。更大的模型有更多的“能力”来解决更复杂的问题。在本例中,我们看到的模型分别具有一个和两个参数。就 GPT-3(最初为 ChatGPT 提供支持的版本)而言,有 1750 亿个参数。如果仅添加一个参数就足以改进模型,那么添加数十亿个参数会产生什么影响?

 LLMs的能力

现在我们明白了“更大”模型的含义,我们可以更具体地讨论大型语言模型的能力。正如我们在上一节中看到的,语言模型可以通过下一个单词预测,以简单的方式生成文本。有趣的是,随着规模的扩大,他们还获得了各种其他能力。

随着LLMs规模的扩大,他们获得了总结、翻译等能力。这在实践中是如何运作的?

我们以前有一个特定的摘要模型、特定的翻译模型等等。

该模型专为翻译而设计

如果单个 LLM 可以执行其中许多任务,那么它如何知道应该执行哪个任务?例如,如果我们将一页西班牙语文本输入到 LLM 中,它如何知道是否应该总结该页面(西班牙语)或将其翻译为英语?

事实证明,您实际上只需告诉模型即可。您按字面意思将字符串 'Translate this from Spanish to English: “El gato rojo" ' 输入到模型中,它将输出翻译。

我们可以将之前的模型剥离为只剩下语言模型,并且仅通过用自然语言表述任务来使其仍然能够进行翻译(假设语言模型足够大)

 

您通过输入自然语言对任务进行调度。有趣的是,LLMs获得这些能力的方式并不顺利。事实上,性能的稳步提高伴随着突然的临界阈值,在这个临界阈值上这些能力似乎出现了。这是一个非常有趣的现象,不属于本文的讨论范围,但感兴趣的读者可以查看我们关于大型语言模型的新兴能力的专门文章。

ChatGPT 怎么样?

如上所述,LLMs 非常适合获取特定查询的答案,但是像 ChatGPT 这样的模型呢? ChatGPT 是一种对话模型,可以进行人类之间的对话,似乎可以“记住”对话中已经讨论过的内容,并以人类认为有用的方式提供相关答案。 ChatGPT 不同于标准语言模型,它将人类反馈纳入其训练过程。

特别是,使 ChatGPT 与许多其他 LLMs 区分开来的独特功能是实施了一种称为“人类反馈强化学习”(RLHF) 的技术。该方法增强了模型的会话能力,同时解决了与通用会话聊天机器人相关的各种安全问题。通过 RLHF,ChatGPT 可以学习并更加符合人类价值观和偏好,从而使其能够生成更具吸引力和更准确的响应。

在较高层面上,RLHF 的工作原理是将基线 LLM 与称为奖励模型的辅助模型相结合。奖励模型的作用是确定人类在给定的可能性列表中更喜欢哪种反应。它为语言模型对给定请求或提示的响应分配一个数字分数,这反映了偏好程度:分数越高,响应与原始提示的意图一致的可能性就越高。

LLMs 实际应用

大型语言模型迅速引起了公众的关注,这激发了人们对使用和开发 LLMs 的浓厚兴趣。一般来说,考虑到仅在几年前,LLMs 几乎完全是学术研究的主题,因此还没有一个成熟的工具生态系统可将 LLMs 应用于实际应用。

最后的话

我们在本文中了解了生成式人工智能在语言领域的进展。 LLMs 是学术界和工业界一系列尖端应用程序背后的主力,而正是它们的"大"提供了这些功能。

posted @ 2024-02-03 17:01  白鹿原老张  阅读(11)  评论(0编辑  收藏  举报