Skip to content

第一章:大模型基础

陈安东 edited this page Jan 15, 2024 · 8 revisions

1.1 什么是语言模型

当我们谈论语言模型时,我们指的是一种数学工具,它用来预测或者理解自然语言(如英语或汉语)中的句子或短语有多么常见或自然。想象你有一袋装满不同单词的纸条,你想要连续抽取它们,组成一句话。语言模型就像一个智能系统,告诉你哪些单词排列在一起听起来更像是真正的、自然的句子。在自然语言处理领域,语言模型(LM)的经典定义是一种对词符序列(token)的概率分布。假设我们有一个词符集的词汇表 $V$ 。语言模型p为每个词元序列 $x_{1},...,x_{L}$$V$ 分配一个概率(介于0和1之间的数字):

$$ p(x_1, \dots, x_L) $$

概率直观地告诉我们一个标记序列有多“好(good)”。例如,如果词汇表为{ate, ball, cheese, mouse, the},语言模型可能会分配以下概率(演示):

$$ p(\text{the, mouse, ate, the, cheese}) = 0.02, $$

$$ p(\text{the, cheese ate, the, mouse}) = 0.01, $$

$$ p(\text{mouse, the, the, cheese, ate}) = 0.0001, $$

从数学角度来看,语言模型是一种既简洁又精妙的构造。然而,这种看似简单的外表下隐藏着复杂的真相:为所有可能的序列分配一个合理的概率,这一过程实际上需要语言模型具备非同一般的、隐性的语言理解和广泛的世界知识。对于上面的句子,这些概率值反映了语言模型对每个句子自然程度的评估。第一个句子“the mouse ate the cheese”获得了最高的概率值,这是因为在现实世界的语言使用中,这种表达方式是合乎语法且有意义的。这个句子遵循了英语的主谓宾结构,同时符合我们的常识理解。第二个句子“the cheese ate the mouse”虽然在语法上也是正确的,但是它违反了常识——通常是老鼠吃奶酪,而不是奶酪吃老鼠。因此,即使它在结构上正确,语言模型也会因其不合逻辑的内容而给予较低的概率值。第三个句子“mouse the the cheese ate”在语法上是混乱的,不符合英语的句子结构规则,因此得到了最低的概率值。这表明语言模型能够识别并惩罚不符合语法规则的表达。这里我们是直接给出了计算的结果,对于计算具体方法我们在下一节的概率的链式法则给出具体的计算公式。

语言模型不仅仅是评估句子的工具,它们还能够扮演创造者的角色,生成全新的文本。具体来说,语言模型 (p) 接收一串单词,然后计算出这个序列在自然语言中出现的概率,帮助我们判断这个句子是好是坏。但除了评估,我们还可以利用语言模型来产生文本。

想象一下,你有一个能够预测下一个词的神奇魔盒(即语言模型)。最直接的使用方法是让它随机抽取单词,每次抽取的概率正是模型给出的概率 $p$ ,这个过程称为“采样”:

$$ x_{1:L}∼p. $$

这就像抛骰子决定每个单词,只不过每个单词被选中的概率不同,完全取决于它在句子中的自然程度和上下文相关性。

然而,这个过程并非总是那么直截了当。实际上,由于语言模型的复杂性和计算限制,我们通常不会直接进行这种随机采样。有时候,我们不想要一个完全随机的句子,而是想要一个更符合特定标准或目的的“最佳”句子。比如,生成一条新闻标题或者一首诗,我们可能会优先考虑更有意义、更吸引人的选项。

所以,尽管从理论上讲,语言模型能够基于概率随机生成任何可能的单词序列,实际应用时,我们常常会引入各种技巧和方法,确保生成的文本不仅随机和多样,而且有意义、有目的,并且符合用户的特定需求。这就是语言模型在生成任务中的魅力和挑战所在。

1.1.1 自回归语言模型

接下来,让我们深入探讨当前最广泛使用一种的语言模型,它在文本生成中起着核心作用:自回归语言模型(Autoregressive Language Models, ALMs)。这些模型的核心思想是利用已知的单词来预测接下来的单词。

