关于自然语言处理:关于大型语言模型的争论和局限

45次阅读

共计 7639 个字符,预计需要花费 20 分钟才能阅读完成。

以色列巴伊兰大学教授 Yoav Goldberg 分享了他对大型语言模型的能力和局限性的认识,以及在语言了解方面的立场。(以下内容经受权后由 OneFlow 编译公布,译文转载请分割 OneFlow 取得受权。原文:https://gist.github.com/yoavg/59d174608e92e845c8994ac2e234c8a9)

作者 | Yoav Goldberg
OneFlow 编译
翻译 | 杨婷、徐佳渝、贾川


1

引言

2014-2017 年左右,基于神经网络的 NLP 办法衰亡,围绕完满语言建模能够达到人类智能水平这一主题,我做了一个半学术半科普讲座。同一时间,在一个学术小组中,有人问:如果有有限算力,且无需放心劳动力老本,你会做什么?过后,我的答复是“我会训练一个超大型语言模型,目标是证实算力并不能解决所有问题”。当然,我晓得这种说法曾经老掉牙了,但事件真是如此吗?它该如何与我后面提到的“完满语言建模即智能”的故事共存?


2

完满语言建模就是 AI 齐备

我的那场讲座主题“教计算机了解语言”次要围绕 Claude Shannon 的“猜谜游戏”和语言建模开展。演讲先从 AI 游戏开始,之后迅速转向 Shannon 在 1951 年创造的“另一种游戏(a different kind of game)”,即“猜下一个字母”。游戏操作员在文本中抉择一些文本,给出填空处,并暗藏结尾,玩家须要在起码的猜想次数中猜出第一个暗藏字母。

为了更好地进行游戏,我举了几个例子,这些例子来自不同的语言常识,处于不同的语言了解程度(从形态学到不同档次的语法、语义、语用学以及社会语言学)。后果是,在游戏中,人们无需刻意练习就能体现得相当杰出,从而导致他们无奈再获得任何提高,所以说玩家们认为这个游戏并没有什么了不起。

之后我提到,相较于人类,计算机在游戏中的体现要蹩脚得多,但在训练计算机玩游戏的过程中,咱们取得了很多隐含的语言常识。尽管在语言建模方面还有很长的路要走,但咱们始终在稳步前进,这也是目前机器翻译的工作模式!

我也说过计算机在这方面还不是十分善于,这是能够了解的。起因在于这个游戏是“人工智能齐备(AI-complete)”,真正“以人类程度”玩这个游戏意味着要解决 AI 面临的全副问题,并展现出类人智能。

为什么这么说?因为游戏波及实现任意文本前缀,包含很长的前缀、对话,以及每一个可能的对话前缀,能够用人类语言表达的每一种教训形容,还包含任意主题或状况下的每一个问题的每个答复,还包含高数、哲学问题等等。

总之,想要玩好这个游戏,咱们须要了解文本,了解文本中形容的情景,要可能将心比心将本人代入到情景之中,并做出回应。这的确就是在模拟人类的教训和思维。(有人可能并不同意这一说法,认为人类也须要询问无关图像、场景或模型看不到的感知输出问题,但我想你应该明确我的意思。)

这就是 Shannon 的猜谜游戏(又名“语言建模”),以及为什么在人类智力程度上玩这个游戏须要人类级别的智能。


3

构建大型语言模型并不能解决所有问题

如果取得完满的语言建模能力须要智能(“人工智能齐备”),那为何我还保持认为构建尽可能大的语言模型并不能“解决所有问题”?我是否想错了?

答案是,我不认为基于过后的技术(RNNs / LSTM 或 Transformer)构建一个超大型语言模型会让咱们靠近领有“完满语言建模”能力。

那么我是否想错了?的确有可能。大型语言模型展现出的能力让我很震惊。事实证明,60B 参数和 175B 参数之间产生了“相变”,这让模型展现出了惊人实力。相比基于文本上训练的 RNN / LSTM / Transformers 语言模型,大型语言模型能做的事件要多得多,我曾说过“它们不能解决所有问题”,但当初它们曾经做到了我过后脑海中所能想到的全副事件。

以后的语言模型(ChatGPT 的第一个版本)的确“解决”了过后我所担心的无关语言了解的所有问题,从这个意义上说,我错了。但从另一种意义上说,我没有错,因为它没有解决全副问题,至多当初还没有。此外,当今语言模型的性能不仅仅是通过我过后所想到的语言建模能力取得的,这一点十分重要,稍后我会加以具体阐明。

接下来,我将简要介绍以后语言模型(current-day-LMs)与之前人们了解的语言模型(LM)之间的区别,以及一些在我看来大型语言模型尚未“解决”的问题,我还会提及一些正确但无关紧要、无趣的论点。


4

自然语言建模 vs 精心策划的语言建模

“以后语言模型的性能不是通过语言建模取得的”是什么意思?据我所知,大型语言模型(170B 参数级别,GPT-3)的首次版本演示是在天然的文本数据上进行训练的,也就是说,训练数据来源于书籍、互联网、社交网络等,起初的系列模型(BLOOM、OPT)也应用了相似数据。这与 Shannon 的游戏十分靠近,同时也是过来几十年大多数人眼中的“语言建模”,这些模型领有卓越的性能。但 ChatGPT 与此不同。

ChatGPT 有何不同?GPT- 3 和 ChatGPT 之间有三个概念步骤:指令、代码、RLHF。在我看来,三个步骤都很有意思。相比起来 RLHF 要稍显逊色,只管它受到的关注最多。该解释可能比拟随便,兴许未来有一天我会把它变成一个更为正式的论点,心愿读者能从中取得一些启发。

像“传统语言模型”这样在“纯文本”数据上对模型进行训练,的确有一些显著的实践局限,其中最显著的问题是:这种训练形式无奈与“文本内部”的内容产生分割,因而无奈取得“意义(meaning)”或“交际用意(communicative intent)”,也就是说这样的模型“不接地(not grounded)”。它们操作的符号就只是符号,尽管能够彼此交互,但它们难以“立足”于事实世界,以“蓝色”这个符号为例,尽管模型晓得这个符号,但它们却并不知道与之对应的事实世界中的“蓝色”。

以前,模型只会在“发现的(found)”数据上训练,但在指令精调中,模型训练者(trainers)开始同时在“发现的”数据以及人类创立的特定数据上对模型进行训练(这在机器学习中被称为“监督学习”,例如从正文的例子中进行学习)。比方,人类正文者会写一些相似于“请总结此文本”等内容,前面会附上文本和文本的总结,或者,他们会写“将此文本转换成正式语言”,而后会附上文本,以及文本转换后的正式语言。他们会创立许多相似的指令(比方摘要、翻译等等),随后,这些指令会被增加到模型的训练数据中。

为什么这很重要?实质上,模型依然在进行语言建模,仅基于文本学习预测下一个单词,但人类正文员向文本里注入了肯定水平的接地(grounding)信息。将一些符号(如“总结”“翻译”“正式”)与它们所示意的概念 / 工作一起应用。

因为总是呈现在文本结尾,这使得这些符号(或“指令”)在某种意义上独立于其余数据,使得模型可能将人类“摘要(summary)”的概念与产生摘要的行为相关联。换言之,这有助于模型去学习用户在其“指令”中要求“摘要”的交际用意。

有人可能会认为,这样的案例曾经自然而然呈现在大规模文本汇合中,模型曾经从中学习了,还能有什么新花样?然而我认为,从间接指令中学习可能比从非指令数据中学习要容易得多(比方间接陈说“这是一条狗”vs 从人们议论狗的内容中进行推断)。此外,将训练数据的散布转向这些正文用例,能够从根本上扭转模型的行为和其所具备的“接地(grounding)”水平。相比之下,应用显式指令数据须要的训练文本要少得多。

另外,最新一代模型还应用编程语言代码数据进行训练,包含自然语言指令(以代码正文的模式)和相应的编程语言代码。这为何重要?这种形式产生了一种十分间接的“接地”模式。

咱们在文本流中有两个独立的零碎:一个是人类语言,另一个是编程语言。

咱们察看这两个零碎之间的间接互动:人类语言形容概念(或用意),而后以相应程序的模式实现。这两个零碎之间的间接交互其实就是“模式到意义的配对”,相比于“仅从模式中学习”,咱们能从这种交互中学到更多货色。(此外,我猜想最新的模型也是通过执行(execution)进行了训练:即程序对和它们的输入。这是一种更强有力的“接地”模式:指称(denotations)。这不“仅仅”是语言建模了。

最初是 RLHF(人类反馈的强化学习)。RLHF 指模型察看两个人的对话,一个人表演用户,另一个表演“AI”,演示 AI 在不同情境下应该如何回应。这种办法能够帮忙模型学习如何进行对话,以及如何跟踪对话状态中的信息(仅从“发现的”数据中学习这一点十分艰难)。这些人类指令也是咱们从模型中察看到的所有“不失当的 …(It is not appropriate to…)”和其余公式化 / 模板化响应的起源。这是一种通过示范训练模型“良好行为(behave nicely)”的办法。

上述是 ChatGPT 的三种能力。当然,该模型可能还有其余能力,这就是为什么我认为它与“传统”语言模型有很大不同,为什么它可能不“恪守”咱们(或我)冀望语言模型有的一些限度,以及为什么它在许多工作上体现更好:ChatGPT 是一种有监督模型,具备拜访内部模态的能力,同时也通过演示显式地训练以遵循对话模式给出的指令。


5

还短少什么?

以下是一些对于语言模型的常见争执。这些争执的确存在,但并不具备启发性,或者与我所探讨的不相干:

  • 语言模型是不经济的。训练模型的代价很高,而且用起来很贵。

的确,当初看来这些观点是正确的。但随着时间推移,老本会降落。此外,咱们要将问题放在更宽泛的背景下思考:尽管环保代价高,但咱们并没有训练太多语言模型,而且它们的总能耗绝对于人类的其余能耗来说显得微不足道。另外,我也不确定环境问题和“这些货色是否乏味”、“这些货色是否有用”等问题之间有什么关系,这只是一个经济问题。

  • 模型存在很多偏见和刻板印象。

模型确实存在这些问题。因为模型模拟的是人类语言,而人类自身就带有偏见、存在刻板印象。这意味着咱们在将这些模型利用于事实工作时须要审慎,但从迷信的角度来看,这并不会升高模型的有效性、有用性或趣味性。

  • 模型并不能真正地了解语言。

模型确实并不真正了解语言。那又怎么?咱们应该关注模型能做些什么,并对其毛病进行优化。

  • 模型永远无奈真正了解语言。

那又怎么样?模型在某些方面体现得十分杰出。咱们为什么不去关注那些表现出色的方面?如果你不关怀这一点,大可不必关注。那些真正想要深刻了解语言的人可能更喜爱从其余路径去探索。对我来说,近似了解曾经足够了。

  • 模型不能像人类一样了解语言。

模型不是人类对吧?模型在某些机制上与人类不同,但它们依然能够通知咱们很多对于语言构造的信息。而对于模型无奈提供的信息,咱们能够从其余渠道获取。

  • 仅通过模式上的训练不足以学到有意义的内容。

模型并不仅仅是通过模式进行训练,具体情况请参见后面的局部。

  • 模型只是依据某些统计法则来连贯它之前见过的片段。

应用统计学办法可能让模型获得这样的成绩,不是很令人诧异吗?大型模型能以十分弱小的形式连贯单词,此外,依据统计法则,只管从语料库中连贯的单词或短语有许多谬误的形式,但模型依然能够选出“有意义”的连贯形式。这十分了不起。

  • 咱们不晓得这些事物可能会对社会产生什么影响。

对于任何新的技术或发现,咱们都无奈预知其可能对社会产生的影响。但这并不意味着咱们不应该去发现它们的潜在影响。咱们能够尝试以审慎的态度对其进行钻研,这样并不会升高其趣味性、有效性或钻研价值。反之,它为咱们提供了一个值得钻研的角度。

  • 模型不会援用起源。

我了解你“想要某些利用有援用性能”的想法,因为不想受到模型的误导。但我认为,这并不是语言模型的外围问题。人们在真正意义上也并不“援用信息起源”,咱们很少将常识归因于特定的繁多起源,即便这样,咱们也往往是出于理性化解释或先查找起源再援用的无意识过程。这种状况是能够复制的。

从利用的角度来看(例如想开发一个搜寻零碎、论文写作零碎或通用问答零碎),人们当然能够致力于将表白与起源分割起来,能够通过生成过程或后处理步骤,或者先检索再生成的设置。的确有很多人这样做了,但这与语言了解并不真正相干。我认为更有意义,或者更有建设性的问题是:(1)如何将“语言和推理”的“外围(core)”常识与对于“事件(things)”的特定事实的常识离开;(2)如何实现“常识”的常识(knowledge of knowledge,见下文)。


6

目前有哪些真正的局限和缺失?

我列出了以后“大型语言模型”(包含 ChatGPT 最新版)存在的一些挑战。当然,仅代表个人观点,而且可能不是很欠缺。这些问题在某种意义上妨碍了它们“齐全了解”语言。以下是这些模型仍无奈实现,或者至多在实现时体现不佳的一些工作:

  • 多文本互相关联。 在训练过程中,这些模型将文本看作一个整体或独立信息片段来解决。尽管它们可能会发现文本中的共性模式,但却不足如何将文本与事实世界中的“事件(events)”相关联的概念。如果这些模型在多个形容同一事件的新闻报道上进行训练,它们就无奈晓得这些文本都形容了同一件事,也无奈将其与形容类似但不相干事件的多个文本辨别开。因而,这些模型不能(或没有能力)从它们所“浏览”的所有文本中真正造成统一、残缺的世界观。
  • 工夫概念。 模型在其训练流程中没有对于事件产生的先后顺序概念。除了明确提到的工夫,它们实际上并没有工夫概念。因而,尽管它们可能学习到一些部分的意义,例如“奥巴马在 2009 年成为总统”,并可能推断出其余产生在此之前或之后的事件,然而它们无奈了解工夫流逝的概念。例如,如果模型在不同的文本中读到“奥巴马是美国现任总统”和“奥巴马不再是总统”,它们无奈确定这些信息之间的先后关系以及以后的假相。它们可能会同时认为“奥巴马是美国现任总统”、“特朗普是美国现任总统”和“拜登是美国现任总统”这些陈说都是正确的。此外,这些模型实际上也没有实用的办法来解释“X 是 Y 的最新专辑”这类陈说以及它们之间的关系。
  • “常识”的常识。 模型不真正“晓得本人晓得什么”,甚至不晓得“晓得”的意思。它们所做的所有就是猜想流程中的下一个 token,而这个猜想可能基于曾经取得的确切常识,或者是纯猜想。模型的训练和训练数据没有明确的机制来辨别这两种状况,也没有明确的机制依据这些状况采取不同口头。“自信地假造事实”就是很好的证实。从演示学习(RLHF)中,模型“意识到”有些答案应该审慎看待。兴许模型甚至学会将这种审慎水平与训练数据中波及的某些事实、实体或主题的水平以及数据在其外部权重中反映的水平相关联。在这个意义上,它们展现出了某些“常识的常识”。然而当它们克服了回绝答复的最后阶段,进入“文本生成模式”时,它们会失去所有这些“常识的常识”,并且十分疾速地转变为“胡言乱语”模式。即便是在它明确示意(在不同阶段)没有相干常识的事件上也是如此。
  • 数字和数学。 模型十分不适宜进行数学计算,它们的根本构建块是“单词片段(word pieces)”,这些片段并不齐全对应任何便于计算的数字基数。它们也没有任何适当的办法以有意义和统一的形式学习不同数字之间的关系(如 + 1 或“大于”关系)。尽管大型语言模型在一些波及数字的问题上体现得不错,但相比咱们给予大型语言模型的机制,在示意数字和数学方面有更多更好的形式。因而,这些模型的无所不能真的很让人吃惊。但我认为,如果不进行更显式的建模,它们不会获得很大停顿。
  • 常见事件、高召回设置和高笼罩设置。 从实质来看,模型专一于常见和可能的案例,所以我对它们从数据中学习常见事件、回顾常见事件或回顾所有事件的能力示意狐疑。我不是很确定模型是否做到这一点:它们兴许可能做到。但我目前仍持狐疑态度。
  • 数据饥饿(Data hunger)。 这可能是以后大型语言模型面临的最大的技术问题:模型须要大量数据。为了达到杰出的性能,模型须要训练数万亿个单词。“……人类只从其中的一小部分中就能够学习”显然是正确的,但这并没有那么吸引我:那又怎么?模型不用模拟人类就很有用。然而其中还有其余令人担忧的影响因素:大多数人类语言并没有这么多数据,尤其没有那么多有价值的数字模式的数据。

为什么这很重要?因为这意味着,在其余语言上咱们很难复制目前所获得的英语了解的成绩,比方我的母语希伯来语,或者像德语、法语、阿拉伯语、甚至中文或印地语这样更为常见的语言,更不用说非洲和菲律宾等地的“资源较少(low resource)”的语言。

尽管这些语言也能够取得很多数据,但并不像英语数据那么多。通过“指令训练”技术可能须要的数据更少,但随之而来的是须要创立指令数据,这对咱们想要增加的每一种新语言来说都是一项微小的工作。此外,如果咱们置信(而我的确置信)在编码 + 语言方面进行训练十分重要,那么在实现其余语言的相似模型时这将成为另一个微小阻碍。

那么,翻译能解决这个问题吗?毕竟咱们在机器翻译方面也获得了很大停顿。咱们能够将那些文本翻译成英语,而后用英语运行模型,再将后果翻译回去。咱们的确能够这样做,但只能在十分通俗的层面上起作用。天文区域不同,语言也不同。这些区域有本人的文化、标准、故事和事件,与英语地区的文化、标准、故事和事件在各种方面都有差别。即便像“城市”这样的简略概念也会因不同的社群和地理位置而不同,更不用说“礼貌”或“暴力”等概念了。当然还有人、历史事件、重要地点、动物、习俗等方面的“事实”常识,这些都不会反映在英语训练数据中,也不能通过翻译来传递。

因而,如果咱们想要在英语以外的语言中应用语言了解和“AI”技术,那么数据饥饿是一个切实存在的问题。

对于咱们这些关怀社会影响的人来说,将数据饥饿和英语 / 美国中心化(English/US-centrality)相结合相对是一个须要思考的重大问题。

  • 模块化: 在后面的“常见但平平无奇的争执”中,我提出了一个重要问题:“如何将语言和推理的“外围(core)”常识与对于“事物(things)”的具体事实性常识离开?”该问题是否够解决将在很大水平上影响其余问题的解决方案。如果咱们可能将“外围语言了解和推理”组件与“常识”组件进行模块化和拆散,可能会更好地解决数据饥饿问题和文化常识鸿沟问题,更好解决和管制偏见和刻板印象,还能够“收费获取”常识的常识。(许多人正在钻研“检索增强型语言模型”,不过还无奈确认这是否是解决这个问题的正确办法。对此,我往往持狐疑态度,兴许存在更基本的解决办法,但历史教训表明我对这些事件的直觉不够敏锐。)

7

论断

大型语言模型的能力十分惊人。语言建模自身并不足够,但“以后的语言模型”实际上不仅仅是语言模型,它们能够做到很多超出咱们预期的事件。然而,如果咱们关怀“包容性(inclusive)”的语言了解,大型语言模型所能做的还是不够;即使咱们不关怀这一点,状况也是如此。


欢送 Star、试用 OneFlow 最新版本:https://github.com/Oneflow-Inc/oneflow/

正文完
 0