查看原文
其他

对于神经网络语言模型而言,位置就只是一个序号吗?

张子豪 刘海涛 计量语言学
2024-09-03
《当代语言学》在2023年第6期刊发了如下文章:

由于文中采用的方法以及研究的问题与传统语言学有很大的不同,因此,我们希望能用更通俗的语言介绍这项研究采用的主要方法以及研究的意义和价值。

神经网络语言模型在实践中的成功,使得语言学研究者无法忽视。甚至有研究者认为,语言模型的成功是对语言学研究者几十年如一日工作的侮辱(Piantadosi 2023:31)。经典语言学理论认为,人的语言能力来自于对语言中潜在规律的掌握。数十年来,语言学研究者提出了包括以自然语言和符号规则描写的各种规律,用于解释人的语言能力。一个自然的想法是,语言模型若想获得语言能力,需要将语言学研究者提出的上述知识输入进去。然而,事实上,语言模型的训练完全不依赖任何人为的知识输入,训练模型实际上做的只是在给定上下文的情况下进行填空(当空位在句末时,可以看作下一词预测)。这使人想起早年的语文高考试题:

语言模型在这一次次“做填空,对答案”的过程中获得了它们的“语言能力”。仅靠如此简单的设计,它究竟是实现了真正意义上的智能,还是又一个Eliza这样的规则机器?语言模型的语言能力又通过怎样的规律来解释?

截至目前,最新的语言模型常常有千亿级的参数规模,一个可能的想法是,模型通过记忆训练语料中的所有语例实现了“语言能力”。然而,这一想法显然是站不住脚的,因为,即便是千亿规模参数的模型,和其编码的知识相比,参数规模都是微不足道的。其次,即便早期亿级参数规模的Transformer模型,也已经在测试集上表现出接近甚至超越人类基线的表现。借鉴神经科学研究者提出的有效编码假设的思想,模型一定是通过掌握自然语言中的规律实现的语言能力。实际上,模型甚至能够不断地生成“The loud quiet thunder whispers silently”这样“无色的绿句子”,只是此“生成”不是彼“生成”。因而,我们希望知道语言模型中究竟编码了怎样的规律,让其能够实现如此的语言能力。

语言模型学到的语言规律是否被刻意隐藏了起来?其实并没有。语言模型对我们毫无保留,现今开源的语言模型(如BERTGPTGPT-2LlamaLlama-2等)内部的所有知识都是完全透明的,只是人无法从数以千亿计的实数中找到我们熟悉的东西。在这个意义上,黑箱和玻璃箱其实没有什么区别。

人们找不到不知道长什么样子的东西。想要找到模型中学到的规律,首先要确定规律长什么样。尽管规律长什么样一时还难以确定,但它一定不长什么样,这一点是清楚的。在神经网络语言模型的任何部分,除了实数就只有实数,这种结构没有留给自然语言描述亦或是符号规则描述的语言规律任何存在的空间。因此,模型学到的语言规律就只能是量化表征的规律。同时,要从神经网络语言模型中寻找语言规律,这种规律还需要满足两个条件:第一,模型能够利用得上;第二,研究者能够看得懂。规律是属性上的规律,当寻找语言规律时,应当以一个恰当的属性的确立为前提。基于Transformer的语言模型,在各项下游任务中的表现,均优于前代基于RNN(循环神经网络)的语言模型。除了受到广泛关注的注意力机制,该模型的另一项主要区别于前代模型的机制是位置编码机制。这不禁使人猜想,在语言的位置这一属性上,是否可能存在某些潜在的模式。最后,量化的规律通常表现为属性的概率分布模式和属性间的关系。基于以上几点,词的线性位置分布是一种合适的载体,其上的规律和模式值得进行探索。所谓词的线性位置分布,即词在句子中的线性位置(而不是相对位置)的概率分布。这是一个非常简单的表层的表征形式,但也因为它足够简单,才更有可能被语言模型自然地利用。

尽管索绪尔在《普通语言学教程》中早就强调了能指的线条性(linear nature of signifiers)这一语言的根本特性。词的线性位置这一属性过去却并未引起经典语言学和自然语言处理领域研究者的注意:一方面,句法研究中强调语言的层级性,有意忽视词的线性位置这一属性;语言学研究中的语序,更多指的是成分之间的相对顺序;基于内省和少量语例的方法也无法发现在统计层面才会展现出来的模式;另一方面,自然语言处理领域对于位置编码的关注,更多地是在对更高效的位置编码方案的设计和讨论(如绝对vs相对,学习式vs函数式,嵌入编码vs注意力编码),进而提出了如RoPEALiBi位置编码等一众编码方案。但是领域内对位置编码在语言模型中的作用却没有予以足够重视。因而,相对于位置编码怎么编,我们更关注位置编码编了什么。在语言学和自然语言处理领域都对线性位置中所蕴含的规律和模式不甚重视的情况下,我们只能从零开始探索。