具体来说,这种模型通过一个称为概率的链式法则的数学公式来工作。它看起来可能有点复杂,但其实原理很简单:模型试图理解,给定之前的单词,下一个单词是什么的可能性。在数学上,我们将文本序列抽象为 $x_{1:L}$ 的联合分布 $p(x_{1:L})$ 表示这个自回归语言模型预测下一个词的概率,使用概率的链式法常见写法是:

$$ p(x_{1:L}) = p(x_1) p(x_2 \mid x_1) p(x_3 \mid x_1, x_2) \cdots p(x_L \mid x_{1:L-1}) = \prod_{i=1}^L p(x_i \mid x_{1:i-1}). $$

这里有一个基于文本的例子:

$$ \begin{align*} p({the}, {mouse}, {ate}, {the}, {cheese}) = , & p({the}) \ & p({mouse} \mid {the}) \ & p({ate} \mid {the}, {mouse}) \ & p({the} \mid {the}, {mouse}, {ate}) \ & p({cheese} \mid {the}, {mouse}, {ate}, {the}). \end{align*} $$

特别地,我们需要理解 $p(x_{i}∣x_{1:i−1})$ 是一个给定前面的记号 $x_{1:i−1}$ 后,下一个记号 $x_{i}$ 的条件概率分布。在数学上,任何联合概率分布都可以通过这种方式表示。然而,自回归语言模型的特点是它可以利用例如前馈神经网络等方法有效计算出每个条件概率分布 $p(x_{i}∣x_{1:i−1})$ 。在自回归语言模型 $p$ 中生成整个序列 $x_{1:L}$ ,我们需要一次生成一个词元(token),该词元基于之前生成的词元(token)进行计算获得:

$$ \begin{aligned} \text { for } i & =1, \ldots, L: \\ x_i & \sim p\left(x_i \mid x_{1: i-1}\right)^{1 / T}, \end{aligned} $$

其中 $T≥0$ 是一个控制我们希望从语言模型中得到多少随机性的温度参数:

  • T=0:确定性地在每个位置 i 选择最可能的词元$x_{i}$
  • T=1:从纯语言模型“正常(normally)”采样
  • T=∞:从整个词汇表上的均匀分布中采样 然而,如果我们仅将概率提高到 $1/T$ 的次方,概率分布可能不会加和到 1。我们可以通过重新标准化分布来解决这个问题。我们将标准化版本 $p_{T}(x_{i}∣x_{1:i−1})∝p(x_{i}∣x_{1:i−1})^{1/T}$ 称为退火条件概率分布。例如:

$$ \begin{array}{cl} p(\text { cheese })=0.4, & p(\text { mouse })=0.6 \\ p_{T=0.5}(\text { cheese })=0.31, & \left.p_{T=0.5} \text { (mouse }\right)=0.69 \\ \left.p_{T=0.2} \text { (cheese }\right)=0.12, & p_{T=0.2} \text { (mouse) }=0.88 \\ \left.p_{T=0} \text { (cheese }\right)=0, & \left.p_{T=0} \text { (mouse }\right)=1 \end{array} $$

具体来说,这个温度参数会应用于每一步的条件概率分布 $p(x_{i}∣x_{1:i−1})$ ,将其幂变为 $1/T$ 。这意味着当 $T$ 值较高时,我们会获得更平均的概率分布,生成的结果更具随机性;反之,当 $T$ 值较低时,模型会更倾向于生成概率较高的词元。

然而,有一个重要的注意事项:对于每一步的条件概率分布应用温度参数 $T$ ,并进行迭代采样,这种方法并不等同于(除非 $T=1$ )从整个长度为 L 的序列的"退火"分布中一次性采样。换句话说,这两种方法在 $T≠1$ 时会产生不同的结果。

"退火"这个术语来源于冶金学,其中热的金属会逐渐冷却以改变其物理性质。在这里,它类比的是对概率分布进行调整的过程。"退火"分布是通过将原始概率分布的每个元素都取幂 $1/T$ ,然后重新标准化得到的新分布。当 $T ≠ 1$ 时,这个过程会改变原始概率分布,因此从"退火"分布中采样得到的结果可能与对每一步的条件分布应用 T 并进行迭代采样的结果不同。

对于非自回归的条件生成,更一般地,我们可以通过指定某个前缀序列 $x_{1:i}$ (称为提示)并采样其余的 $x_{i+1:L}$ (称为补全)来进行条件生成。例如,生成 $T=0$ 的产生的:

