人工智能
最近,人们对大型语言模型所展示的强大能力(例如思维链 、便签本 )产生了极大的兴趣,并开展了许多工作。我们将之统称为大模型的突现能力 ,这些能力可能只存在于大型模型中,而不存在于较小的模型中,因此称为“突现”。
其中许多能力都非常令人印象深刻,比如复杂推理、知识推理和分布外鲁棒性,我们将在后面详细讨论。值得注意的是,这些能力很接近 NLP 社区几十年来一直寻求的能力,因此代表了一种潜在的研究范式转变,即从微调小模型到使用大模型进行上下文学习。
对于先行者来说,范式转变可能是很显然的。然而,出于科学的严谨性, 我们确实需要非常明确的理由来说明为什么人们应该转向大型语言模型,即使这些模型昂贵、难以使用,并且效果可能一般 。在本文中,我们将仔细研究这些能力是什么,大型语言模型可以提供什么,以及它们在更广泛的 NLP/ML 任务中的潜在优势是什么。
前提 :我们假设读者具备以下知识:
图片来自于 Wei. et. al. 2022. Chain-of-Thought Prompting Elicits Reasoning in Large Language Models。X轴为模型尺寸。GSM8K是是一个小学水平的数学问题集。
在以上的效果图中,我们可以观察到模型的表现:
这从根本上说明,某些能力可能不存在于小模型中,而是在大模型中获得的。
有很多种突现能力,比如 Wei 等人在 2022年 ^[5]^ 所梳理的。有些能力很有意思,但我们在本文不会讨论,比如last latter concatenation,我们认为这是Python而不是语言模型要做的任务;或者3位数加法,我们认为这是计算器而不是语言模型要做的事。
在本文中,我们主要对以下能力感兴趣:
很多有意思的能力都可以归到上文提到的类别里,在它们之中,我们主要讨论以下三种典型能力:
接下来让我们一个个详细讨论。
下面是一个GSM8K数据集中,用提示词显著超过精调的例子:
问题:
克莱儿每天早饭都用 3 颗蛋做蛋卷,她 4 周会吃掉多少打鸡蛋?
克莱儿每天早饭都用3颗蛋做蛋卷。
一周有 7 天。
所以她一周会吃 3 * 7 = 21 颗蛋。
她4周会吃掉 4 * 21 = 84 颗蛋。
一打里面是 12 颗蛋。
所以 84 / 12 = 7。
答案是7。
虽然这道题对于10岁的孩子来说很容易,但对语言模型来说却很难,主要是由于数学和语言混合在一起。
GSM8K 最初由 OpenAI 于 2021 年 10 月 ^[6]^ 提出。当时他们用第一版GPT3在全部训练集上进行了精调,准确率约为 35% 。这个结果让作者相当悲观,因为他们的结果显示了语言模型的缩放规律:随着模型大小呈指数增长,性能呈线性增长(我之后会讨论)。因此,他们在第 4.1 节中思考:
“175B 模型似乎需要至少额外两个数量级的训练数据才能达到 80% 的求解率。 ”
三个月后,即 2022 年 1 月,Wei 等人 ^[7]^ 基于 540B PaLM 模型,仅使用了8个思维链提示示例便将准确率提高到56.6% (无需将训练集增加两个数量级)。之后在 2022 年 3 月 ,Wang 等人 ^[8]^ 基于相同的 540B PaLM 模型,通过多数投票的方法将准确率提高到 74.4% 。当前的 SOTA 来自我自己在 AI2 的工作(Fu et. al. Nov 2022 ^[9]^ ),我们通过使用复杂的思维链在 175B Codex 上实现了 82.9% 的准确率。从以上进展可以看到,技术进步确实呈指数级增长。
思维链提示是一个展示模型随着规模突现出能力的典型例子:
有些同学可能会认为模型能做小学数学代表不了什么(从某种意义上说,他们确实没有那么酷)。但 GSM8K 只是一个开始,最近的工作已经把前沿问题推向了高中 ^[10]^ 、大学 ^[11]^ ,甚至是国际数学奥林匹克问题 ^[12]^ 。现在更酷了吗?
下一个例子是需要知识的推理能力(例如问答和常识推理)。在这种情况下, 对大型模型进行提示不一定优于精调小型模型 (哪个模型更好还有待观察)。但是 这个情况下的注释效率被放大了 ,因为:
图片来自于 Yu et. al. 2022. 以前的 SOTA 模型需要从外部知识源中检索。GPT-3 的性能与以前的模型相当/优于以前的模型,且无需检索。
如表中所示,与数学题的例子不同,GPT-3 并没有明显优于之前的精调模型。但它不需要从外部文档中检索,本身就包含了知识(虽然这些知识可能过时或者不可信,但选择哪种可信知识源超出了本文的讨论范围)。
为了理解这些结果的重要性,我们可以回顾一下历史:NLP 社区从一开始就面临着如何有效编码知识的挑战。人们一直在不断探究把知识保存在模型外部或者内部的方法。上世纪九十年代以来,人们一直试图将语言和世界的规则记录到一个巨大的图书馆中,将知识存储在模型之外。但这是十分困难的,毕竟我们无法穷举所有规则。因此,研究人员开始构建特定领域的知识库,来存储非结构化文本、半结构化(如维基百科)或完全结构化(如知识图谱)等形式的知识。通常, 结构化知识很难构建 (因为要设计知识的结构体系), 但易于推理 (因为有体系结构), 非结构化知识易于构建 (直接存起来就行), 但很难用于推理 (没有体系结构)。然而,语言模型提供了一种新的方法,可以轻松地从非结构化文本中提取知识,并在不需要预定义模式的情况下有效地根据知识进行推理。下表为优缺点对比:
构建 | 推理 | |
---|---|---|
结构化知识 | 难构建,需要设计体系结构并解析 | 容易推理,有用的结构已经定义好了 |
非结构化知识 | 容易构建,只存储文本即可 | 难推理,需要抽取有用的结构 |
语言模型 | 容易构建,在非结构化文本上训练 | 容易推理,使用提示词即可 |
全部0条评论
快来发表一下你的评论吧 !