文章发现了什么?首先,词的线性位置分布在六种语言中存在普遍的规律和模式;其次,基于Transformer的神经网络语言模型通过位置编码能够学到上述规律和模式。

研究选择莱比锡语料库六种语言的内容作为语料。之所以没有选择所有的词作为考察的对象,而是着重关注其中的功能词是因为:1.功能词在文本中的占比超过50%2.功能词是句子结构的框架;3.功能词反映短语的边界;4.功能词中的代词还能反应句子的信息结构;5.部分功能词也承担了语义角色信息;6.前期研究显示,神经网络依赖功能词获得其句法能力。

我们在研究中发现了功能词线性位置分布的句长不变性、历时不变性和跨语言近义词不变性这三种规律。三项研究发现均指向一个推论:词汇的语义是其线性位置分布的决定性因素,或者说线性位置分布是语义的一种表达形式。词汇稳定的语义是其在不同句长、不同采集年份和不同语言中均保持稳定分布模式的根本原因。

首先是功能词线性位置分布的句长不变性这一规律。在实验涉及的六种语言中,我们在各个句长观测到了高度相似且可预测的分布模式(图1以英语中功能词and为例)。不论句长如何改变,同一个词的线性位置分布始终是相似的:较长句子中的功能词的线性位置分布,仅由较短句长中的分布经简单线性变换而来。

1 功能词and在各句长语料中的线性位置分布

这样的规律意味着什么呢?首先,它能够为解释为何较长的句子具有较大的句法深度提供支持。前期研究观察到,词的依存距离不会与句长等比例地增长,与之相对,较长的句子中句法树深度却更深。根据观察到的这一规律,可以认为,由于功能词线性位置分布的句长不变性,完成整句的依存句法树的构建只能借助更多级的词间依存关系,即更大的句法树深度来实现。这也有助于解释前期研究发现的词向量中编码的句法深度信息。其次,功能词的线性位置分布在各个句长上存在稳定的模式,也表明其所承载的短语边界、信息结构、语义角色等信息在句中也具有潜在的稳定分布模式。上述之前只能由人所理解的信息,借由位置这一媒介,潜在地能够输入给语言模型。此外,句长不变性这一规律,还有助于解释学习式位置编码的外推(extrapolation)性能BERTGPT-3中使用的学习式位置编码,被认为在面对训练中未曾见过的句长时会出现显著的性能下降。然而,在实践中,使用学习式位置编码的模型,在面对更长的句长时,其任务表现并未显著劣于使用相对位置编码的模型。根据句长不变性这一发现,学习式位置编码的外推性能很可能是模型借助线性位置分布的句长不变性这一特性泛化而来。

过去研究认为,功能词在语言的历时演变中最为稳定。那么,在词的线性位置分布上,能否反映这一点呢?是的,我们在功能词的线性位置分布上也观察到了这一点(图2以德语中功能词auf为例)。在2005-2020年这一时间段中,功能词的线性位置分布基本上没有表现出任何的改变。

2 功能词auf在不同收集年份语料中的线性位置分布

这一结果表明,功能词的线性位置分布模式至少在较短的时期内不受语料的采集时间影响,印证了功能词在语言历时演变中句法性质稳定的论点。我们知道,神经网络语言模型的训练语料中,相当大的一部分来自互联网:如网页(如Common Crawl),社交网络(如Reddit)和维基百科。实际上,在看似较短的互联网文本产生的时间里,互联网已经经历了从Web 1.02.0的转变。对于神经网络模型来说,具有重要语法意义的功能词,须要在历时的演变中表现出稳定性,从而保证模型学到的句法知识的稳定性。