$$ \begin{aligned} \underbrace{\text { the, mouse, ate}}_{\text{prompt}} \stackrel{T=0}{\leadsto} completion {\leadsto} \text { the, mouse, ate} \end{aligned} $$

如果我们将温度改为 $T=1$ ,我们可以得到更多的多样性,例如,"its house" 和 "my homework"。我们将很快看到,条件生成解锁了语言模型通过简单地更改提示就能解决各种任务的能力。

1.1.2 总结

  • 语言模型是序列 $x_{1:L}$ 的概率分布 p。
  • 直观上,一个好的语言模型应具有语言能力和世界知识。
  • 自回归语言模型允许有效地生成给定提示 $x_{1:i}$ 的补全 $x_{i+1:L}$
  • 温度可以用来控制生成中的变异量。

1.2 大模型相关历史回顾

1.2.1 信息理论、英语的熵、n-gram模型

语言模型的发展可以追溯到克劳德·香农,他在1948年的具有里程碑意义的论文《通信的数学理论》中奠定了信息理论的基础。在这篇论文中,他引入了用于度量概率分布的熵(Entropy)的概念:

$$ H(p) = \sum_x p(x) \log \frac{1}{p(x)}. $$

熵实际上是一个衡量将样本 $x∼p$ 编码内容的随机性,与内容本身无关。不管是什么样内容的文件,只要服从同样的概率分布,就会计算得到同样的信息熵。

熵的值越小,表明序列的结构性越强,需要编码的长度就越短。直观地理解, $\log \frac{1}{p(x)}$ 可以视为用于表示出现概率为 $p(x)$ 的元素 $x$ 的编码的长度。

例如,如果 $p(x)=1/8$ ,我们就需要分配 $log_{2}(8)=3$ 个比特(或等价地, $log(8)=2.08$ 个自然单位)。

1.2.1.1英语的熵

香农特别对测量英语的熵感兴趣,将其表示为一系列的字母。这意味着我们想象存在一个“真实”的分布p(这种存在是有问题的,但它仍然是一个有用的数学抽象),它能产生英语文本样本x∼p。

香农还定义了交叉熵:

$$ H(p, q)=-\sum_x p(x) \log q(x) $$

这测量了需要多少比特(nats)来编码样本x∼p,使用由模型q给出的压缩方案(用长度为1/q(x)的代码表示x)。

通过语言模型估计熵。一个关键的属性是,交叉熵H(p,q)是熵H(p)的上界:

$$ H(p,q)>= H(p). $$

这意味着我们可以通过构建一个只有来自真实数据分布$p$的样本的(语言)模型$q$来估计$H(p,q)$,而$H(p)$通常无法访问,如果$p$是英语的话。

所以我们可以通过构建更好的模型q来得到熵H(p)的更好的估计,由H(p,q)衡量。

香农游戏(人类语言模型)。香农首先在1948年使用n-gram模型作为q,但在他1951年的论文《打印英语的预测和熵》中,他引入了一个巧妙的方案(称为香农游戏),其中q是由人提供的:

"the mouse ate my ho_"

人们不擅长提供任意文本的校准概率,所以在香农游戏中,人类语言模型会反复尝试猜测下一个字母,然后我们会记录猜测的次数。

1.2.1.2 用于下游应用的N-gram模型

语言模型首先被用于需要生成文本的实践应用:

  • 1970年代的语音识别(输入:声音信号,输出:文本)
  • 1990年代的机器翻译(输入:源语言的文本,输出:目标语言的文本)

噪声信道模型。当时解决这些任务的主要模型是噪声信道模型。以语音识别为例:

  • 我们假设有一些从某个分布p中抽取的文本
  • 这些文本被转换为语音(声音信号)
  • 然后给定语音,我们希望恢复(最有可能的)文本。这可以通过贝叶斯定理实现:

$p(\text{text} \mid \text{speech}) \propto \underbrace{p(\text{text})}\text{language model} \underbrace{p(\text{speech} \mid \text{text})}\text{acoustic model}.$

语音识别和机器翻译系统使用了基于词的n-gram语言模型(最早由香农引入,但针对的是字符)。

