Yoav Goldberg是以色列巴伊兰大学教授,2011年在本古里安大学获得博士学位,此后在Google Research做过博士后。他是NLP神经网络领域的知名专家(Google Scholar引用2.5万+),著有很受欢迎的《基于深度学习的自然语言处理》一书。
以下是“Some remarks on Large Language Models”一文的翻译,主要基于Google Translate,人工做了少量修订。已获得作者授权。
对读者的说明:我假设你听说过 chatGPT,也许玩过一点,并且对它印象深刻(或者非常努力不去想)。而且你还听说它是一个“大型语言模型”。也许它“解决了自然语言理解问题”。下文是我对这个(和类似)模型的想法的简短个人观点,以及我们在语言理解方面的立场。
导言
2014-2017 年左右,在基于神经网络的 NLP 方法兴起之际,我做了一个半学术半通俗的演讲,围绕着实现完美的语言建模等价于与人类一样聪明的故事展开。大约在同一时间,我还在一个学术小组中被问到“如果给你无限的计算能力并且不需要担心劳动力成本,你会怎么做”,我骄傲地回答说“我会训练一个非常庞大的语言模型,只是为了表明它并不能解决所有问题!” 好吧,现在这个回应严重过时了!还是并没有?它如何与我同时讲述的完美语言建模就是智能的故事共存?
完美的语言建模是AI完备的
我之前那次演讲(“教计算机理解语言”)围绕着 Claude Shannon 的“猜谜游戏”和语言建模的想法展开。它从人工智能游戏开始,然后迅速转向香农在 1951 年发明的“另一种游戏”:“猜下一个字母”游戏。游戏操作员选择一些文本和文本中的切割点,并隐藏结尾。玩家需要以最少的猜测次数猜出第一个隐藏的字母。
我给出了这个游戏的几个例子,这些例子展示了在不同的语言理解水平(从形态学到不同水平的句法、语义学、语用学和社会语言学)上,为了在游戏中表现出色所需要的各种语言知识。然后我说人类在这个游戏中很厉害,甚至不需要练习,但他们很难在这个游戏中变得更好,这就是为什么他们认为它不是一个伟大的游戏。
然后我说,与人类相比,计算机在这个游戏中有点糟糕,但是通过教它们玩这个游戏,我们获得了很多关于语言的隐性知识。还有很长的路要走,但有一些稳定的进展:这就是今天机器翻译的工作方式!
我还说计算机仍然不是很好,这是可以理解的:游戏是“AI完备的”(AI-complete):真正“以人类水平”玩游戏意味着解决 AI 的所有其他问题,并展现出类人智能。要了解为什么这是真的,请考虑游戏需要完成任何文本前缀,包括很长的前缀,包括对话,包括每一个可能的对话前缀,包括每一个可以用人类语言表达的体验描述,包括对每一个问题的每一个答案可以就任何话题或情况提出问题,包括高等数学,包括哲学等等。总之,要玩好,需要看懂文字,理解文字描述的情况,想象自己的处境,然后做出回应。它真的模仿了人类的经验和思想。(是的,这个论点可能有几个反对意见,例如,人类可能还需要询问有关模型看不到的图像或场景或其他感知输入的问题。但我认为你明白了。)
这就是我讲的关于香农猜谜游戏(又名“语言建模”)的故事,以及在人类水平上玩它如何需要人类水平的智力。
构建大型语言模型不会解决所有问题
现在,如果获得完美语言建模的能力需要智能(“AI-complete”),为什么我坚持认为构建最大可能的语言模型不会“解决所有问题”?我错了吗?
答案是,我不认为基于当时存在的技术(当时只是在 RNN/LSTM 和 Transformer 之间转换)构建一个非常大的语言模型将使我们离“完美的语言建模”还差得很远。
我错了吗?有点。我对大型语言模型所展示的能力感到非常惊讶。结果证明在 60B 参数和 175B 参数之间存在相移,这使得语言模型非常令人印象深刻。它们所做的比我认为的基于文本训练并基于 RNN/LSTM/Transformer 的语言模型所能做的要多得多。当我骄傲地说它们“不会解决所有问题”时,它们肯定会做我想到的所有事情。
是的,当今的语言模型(ChatGPT 的第一个版本)确实“解决”了我当时暗中考虑的语言理解问题集中的所有问题。所以从这个意义上说,我错了。但从另一个意义上说,不,它并没有解决所有问题。至少现在还没有。此外,当今语言模型的性能并不仅仅通过我当时想到的意义上的语言建模获得。我认为这很重要,我将很快详细说明。
在接下来的内容中,我将简要讨论我所看到的当前 LM 与之前我认为的 LM 之间的区别,然后简要介绍一些我认为大型 LM 尚未“解决”的问题。我还会提到一些我认为正确但无关紧要/无趣的论点。
自然与策划的语言建模
“当今语言模型的性能不是通过语言建模获得的”是什么意思?大型语言模型的第一个演示(假设在 170B 参数级别,也就是GPT-3)是(据我们所知)在自然发生的文本数据上训练的:在书中找到的文本,从互联网上爬取的,在社交网络找到的,等等。后来的复现模型(BLOOM、OPT)也使用了类似的数据。这非常接近香农的游戏,也是过去几十年大多数人认为的“语言建模”。这些模型已经带来了卓越的性能。但 ChatGPT 不同。
ChatGPT 有什么不同?GPT-3 和 ChatGPT 之间存在三个概念步骤:指令、代码、RLHF。最后一个是,我认为,尽管受到最多关注,但最不有趣,但都很有趣。这是我的手波解释。也许有一天我会把它变成一个更正式的论点。我希望你能从中得到直觉。
像“传统语言模型”这样的“单独文本”训练确实有一些明显的理论局限性。最值得注意的是,它与“文本之外”的任何事物都没有联系,因此无法获得“意义”或“交流意图”。另一种说法是该模型“未接地”。模型操作的符号只是符号,虽然它们可以相互关联,但它们不会“接地”到任何现实世界的项目。所以我们可以知道“蓝色”这个符号,但它背后并没有现实世界的概念。
在指令调优中,模型培训师停止仅对“找到的”数据进行培训,并开始对特定的人工创建数据进行培训(这在机器学习界被称为“监督学习”,例如从带注释的示例中学习),另外到找到的那个。例如,人工注释者会写下类似“请总结这段文本”的内容,然后是他们得到的一些文本,然后是他们对这段文本的总结。或者,他们可能会写“将此文本翻译成正式语言”,然后是一些文本,然后是正式语言。他们会为许多不同的“任务”创建许多此类指令(许多摘要、许多翻译等)。然后这些将被添加到模型的训练数据中。该模型的核心仍在进行语言建模,对吗?学习仅根据文本预测下一个单词?当然可以,但是这里人工注释者为文本注入了一定程度的基础。一些符号(“总结”、“翻译”、“正式”)以一致的方式与它们表示的概念/任务一起使用。它们总是出现在文本的开头。这使得这些符号(或“说明”)在某种松散意义上处于其余数据之外,从而使生成摘要的行为基于人类的“摘要”概念。或者换句话说,这有助于模型了解在其“说明”中要求“摘要”的用户的交流意图。异议这种情况很可能已经自然地发生在大型文本集合中,并且模型已经从中学习到了,那么这里有什么新东西呢?我认为从这样的直接指令中学习可能比从非指令数据中学习要容易得多(想想像“这是一只狗”这样的直接陈述 vs 需要从过度听到人们谈论狗来推断). 并且通过将训练数据的分布转移到这些带注释的案例中,可以显着改变模型的行为方式以及它具有的“基础”数量。而且也许有了明确的指令数据,与没有它们的情况相比,我们可以使用更少的训练文本。(我答应过你挥手不是吗?)
此外,最新一波模型也在编程语言代码数据上进行训练,特别是包含自然语言指令或描述(以代码注释的形式)和相应的编程语言代码的数据。为什么这很重要?这就产生了另一种非常直接的接地形式。在这里,我们在文本流中有两个独立的系统:一个是人类语言,另一个是编程语言。我们观察到这两个系统之间的直接交互:人类语言描述概念(或意图),然后将其实现以相应程序的形式。现在这是一个非常明确的“形式到意义的配对”。我们当然可以从中学到比“仅从形式”学到的更多的东西。(此外,我假设最新的模型也在执行方面接受了训练:程序对及其输出。这是一种更强大的基础形式:外延)。现在,这与“只是”语言建模相去甚远。
最后,RLHF,或“带人类反馈的 RL”。这是一种奇特的说法,该模型现在在对话中观察两个人,一个扮演用户的角色,另一个扮演“人工智能”的角色,展示人工智能在不同情况下应该如何反应。这显然有助于模型了解对话如何工作,以及如何跟踪对话状态之间的信息(仅从“找到的”数据中很难学习的东西)。对人类的指示也是我们从模型中观察到的所有“不适合……”和其他公式化/模板化反应的来源。这是一种通过示范来训练“举止得体”的方法。
ChatGPT 拥有所有这三个,如果不是更多的话。这就是为什么我发现它与“传统”语言模型有很大不同,为什么它可能不“遵守”我们(或我)期望语言模型的一些限制,以及为什么它在许多任务上表现得更好:它是一个监督模型,可以访问外部模态,它也通过演示明确训练以遵循以对话形式给出的大量指令。
还缺少什么?
常见但无聊的争论
有很多关于语言模型的常见争论,我发现这些争论是真实的,但与我在这里的讨论没有启发性/无关:
他们很浪费,培训他们非常昂贵,使用他们非常昂贵。
- 是的,今天确实如此。但随着时间的推移,东西会变得更便宜。此外,让我们正确看待事情:是的,它在环境方面代价高昂,但我们并没有训练那么多人,而且与我们人类所做的所有其他能源消耗相比,总成本微不足道。而且,我也不确定环境论点与“这些东西有趣吗”、“这些东西有用吗”等问题有什么关系。这是一个经济问题。
这些模型编码了许多偏见和刻板印象。
- 好吧,他们肯定会。他们模仿观察人类的语言,而我们人类是可怕的生物,我们有偏见并且不断地刻板印象。这意味着我们在将这些模型应用于现实世界的任务时需要小心,但从科学的角度来看,这并不会降低它们的有效性、有用性或趣味性。
这些模型并不真正理解语言。
- 当然。他们没有。所以呢?让我们关注他们确实设法做到的事情,也许尝试改进他们没有做到的事情?
这些模型永远不会真正理解语言。
- 再说一遍,那又如何?他们显然很好地涵盖了某些部分。让我们看看那些?或者如果你不关心这些方面,就不要看它们。那些想要真正 理解语言的人可能确实更愿意去别处看看。我对大致的了解感到满意。
这些模型不像人类那样理解语言。
- 呃?他们不是人类?当然,它们在某些机制上有所不同。他们仍然可以告诉我们很多关于语言结构的信息。对于他们没有告诉我们的事情,我们可以去别处看看。
您无法仅根据形式学习任何有意义的东西:
- 但它不仅在形式上受过训练,请参见上一节。
根据一些统计数据,它只连接之前看到的片段。
- …… “统计数据”能让你走得这么远,这不是很棒吗?大型模型以非常强大的方式连接事物。此外,请考虑根据统计数据,从语料库中连接单词和短语的方式有多少是非常错误的。以及模型设法避免多少种方式,并以某种方式选择“有意义”的方式。我觉得这非常了不起。
我们不知道这些事情可能对社会产生的影响:
- 任何新技术/新发现都是如此。让我们找出来。我们可以尝试并谨慎对待它。但这并不会使事情变得不那么有趣/不那么有效/不值得研究。它只是增加了一个值得研究的额外方面。
这些模型没有引用它们的来源:
- 事实上他们没有。但是……那又怎样?我明白为什么您会在某些类型的应用程序中喜欢它,并且您当然希望模型不会欺骗您,也许您希望能够验证他们不会骗你,但这些都与语言模型的核心无关/我认为这不是正确的问题。毕竟,人类并没有在真正意义上真正地“引用他们的来源”,我们很少将我们的知识归因于一个特定的单一来源,如果我们这样做,我们经常这样做是为了合理化,或者是在一个非常慎重的过程中首先找到来源,然后引用它。这是可以复制的。从应用的角度来看(比如,如果我们想开发一个搜索系统,或者一个论文写作系统,或者一个通用的问答系统),人们当然可以通过生成过程或在后处理步骤,或在您首先检索然后生成的设置上。许多人都这样做。但这与语言理解并没有真正的关系。什么有趣的是,我发现要求的更具建设性的是(a)我们如何将关于语言和推理的“核心”知识与关于“事物”的具体事实知识分开;(b) 我们如何实现知识的知识(见下文)。
那么缺少什么/真正的限制是什么?
这是我认为当前“大型语言模型”(包括最新的 ChatGPT)中目前具有挑战性的事物的非正式且不完整的列表,并且阻碍了它们“完全理解”语言是某种真正意义上的。这些是模型仍然不能做的一堆事情,或者至少没有足够的能力去做。
将多个文本相互关联。在他们的训练中,模型将文本作为一个大流或作为独立的信息片段来处理。他们可能会从文本中找出共性模式,但它不知道文本如何与现实世界中的“事件”相关联。特别是,如果模型是在关于同一事件的多个新闻故事上训练的,它无法知道这些文本都描述了同一件事,也无法将其与描述相似但不相关事件的多个文本区分开来。从这个意义上说,模型无法从他们“阅读”的所有文本中真正形成(或实际上没有能力形成)连贯和完整的世界观。
一个时间概念。同样,模型不知道哪些事件在其训练流中跟随其他事件。除了可能明确提到时间之外,他们根本没有时间概念。因此,它可能会学习“奥巴马于 2009 年成为总统”等表达的本地含义,以及在此之前或之后发生的其他明确标注日期的事情的“原因”。但它无法理解时间的流逝,如果它(在单独的文本中)读到“奥巴马是美国现任总统”,而在第三个文本中读到“奥巴马不再是总统”,这这些事情接二连三,现在是真的. 它可以同时“相信”“奥巴马是美国现任总统”、“特朗普是美国现任总统”、“拜登是美国现任总统”都是有效陈述。同样,它确实没有实用的方法来解释诸如“X 是 Y 的最新专辑”之类的陈述以及它们之间的关系。
知识的知识这些模型并不真正“知道他们知道什么”。他们甚至不知道什么是“知道”。他们所做的只是猜测流中的下一个标记,而这个下一个标记猜测可能基于有充分根据的知识,也可能是一个完整的猜测。模型的训练和训练数据没有明确的机制来区分这两种情况,当然也没有明确的机制根据它们采取不同的行动。这体现在有据可查的“自信地编造东西”的趋势中。从演示中学习 (RLHF) 使模型“意识到”某些答案应该谨慎对待,也许模型甚至学会了将这种谨慎程度与某些事实、实体或主题的涵盖程度联系起来他们的训练数据,或数据反映在其内部权重中的程度。所以从这个意义上说,他们展示了知识的一些知识。但是当他们熬过拒绝回答的初始阶段,进入“文本生成模式”时,他们就“失去”了所有这些知识,并且很快过渡到“编造”模式,也就是在它所知道的事情上明确说明(在不同的阶段)是不知道的。
数字和数学这些模型真的不具备执行数学的能力。它们的基本构建块是“单词块”,它们并不真正对应于任何方便的基础中的数字。他们也没有任何合适的方法以任何有意义且一致的方式学习不同数字之间的关系(例如 +1 或“大于”关系)。LLM 在一些涉及数字的问题上表现得还算不错,但实际上有比我们为 LLM 提供的机制更好的方法来表示数字和数学,令人惊讶的是他们可以做任何事情。但我怀疑如果没有一些更明确的建模,他们不会走得太远。
罕见事件、高召回率设置、高覆盖率设置:从本质上讲,模型侧重于常见和可能的情况。这让我立即怀疑他们是否有能力从数据中的罕见事件中学习,或回忆起罕见事件,或回忆所有事件。在这里,我比其他方面更不确定:他们也许能够做到。但我目前持怀疑态度。
数据饥饿这可能是我在当前大型语言模型中看到的最大技术问题:它们极度渴望数据。为了取得令人印象深刻的表现,他们接受了数万亿个单词的训练。显而易见的“ ......人类从其中的一小部分中学习”当然是正确的,但它本身对我来说并不是很有趣:那又怎样?我们不必为了有用而模仿人类。不过,还有其他含义,我发现这非常令人不安:大多数人类语言没有那么多数据,当然也没有以数字形式提供的数据。
为什么这很重要?因为这意味着我们将很难复制我们现在对其他语言的令人难以置信的英语理解结果,比如我的母语希伯来语,甚至更常见的语言,如德语、法语或阿拉伯语,甚至汉语或印地语(我什至不考虑像许多非洲和菲律宾语言那样的所谓“低资源”语言)。
我们可以用这些语言得到很多数据,但没有那么多数据。是的,通过“指导培训”,我们可能需要更少的数据。但是接下来需要创建指令数据:对于我们要添加的每一种新语言来说,这都是一项艰巨的任务。此外,如果我们相信(并且我相信)代码 + 语言的培训很重要,那么这是为英语以外的语言实现类似模型的另一个巨大障碍。
这个不能通过翻译解决吗?毕竟,我们在机器翻译方面也有很大的进步。我们可以翻译成英文,在那里运行模型,然后再翻译回来。嗯,是的,我们可以。但这只会在非常肤浅的层面上起作用. 不同的语言来自不同的地理区域,这些区域有其当地的文化、规范、故事、事件等。这些以各种方式不同于英语地区的文化、规范、故事和事件。即使是“城市”这样的简单概念也会因社区和地域而异,更不用说“礼貌”或“暴力”等概念了。或者“只是”关于某些人、历史事件、重要地点、植物、习俗等的“事实”知识。这些不会反映在英语培训数据中,也无法通过翻译涵盖。
因此,数据饥饿是一个真正的问题,如果我们考虑到我们可能希望在英语之外也有语言理解和“人工智能”技术。
对于我们这些想要担心社会影响的人来说,这种数据饥渴和英语/美国中心的结合绝对是一个需要考虑的大问题。
模块化在上面“常见但无聊的论点”部分的最后,我问“我们如何将关于语言和推理的‘核心’知识与关于‘事物’的具体事实知识分开”。我认为这是一个要问的主要问题,解决这个问题将大大有助于取得进展(如果不是“解决”)许多其他问题。如果我们能够模块化和分离“核心语言理解和推理” ” 从“知识”组成部分,我们也许能够更好地解决数据饥饿问题和由此产生的文化知识差距,我们也许能够更好地处理和控制偏见和刻板印象,我们可能会获得知识- of-knowledge 几乎是“免费”的。(很多人都在研究“检索增强语言模型”。这可能是也可能不是解决这个问题的正确方法。我倾向于怀疑是否有更基本的方法可以找到。但历史证明我对这些事情没有很好的直觉。)
结论
大型语言模型是惊人的。语言建模还不够,但“当前的语言模型”其实不仅仅是语言模型,它们能做的比我们想象的要多得多。但是,如果我们关心“包容性”语言理解,这仍然“不够”,如果我们不关心的话。
内容中包含的图片若涉及版权问题,请及时与我们联系删除
评论
沙发等你来抢