研究中还发现,在不同语言中具有相似语义的功能词,其线性位置分布是高度重合的(见图3不同语言中具有相似语义的词的线性位置分布之间的相似程度甚至高于同一语言中语义差别较大的词。而同一语言中具有相似语义的词,它们的线性位置分布也较为接近。我们还观察到,具有相同词性的词,其线性位置分布也是类似的,尽管没有语义相似的词的相似程度高。

3 具有相似语义的功能词在六种语言中的线性位置分布

这一规律意味着什么呢?对于语言模型研究而言,此前的研究发现,多语言模型具有良好的跨语言迁移性能。所谓跨语言迁移,即对于多种语言上训练的模型,一种语言上一个任务中进行的微调,会给另一种语言在相同任务上带来性能提升的现象。模型的跨语言迁移能力并非来自于语言间词汇的重叠(比如英语和法语中有大量词汇是重叠的),因为即便采用不同文字的语言间也具有跨语言能力,这完全不能用词汇重叠来解释。此外,同一语系语言间的迁移表现也要优于不同语系的语言。线性位置分布的近义词跨语言不变性这一发现表明,词的线性位置分布为语言模型发现不同语言间的相似性提供了帮助,有助于解释为什么即便采用不同文字的语言,模型仍然能够在它们之间进行迁移。对于语言类型学研究而言,以往对于跨语言近义词的研究通常采用语义地图的方法,而这一研究发现表明,词的线性位置分布也能够反映词汇在类型学意义上的相似性,且这种方法建立在浅层特征之上,更易于被语言模型利用。

既然词的线性位置分布中蕴含着丰富的语言规律,那么,语言模型能否学到这种规律?学到线性位置分布中蕴含的规律的前提是模型能够掌握词的线性位置分布。我们首先要确定在模型的哪个部分能够找到前文提到的线性位置分布。在寻找语言模型中蕴含的语言知识时,主要有两种做法,一种是行为主义方法,即通过下游任务测试间接地确认模型(或者模型的某个部分)中具有某种语言信息。另一种是同构法,即发现模型中的哪些部分与已知的语言信息的表征方式具有相同的模式。对语言模型中线性位置分布的寻找,本项研究即采用这种同构法的思想。作为Transformer模型的另一个重要组成部分,注意力矩阵引起了我们的注意。一来,矩阵中每一行的取值范围在[0,1]且和等于1,这使得其天然的是一种概率分布。其次,注意力矩阵是和句子等长的,从中更有可能找到相似的模式。显然,并非整个注意力矩阵中都编码了位置信息,语言模型至少还需要编码句法和世界知识。所以,我们首先通过文中提出的位置探针方法,定位了注意力矩阵中含有较高位置信息含量的注意力头(在BERT-base-uncased中,共有12×12144个注意力头,我们发现,注意力头3-13-10中具有最高的位置信息含)。进而,我们提取上述注意力头对应的注意力矩阵中目标词对应的行向量(去除[SEP][CLS]对应的行和列,合并拆分为WordPiecetokens并做归一化后的行向量)。最后,我们将向量取平均,得到了一个目标词的平均注意力分布”。

研究发现,这样得到的词在各个句长的注意力分布和我们前边采用统计方法得到的词在各个句长的线性位置分布是高度相似的(见图4),可以对比图4和图1来观察这种相似性。

4 注意力头3-1中功能词and在各句长语料中的平均注意力分布

这一发现表明,词的线性位置分布这一形式,能够被神经网络语言模型直接地获得。也就是说,线性位置分布中蕴含的语言规律,是能够被语言模型自然地利用的规律(图4就体现了神经网络语言模型的注意力矩阵中观察到的句长不变性)。

对于神经网络语言模型而言,位置就只是一个序号吗?答案是否定的,位置信息并不仅仅是一个编号或者顺序标识。当我们把镜头拉远,站在统计的角度上看,线性位置分布实际上承载了语义和语言类型在内的多种语言知识甚至可以认为,词的线性位置分布这种表征形式,在某种程度上具有类似词向量的功能。线性位置分布这种载体上承载的语言规律,能够被神经网络语言模型自然地利用。更为重要的是,线性位置分布同时也能够被研究者看懂。这意味着这一表征形式是一种研究者和语言模型沟通信息的桥梁。最后说两句题外话,物理学者费曼的“What I cannot createI do not understand”在神经网络语言模型时代似乎只说对了一半,如今研究者面对的问题是,即便能够创造出在实践中成功的模型,却并不了解自己创造的模型为何能成功。我们当前对神经网络语言模型的认识如同盲人摸象,这种状态也如同化学出现之前的炼金术,维生素发现之前的柠檬。尽管尚不能得知全貌,但是借助线性位置分布这一表征形式,起码我们能开始“摸大象”了。
继续滑动看下一个
计量语言学
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存