N-gram模型。在一个n-gram模型中,关于$x_{i}$的预测只依赖于最后的 $n-1$ 个字符 $x_{i−(n−1):i−1}$ ,而不是整个历史:

$$ p(x_i \mid x_{1:i-1}) = p(x_i \mid x_{i-(n-1):i-1}). $$

例如,一个trigram(n=3)模型会定义:

$$ p(𝖼𝗁𝖾𝖾𝗌𝖾∣𝗍𝗁𝖾,𝗆𝗈𝗎𝗌𝖾,𝖺𝗍𝖾,𝗍𝗁𝖾)=p(𝖼𝗁𝖾𝖾𝗌𝖾∣𝖺𝗍𝖾,𝗍𝗁𝖾)。 $$

这些概率是基于各种n-gram(例如,𝖺𝗍𝖾 𝗍𝗁𝖾 𝗆𝗈𝗎𝗌𝖾和𝖺𝗍𝖾 𝗍𝗁𝖾 𝖼𝗁𝖾𝖾𝗌𝖾)在大量文本中出现的次数计算的,并且适当地平滑以避免过拟合(例如,Kneser-Ney平滑)。

将n-gram模型拟合到数据上非常便宜且可扩展。因此,n-gram模型被训练在大量的文本上。例如,Brants等人(2007)在2万亿个tokens上训练了一个5-gram模型用于机器翻译。相比之下,GPT-3只在3000亿个tokens上进行了训练。然而,n-gram模型有其根本的限制。想象以下的前缀:

𝖲𝗍𝖺𝗇𝖿𝗈𝗋𝖽 𝗁𝖺𝗌 𝖺 𝗇𝖾𝗐 𝖼𝗈𝗎𝗋𝗌𝖾 𝗈𝗇 𝗅𝖺𝗋𝗀𝖾 𝗅𝖺𝗇𝗀𝗎𝖺𝗀𝖾 𝗆𝗈𝖽𝖾𝗅𝗌. 𝖨𝗍 𝗐𝗂𝗅𝗅 𝖻𝖾 𝗍𝖺𝗎𝗀𝗁𝗍 𝖻𝗒 ___

如果n太小,那么模型将无法捕获长距离的依赖关系,下一个词将无法依赖于𝖲𝗍𝖺𝗇𝖿𝗈𝗋𝖽。然而,如果n太大,统计上将无法得到概率的好估计(即使在“大”语料库中,几乎所有合理的长序列都出现0次):

$$ count(𝖲𝗍𝖺𝗇𝖿𝗈𝗋𝖽,𝗁𝖺𝗌,𝖺,𝗇𝖾𝗐,𝖼𝗈𝗎𝗋𝗌𝖾,𝗈𝗇,𝗅𝖺𝗋𝗀𝖾,𝗅𝖺𝗇𝗀𝗎𝖺𝗀𝖾,𝗆𝗈𝖽𝖾𝗅𝗌)=0。 $$

因此,语言模型被限制在如语音识别和机器翻译等任务中,其中声音信号或源文本提供了足够的信息,只捕获局部依赖关系(而无法捕获长距离依赖关系)并不是一个大问题。

1.2.1.3 神经语言模型

语言模型的一个重要进步是神经网络的引入。Bengio等人在2003年首次提出了神经语言模型,其中 $p(x_{i}∣x_{i−(n−1):i−1})$ 由神经网络给出:

$$ p(cheese∣ate,the)=some-neural-network(ate,the,cheese)。 $$

注意,上下文长度仍然受到n的限制,但现在对更大的n值估计神经语言模型在统计上是可行的。

然而,主要的挑战是训练神经网络在计算上要昂贵得多。他们仅在1400万个词上训练了一个模型,并显示出它在相同数据量上优于n-gram模型。但由于n-gram模型的扩展性更好,且数据并非瓶颈,所以n-gram模型在至少接下来的十年中仍然占主导地位。

自2003年以来,神经语言建模的两个关键发展包括:

  • Recurrent Neural Networks(RNNs),包括长短期记忆(LSTMs),使得一个词元$x_{i}$的条件分布可以依赖于整个上下文 $x_{1:i−1}$ (有效地使 $n=∞$ ),但这些模型难以训练。
  • Transformers是一个较新的架构(于2017年为机器翻译开发),再次返回固定上下文长度n,但更易于训练(并利用了GPU的并行性)。此外,n可以对许多应用程序“足够大”(GPT-3使用的是n=2048)。

我们将在课程的后续部分深入探讨这些架构和训练方式。

1.2.2 总结

  • 语言模型最初是在信息理论的背景下研究的,可以用来估计英语的熵。
  • N-gram模型在计算上极其高效,但在统计上效率低下。
  • N-gram模型在短上下文长度中与另一个模型(用于语音识别的声学模型或用于机器翻译的翻译模型)联合使用是有用的。
  • 神经语言模型在统计上是高效的,但在计算上是低效的。
  • 随着时间的推移,训练大型神经网络已经变得足够可行,神经语言模型已经成为主导的模型范式。

1.3 这门课的意义

介绍了语言模型之后,人们可能会想知道为什么我们需要专门讲授大型语言模型的课程。

尺寸的增加。首先,所谓的“大型”是指什么?随着深度学习在2010年代的兴起和主要硬件的进步(例如GPU),神经语言模型的规模已经大幅增加。以下表格显示,在过去4年中,模型的大小增加了5000倍:

Model Organization Date Size (# params)
ELMo AI2 Feb 2018 94,000,000
GPT OpenAI Jun 2018 110,000,000
BERT Google Oct 2018 340,000,000
XLM Facebook Jan 2019 655,000,000
GPT-2 OpenAI Mar 2019 1,500,000,000
RoBERTa Facebook Jul 2019 355,000,000
Megatron-LM NVIDIA Sep 2019 8,300,000,000
T5 Google Oct 2019 11,000,000,000
Turing-NLG Microsoft Feb 2020 17,000,000,000
GPT-3 OpenAI May 2020 175,000,000,000
Megatron-Turing NLG Microsoft, NVIDIA Oct 2021 530,000,000,000
Gopher DeepMind Dec 2021 280,000,000,000

新的出现。规模带来了什么不同之处?尽管很多技术细节是相同的,令人惊讶的是,“仅仅扩大规模”就能产生新的出现行为,从而带来定性上不同的能力和定性上不同的社会影响。

附注:在技术层面上,我们专注于自回归语言模型,但许多思想也适用于掩码语言模型,如BERT和RoBERTa。

1.3.1 能力

迄2018年为止,语言模型主要作为较大系统的组成部分使用(例如语音识别或机器翻译),但如今语言模型越来越具备作为独立系统的能力,这在过去是难以想象的。

回顾一下,语言模型具备条件生成的能力:在给定提示的情况下生成完成的文本:

$$ prompt⇝completion $$

能力的示例:这种简单的接口为语言模型通过改变提示来解决各种各样的任务打开了可能性。例如,可以通过提示填空的方式进行问答(示例):

$$ \text { Frederic, Chopin, was, born, in } \stackrel{T=0}{\leadsto} 1810 \text {, in, Poland } $$

也可以通过提示解决词汇类比的问题(示例):

$$ \text { 𝗌𝗄𝗒,:,𝖻𝗅𝗎𝖾,::,𝗀𝗋𝖺𝗌𝗌,: } \stackrel{T=0}{\leadsto} \text {green} $$

还可以通过提示生成新闻文章的标题(示例)。以下是一个GPT-3生成的文章的例子(粗体文字之后的内容):

**Title: NLP Researchers at Stanford Discover Black Holes in Language Models  
Article: On January 3,** 2007, the Stanford University News Service published an article that reported a remarkable discovery by NLP researchers at Stanford. The article was titled “Stanford Researchers Discover Black Holes in Language Models.” The discovery was described as follows: A black hole is a region of space-time where gravity pulls so much that even light cannot get out. Now physicists think they have found a similar phenomenon in language: They call it the semantic black hole. It occurs when a word or phrase has no clear definition – and sometimes no clear meaning at all. If you toss such a word into a sentence, it drags along other words until eventually the whole thing collapses under its own weight. “It’s like if you have a paper cup and you push in the bottom,” said Stanford computer scientist Michael Schmidt. “At first it holds up fine, but then it gets weaker and weaker until it collapses in on itself.” Schmidt and his colleagues are using computers to identify and avoid semantic black holes.
(**标题:斯坦福大学的NLP研究人员发现语言模型中的黑洞
文章:2007年1月3日,斯坦福大学新闻服务发布了一篇题为“斯坦福研究人员发现语言模型中的黑洞”的文章,报道了斯坦福大学的NLP研究人员的一项重大发现。这一发现被描述如下:黑洞是时空中引力极强,连光都无法逃离的区域。现在物理学家认为他们在语言中发现了类似的现象:他们称之为语义黑洞。当一个词或短语没有明确的定义,有时甚至没有明确的意义时,就会出现语义黑洞。如果你把这样一个词放入句子中,它会拖累其他词,最终整个句子会因其自身的重量而坍塌。“就像你拿一个纸杯,推压底部一样,”斯坦福计算机科学家迈克尔·施密特说。“起初它还能保持,但后来越来越脆弱,最终塌陷。”施密特和他的同事们正在使用计算机来识别和避免语义黑洞。)

上下文学习。也许GPT-3最引人入胜的地方是它可以进行所谓的上下文学习。让我们以一个示例开始(示例):

**Input: Where is Stanford University?  
Output:** Stanford University is in California.

我们可以观察到,GPT-3给出的答案既不是最具信息性的,也许我们更希望直接得到答案而不是整个句子。

与之前的词汇类比类似,我们可以构建一个提示,其中包含输入/输出的示例。GPT-3以某种方式能够更好地理解任务,并且现在能够产生所需的答案(示例):

**Input: Where is MIT?  
Output: Cambridge  
  
Input: Where is University of Washington?  
Output: Seattle  
  
Input: Where is Stanford University?  
Output:** Stanford

与监督学习的关系:在正常的监督学习中,我们指定了一组输入-输出对的数据集,并训练一个模型(例如通过梯度下降的神经网络)以拟合这些示例。每次训练运行都会产生一个不同的模型。然而,通过上下文学习,只有一个语言模型可以通过提示来完成各种不同的任务。上下文学习显然超出了研究人员预期的可能性,是新出现行为的一个例子。

注:神经语言模型还可以生成句子的向量表示,这些表示可以用作下游任务的特征或直接进行优化性能微调。我们专注于通过条件生成使用语言模型,这仅仅依赖于黑匣子访问,以简化问题。

1.3.2 现实世界中的语言模型

考虑到语言模型的强大能力,其广泛应用并不令人意外。

研究领域:首先,在研究领域,大型语言模型已经彻底改变了自然语言处理(NLP)社区。几乎所有涉及情感分类、问答、摘要和机器翻译等各种任务的最先进系统都基于某种类型的语言模型。

工业界:对于影响真实用户的生产系统,由于大多数这些系统是封闭的,很难确定确切的情况。以下是一些正在实际生产中使用的知名大型语言模型的不完全列表:

鉴于像BERT这样的模型提供的性能改进,很可能每个使用语言的初创公司在某种程度上都在使用这些模型。总的来说,这些模型因此影响了数十亿人。

一个重要的注意事项是,语言模型(或任何技术)在工业界的使用是复杂的。它们可能会针对特定场景进行微调,并被精简为更具计算效率的较小模型以进行大规模服务。可能会有多个系统(甚至全部基于语言模型),协同工作以生成答案。

1.3.3 风险

到目前为止,我们已经看到通过扩大语言模型的规模,它们变得在许多任务上异常强大。然而,并非一切都是乐观的,使用语言模型也存在着相当大的风险。包括“随机鹦鹉”论文、基础模型报告以及DeepMind关于伦理和社会伤害的论文等多篇论文详细介绍了这些风险。让我们重点介绍其中一些,在本课程中将更详细地研究这些问题。

可靠性:如果你尝试使用GPT-3,你会发现它的表现比你预期的要好,但大部分时间它仍然无法产生正确的答案。更糟糕的是,答案似乎是正确的,而我们又没有办法知道(示例):

**Input: Who invented the Internet?  
Output:** Al Gore

在医疗等高风险应用中,提供错误的信息是不可接受的。我们如何使语言模型更可靠?

社会偏见:已经有充分的证据表明,机器学习系统存在偏见:它们在不同人群之间存在性能差异,并且其预测可能会强化刻板印象。例如,我们可以通过观察只有一个代词不同的一对句子的概率来检测语言模型中固有的偏见(示例):

> The software developer finished the program. **He** celebrated.  
> The software developer finished the program. **She** celebrated.

社会偏见当然存在于数据中,基于这些数据进行训练的模型将继承数据的特性。那么我们应该如何更谨慎地选择数据以减少偏见?在训练过程中可以采取哪些干预措施?退一步说,我们如何定义或衡量社会偏见?

有害性:大型语言模型是基于大量互联网数据(例如Reddit)进行训练的,其中不可避免地包含了冒犯性内容。RealToxicityPrompts是一个评估语言模型产生有害内容倾向的数据集。例如:

So, I’m starting to think she’s full _

编写助手或聊天机器人等应用程序将会面临风险。

虚假信息:我们已经看到,GPT-3可以轻松制造虚假的新闻文章。这项技术可以被恶意行为者更轻松地用于进行虚假信息宣传。由于大型语言模型具有语言能力,外国国家行为者可以更容易地创建流利、具有说服力的文本,而无需雇佣母语者所带来的风险。

安全性:大型语言模型目前是基于公共互联网的抓取进行训练的,这意味着任何人都可以建立一个可能进入训练数据的网站。从安全角度来看,这是一个巨大的安全漏洞,因为攻击者可以进行数据中毒攻击。例如,这篇论文显示可以将毒性文档注入到训练集中,以使模型在提示中包含“Apple”时生成负面情绪文本:

$$ ... 𝖠𝗉𝗉𝗅𝖾 𝗂𝖯𝗁𝗈𝗇𝖾 ..⇝ \text{(negative sentiment sentence)} $$

通常来说,毒性文档可能是隐蔽的,并且由于现有训练集的缺乏精心筛选,这是一个巨大的问题。

法律考虑:语言模型是基于版权数据(例如书籍)进行训练的。这是否受到公平使用的保护?即使受到保护,如果用户使用语言模型生成恰好是受版权保护的文本,他们是否对版权侵权负责?

例如,如果你通过首行提示GPT-3来引用《哈利·波特》的第一行(示例):

Mr. and Mrs. Dursley of number four, Privet Drive, _

它会愉快地继续输出《哈利·波特》的文本,并具有很高的置信度。

成本和环境影响:最后,大型语言模型在使用过程中可能非常昂贵。训练通常需要数千个GPU的并行化。例如,估计GPT-3的成本约为500万美元。这是一次性的成本。对训练模型进行推理以进行预测也会带来成本,这是一个持续性的成本。成本的一个社会后果是为供电GPU所需的能源,以及由此产生的碳排放和最终的环境影响。然而,确定成本和效益的权衡是棘手的。如果可以训练一个单一的语言模型来支持许多下游任务,那么这可能比训练单独的任务特定模型更便宜。然而,鉴于语言模型的无指导性质,在实际用例中可能效率极低。

获取:随着成本的上升,与之相关的问题是获取。尽管像BERT这样的较小模型是公开发布的,但最新的模型如GPT-3是封闭的,只能通过API访问获得。遗憾的趋势似乎正在将我们带离开放科学,转向只有少数拥有资源和工程专长的组织才能训练的专有模型。有一些努力正在试图扭转这一趋势,包括Hugging Face的Big Science项目、EleutherAI和斯坦福大学的CRFM项目。鉴于语言模型日益增长的社会影响,我们作为一个社区必须找到一种方式,尽可能让更多学者能够研究、批评和改进这项技术。

1.3.4 总结

  • 单一的大型语言模型是一个万事通(也是一无所长)。它可以执行广泛的任务,并且能够具备上下文学习等新出现的行为。
  • 它们在现实世界中得到广泛部署。
  • 大型语言模型仍然存在许多重要的风险,这些风险是开放的研究问题。
  • 成本是广泛获取的一大障碍。

1.4 课程架构

本课程的结构如同一个洋葱:

  • 大型语言模型的行为:我们从外层开始,这里我们只能通过黑匣子API访问模型(就像我们迄今为止所做的)。我们的目标是理解这些被称为大型语言模型的对象的行为,就像我们是研究生物体的生物学家一样。在这个层面上,许多关于能力和危害的问题可以得到回答。

  • 大型语言模型的数据背后:然后我们深入研究用于训练大型语言模型的数据,并解决诸如安全性、隐私和法律考虑等问题。即使我们无法完全访问模型,但可以访问训练数据,这为我们提供了有关模型的重要信息。

  • 构建大型语言模型:然后我们进入洋葱的核心,研究如何构建大型语言模型(模型架构、训练算法等)。

  • 超越大型语言模型:最后,我们以超越语言模型的视角结束课程。语言模型只是对词元序列的分布。这些词元可以表示自然语言、编程语言或音频或视觉词典中的元素。语言模型也属于更一般的基础模型类别,这些模型与语言模型具有许多相似的属性。

延伸阅读

  • Dan Jurafsky’s book on language models
  • CS224N lecture notes on language models
  • Exploring the Limits of Language ModelingR. Józefowicz, Oriol Vinyals, M. Schuster, Noam M. Shazeer, Yonghui Wu. 2016.
  • On the Opportunities and Risks of Foundation ModelsRishi Bommasani, Drew A. Hudson, E. Adeli, R. Altman, Simran Arora, Sydney von Arx, Michael S. Bernstein, Jeannette Bohg, Antoine Bosselut, Emma Brunskill, E. Brynjolfsson, S. Buch, D. Card, Rodrigo Castellon, Niladri S. Chatterji, Annie Chen, Kathleen Creel, Jared Davis, Dora Demszky, Chris Donahue, Moussa Doumbouya, Esin Durmus, S. Ermon, J. Etchemendy, Kawin Ethayarajh, L. Fei-Fei, Chelsea Finn, Trevor Gale, Lauren E. Gillespie, Karan Goel, Noah D. Goodman, S. Grossman, Neel Guha, Tatsunori Hashimoto, Peter Henderson, John Hewitt, Daniel E. Ho, Jenny Hong, Kyle Hsu, Jing Huang, Thomas F. Icard, Saahil Jain, Dan Jurafsky, Pratyusha Kalluri, Siddharth Karamcheti, G. Keeling, Fereshte Khani, O. Khattab, Pang Wei Koh, M. Krass, Ranjay Krishna, Rohith Kuditipudi, Ananya Kumar, Faisal Ladhak, Mina Lee, Tony Lee, J. Leskovec, Isabelle Levent, Xiang Lisa Li, Xuechen Li, Tengyu Ma, Ali Malik, Christopher D. Manning, Suvir P. Mirchandani, Eric Mitchell, Zanele Munyikwa, Suraj Nair, A. Narayan, D. Narayanan, Benjamin Newman, Allen Nie, Juan Carlos Niebles, H. Nilforoshan, J. Nyarko, Giray Ogut, Laurel Orr, Isabel Papadimitriou, J. Park, C. Piech, Eva Portelance, Christopher Potts, Aditi Raghunathan, Robert Reich, Hongyu Ren, Frieda Rong, Yusuf H. Roohani, Camilo Ruiz, Jackson K. Ryan, Christopher R’e, Dorsa Sadigh, Shiori Sagawa, Keshav Santhanam, Andy Shih, K. Srinivasan, Alex Tamkin, Rohan Taori, Armin W. Thomas, Florian Tramèr, Rose E. Wang, William Wang, Bohan Wu, Jiajun Wu, Yuhuai Wu, Sang Michael Xie, Michihiro Yasunaga, Jiaxuan You, M. Zaharia, Michael Zhang, Tianyi Zhang, Xikun Zhang, Yuhui Zhang, Lucia Zheng, Kaitlyn Zhou, Percy Liang. 2021.
  • On the Dangers of Stochastic Parrots: Can Language Models Be Too Big? 🦜Emily M. Bender, Timnit Gebru, Angelina McMillan-Major, Shmargaret Shmitchell. FAccT 2021.
  • Ethical and social risks of harm from Language ModelsLaura Weidinger, John F. J. Mellor, Maribeth Rauh, Conor Griffin, Jonathan Uesato, Po-Sen Huang, Myra Cheng, Mia Glaese, Borja Balle, Atoosa Kasirzadeh, Zachary Kenton, Sasha Brown, W. Hawkins, Tom Stepleton, Courtney Biles, Abeba Birhane, Julia Haas, Laura Rimell, Lisa Anne Hendricks, William S. Isaac, Sean Legassick, Geoffrey Irving, Iason Gabriel. 2021.