MYTE: 基于形态学的字节编码,以实现更好且更公平的多语言语言建模

摘要

在多语言语言建模中,一个主要的考虑是如何最好地表示具有多样化词汇和文字的语言。尽管当代的文本编码方法涵盖了世界上大多数的书写系统,但它们对全球西方的高资源语言表现出偏见。因此,代表性不足的语言的文本往往被分割成长序列的语言学上无意义的单位。为了解决这些差异,我们引入了一种新的范式,该范式用跨不同语言的一致大小的段来编码相同的信息。我们的编码约定(MYTE)基于词素,因为它们的库存比字符更平衡,而字符是以前方法中使用的。我们展示了MYTE为所有99种分析的语言产生了更短的编码,其中对非欧洲语言和非拉丁文字的最显著的改进。这反过来又提高了多语言LM的性能,并缩小了各种语言之间的困惑度差距。

1 引言

多语言语言模型已成为执行广泛语言任务的最先进解决方案(Devlin等,2019;Conneau等,2020;Xue等,2021)。然而,由于数据可用性的差异,特别是对于长尾低资源语言(Malkin等,2022),确保所有语言的高性能是具有挑战性的。这一挑战因分词时如何表示单词的选择而加剧;过去的研究表明,多语言模型要么无法准确表示稀有语言中的文本(Pfeiffer等,2021),要么通过过度分割来实现,这对模型性能和推理成本都是有害的(Petrov等,2023;Ahia等,2023)。

在这里插入图片描述

字节级模型旨在解决这些挑战。它们不使用单词或子词标记,而是使用字节级文本表示,以实现高覆盖率(Xue等,2022),因为像UTF-8这样的常见编码支持世界上大多数的文字。然而,即使在字节级别,过度分割问题仍然存在,因为对于许多非拉丁文字语言来说,单个字符的字节序列过长(Arnett等,2024)。这个问题对NLP系统中这些文字的建模有巨大影响,因为操作更长的序列会显著增加模型训练和推理的计算成本,同时也降低了学习样本的效率。此外,像ChatGPT(openai.com/chatgpt)这样的API的计费通常与分割序列长度相关,这对特定语言的使用者不利(Ahia等,2023)。

在这项工作中,我们提出了一种新的方法来导出文本的字节表示,实现了跨语言和文字的公平分割。在我们的方法中,我们用基于形态学的方法替换了当前将字节代码分配给字符的惯例,因为词素1是跨语言文本中更具信息可比性的组成部分,而不是字符(Cotterell等,2018)。具体来说,我们引入了一种新的算法,用于将文本表示为基于无监督形态分割的字节序列(Smit等,2014)。我们证明了我们的新字节表示范式改进了各种文字和形态库存的多样语言的分割。此外,跨语言的平行句子的分割收敛到可比较的长度。

我们测试了我们的方法在创建公平文本表示方面的有效性——给定平行文本,编码序列长度相似的表示。然后,我们评估了该方法在99种类型多样的语言中的多语言语言建模的适用性。

我们的贡献可以总结如下:
(a) 我们提出了一种新的字节编码方法,它是基于形态学的;
(b) 我们经验性地展示了生成的表示比普通字节、字符或子词分割更公平;
© 我们分析了这些表示的典型长度,并展示了所有分析语言的序列长度减少,显著降低了计算成本,对非拉丁文字语言最有利;
(d) 我们用我们的新表示方案训练了一个语言模型,并证明了它在多样语言中保持了平衡和更好的LM性能,并展示了更快的推理速度。这一改进在不同的模型规模中都成立。我们的模型在多种任务中匹配了SOTA ByT5的性能,同时在训练和推理中更高效。

我们将发布我们的代码和模型,以促进这一方向的进一步研究。

2 背景:UTF-8字节

绝大多数在线文本2通过UTF-8惯例表示为字节,这是由Unicode标准定义的(The Unicode Consortium,2011)。在UTF-8中,每个字符(或代码点)表示为一到四个字节的序列。由于通信标准的逐步发展,UTF-8首先分配了一字节表示的ASCII符号,这些符号覆盖了主要的拉丁文字字符(见图2中的00到7F)。其他字符表示为多字节代码,以C2到F4范围内的字节开头,表示代码点中的字节数,后跟80到BF范围内的连续字节。
在这里插入图片描述

在UTF-8编码规范中,非拉丁字母文字(如西里尔字母、亚美尼亚字母、格鲁吉亚字母)、变音符号以及辅音字母文字(abjads)通常使用双字节编码,而对于婆罗米系元音附标文字(Brahmic abugidas)以及中日韩(CJK)表意文字,字节长度则增至三或四个字节。因此,不同语言间字节编码的粒度差异显著;这意味着,传达相同信息的不同语言文本往往由长度迥异的字节序列来表示(Arnett等人,2024年)。

3 方法:基于形态学的字节编码

如前文所述并如图1所示,UTF-8编码规范因发展选择而对某些语言生成了较长的字节序列。为了使字节表示更加公平,我们引入了一种编码范式,旨在为跨语言的词素分配长度相近的字节代码。我们的编码方案基于形态学分析,因为词素是最短的有意义成分,并且独立于书写规范(Haspelmath和Sims,2010)。我们假设,在信息量相同的句子中,词素的数量比字符、字节或标记的数量在跨语言间更为均衡。因此,我们强制实现了跨语言的平衡分割粒度。

编码形态学表示的另一种方法是将跨语言的多语言词素库存视为一个大的子词词汇表。以这种方式覆盖多种语言的词素,词汇表将比通常应用于模型的词汇表大得多。5 这将产生额外的计算成本,并且与其他子词表示类似,可能无法很好地泛化到新的、未见过的语言。

3.1 形态学分析

我们在从99种语言的整个维基百科文章中提取的词典上训练了一个无监督的形态分析器Morfessor(Smit等,2014)。对每种语言分别进行形态学分析,以平衡每种语言的词素数量,无论数据资源丰富程度如何。对于每种语言,我们导出了4096个词素的集合;选择这个数字是为了平衡跨语言的分割粒度。对于每个词素,我们保存了它的分数,定义为如果该词素未被包含在集合中,Morfessor模型的假设损失减少。我们跨语言取集合的并集,以获得多语言词素库存。词典准备和Morfessor使用的详细信息见附录A。

在这里插入图片描述

3.2 利用形态学丰富字节表示

为了缓解UTF-8的低效,我们提出了一种系统性的字节码页重排方案。我们通过将大写字母代码分解为小写字母和大小写标记,释放了26个字节(41至5A)。此范围内的第一个字节(41)被重新用作大小写标记。剩下的25个字节是释放的空间,用于存储词素。

我们的方法采用 U T F − 8 UTF-8 UTF8字节序列,并使用相同大小的词汇表(即256)将其转码为较短的序列,如图1所示。我们将以下步骤应用于将UTF-8序列转码为MYTE编码:

  1. 我们使用UTF-8作为文本的基础编码。然后,字节序列从左到右进行转码,合并词素序列并将它们替换为以下点中描述的专用代码点。
  2. 词素按脚本分组,如表1所示。单个词素内的多个脚本的代码点被分配到第二组(混合脚本)。
  3. 根据第3.1节中定义的Morfessor分数对词素进行排名。
  4. 我们为每个词素分配多字节代码点,类似于UTF-8规范(见第2节)。具体来说,表示形态学代码点开始的第一个字节根据词素所属的脚本组从释放的范围(42 - 5A)中分配。随后是从80到BF的64元素范围内的连续字节,如同UTF-8规范。分数最高的64个词素保存为双字节代码点,接下来的 6 4 2 = 4096 6 4 ^ { 2 } = 4 0 9 6 642=4096个保存为三字节代码点;其余的词素保存为最多 6 4 3 = 262 6 4 ^ {3 } = 262 643=262,144个四字节代码点。对于任何脚本组,新代码点的容量均未耗尽。

4.使用MYTE实现公平的多语言分割

我们首先分析了我们提出的基于形态学的编码特性。根据Petrov等人(2023)的设置,我们测量了MYTE是否能够生成跨语言的可比较长度的分割序列。

我们使用多平行语料库Flores 200(Team等人,2022)计算跨语言的均衡性。均衡性定义为 ∣ t ( s l ) ∣ / ∣ t ( s e n ) ∣ \lvert t ( s _ { l } ) \rvert / \lvert t ( s _ { e n } ) \rvert t(sl)∣/t(sen)∣,其中 s l s_l sl s e n s_{en} sen分别表示语言 l l l和英语中的平行句子。 ∣ t ( s ) ∣ | t ( s ) | t(s)表示使用分割方法 t t t对句子 s s s进行分割后的序列长度。

我们将第3.2节中的MYTE编码与几种常见的输入表示基线进行比较:(a)通过UTF-8的普通字节级编码;(b)字符级编码;(c)由Sentencepiece算法(Kudo和Richardson,2018)生成的子词。在比较中,我们重点关注这些方法为不同语言生成的序列长度的公平性。此外,我们将基于形态学的字节编码序列压缩率与UTF-8规范进行比较。压缩对于有效的文本表示至关重要,因为它影响NLP系统的效率和使用成本(Ahia等人,2023)。最后,我们检查我们的方法是否更有效地压缩了在MYTE算法(第3.2节中描述)中未见过的语言和文字。
在这里插入图片描述

4.1 结果

MYTE在跨语言中表现公平 Flores 200平行句子序列长度的比较如图4所示。与原始的UTF-8字节相比,我们的表示在跨语言中更加平衡。仍有四种语言的代码长度明显较高(例如,希腊语、越南语、旁遮普语、高棉语)。然而,MYTE编码仍然改善了它们与英语的均衡性,使其远低于UTF-8中的异常语言(最差情况下分别为1.7和3.5)。

图3显示,MYTE表示在跨语言的均衡性得分上比子词分词更加平衡。特别是,我们改进了在字节或子词编码中被过度分割的长尾语言。与MYTE最接近的均衡性是通过字符表示获得的。然而,所有Unicode字符的数量比MYTE中使用的唯一字节数量大几个数量级(149,878 vs. 254)。

MYTE编码压缩了文本表示 如图4c所示,所有语言的编码序列长度在MYTE编码下都减少了。压缩率从越南语和中文的1%到缅甸语的近70%不等。如表2所示,非拉丁文字的低资源语言获得了最高的压缩率。值得注意的是,这类语言在UTF-8编码中最容易受到过度分割的影响。

在这里插入图片描述

研究结果推广至未见语言,但不适用于未见文字 在表2中,我们观察到序列长度和均衡性的减少同样适用于在构建MYTE表示时未考虑的五种低资源语言,这些语言被称为未见语言。唯一的例外是使用未见文字Ol Chiki书写的桑塔利语(Santhali),我们未观察到其编码序列长度的变化。这一观察结果突显了在构建词素库时考虑广泛语言和文字的重要性。值得注意的是,MYTE并未耗尽可用字节代码点的容量,因此该方法可以扩展至更多语言。 未见语言和文字的完整结果见附录B。
在这里插入图片描述

5 MyT5:使用MYTE进行语言建模

本节探讨了MYTE作为字节级语言建模编码方案的优势。为此,我们在MYTE表示上训练了T5语言模型。我们将这些模型称为Myte T5模型,简称MyT5。

5.1 训练细节

我们的MyT5模型的架构和实现基于字节级T5模型,即ByT5(Xue等,2022)。与其它T5模型(Raffel等,2020)类似,ByT5是一种编码器-解码器Transformer模型,训练目标是预测被遮蔽的文本片段。ByT5以字节为单位操作,而不是标准T5模型中的子词分词,这使其成为我们实验的合适基础模型。

我们预训练了三种不同规模的MYTE级别模型:小型(300M参数)、基础型(582M参数)和大型(1.23B参数)。预训练使用了从mC4语料库(Raffel等,2020)中恢复被破坏文本片段的标准任务。所有字节序列都被转码为基于形态学的字节。我们使用了Jax实现,即t5x代码库(Roberts等,2022),并采用了与ByT5(Xue等,2022)相同的超参数。与他们的训练方法唯一不同的是,我们预训练了250,000步,而不是一百万步,因为我们观察到在更多步数训练时会出现过拟合,尤其是在低资源语言上。Chung等(2023)同样观察到多语言T5模型因mC4语料库中的大量重复而导致的过拟合问题,因此他们也仅训练了250,000步。在评估中,我们与重新实现的ByT5实例进行了比较,后者也训练了相同的步数。

在这里插入图片描述

5.2 实验

我们比较了MyT5和ByT5模型的性能,重点关注三个方面:语言建模性能、效率以及下游任务评估。

首先,MyT5的多语言语言建模性能如何?是否在跨语言中具有可比性?受Cotterell等人(2018)启发,我们在多平行语料库FLORES 200上使用Bit-per-English-Byte指标来控制评估序列的信息量:
B P E B = 1 ∣ c E n g l i s h , U T F ∣ + 1 ∑ i = 1 ∣ c ∣ + 1 log ⁡ p ( c i ∣ c < i ) ( 1 ) B P E B = \frac { 1 } { | \mathbf { c } _ { E n g l i s h , U T F } | + 1 } \sum _ { i = 1 } ^ { | \mathbf { c } | + 1 } \log p ( c _ { i } | \mathbf { c } _ { < i } )\qquad{(1)} BPEB=cEnglish,UTF+11i=1c+1logp(cic<i)(1)
c 是一个字节序列(原始UTF-8或MYTE),其中 c i c_i ci表示第i个字节。为了归一化,我们使用英语句子中的UTF-8字节数 C E n g l i s h , U T F C_{English,UTF} CEnglish,UTF,以便在跨语言和表示方法之间进行公平比较。这是与困惑度(perplexity)的主要区别,困惑度通过序列长度归一化,因此会受到不同语言和编码的分割率特性的影响。

其次,我们比较了MyT5和ByT5在文本生成中的推理时间。由于注意力计算的二次复杂度,我们预计序列长度的减少(如上一节所示)将导致前向传播时间的二次减少。对于这两个方面,我们报告了三种模型规模(小型、基础型和大型)的结果。除非另有说明,我们展示的是大型模型的结果。

最后,我们比较了模型在XTREME-Up基准测试(Ruder等,2023)中四项任务上的表现:问答、命名实体识别、语义解析和从英语翻译。在每项任务中,我们对所有语言的多语言数据进行了大型模型的微调。微调后的模型在低资源语言的测试数据上进行评估,遵循Ruder等(2023)的方法。唯一的例外是机器翻译任务,我们在一部分语言上进行微调和评估,以减少计算成本。训练和评估的详细信息见附录C。

5.3 结果

MyT5在语言建模中优于ByT5 在图5a中,我们的模型优于ByT5,为所有分析的语言生成了更低(更好)的平均BPEB分数。改进与上一节讨论的压缩率呈强负相关。使用元音附标文字(Abugidas,表示辅音-元音为一个字符,常见于印度次大陆和东南亚)的语言改进最大,这些语言在MYTE编码下往往被缩短得最多。在压缩分布的另一个极端,我们仍然观察到拉丁文字和CJK文字的(较小)改进。这一观察表明,MYTE编码的优势不仅限于缩短序列长度,还使用了更容易被语言模型预测的代码点。MYTE使用基于词素的代码点,这些词素是内在有意义的语言单位,而UTF-8规范则依赖于正字法符号。

MyT5编码缩小了跨语言的LM性能差距 先前的研究认为,某些语言由于其形态特性而更难建模(Cotterell等,2018)。相反,其他研究认为LM性能与特定语言中文本的表示方式有关(Park等,2021)。我们在图6中的结果支持后一种观点,因为通过使用公平的底层表示(即MYTE编码),语言的可预测性得到了平衡。具体来说,我们展示了MyT5在跨语言中实现了比ByT5更均衡的BPEB。正如上一节所讨论的,对于在UTF-8下容易过度分割的语言,改进最为显著。MyT5的最小改进出现在那些从MYTE中获益较少的语言上,如第4.1节中观察到的希腊语和越南语。

在图7中,我们观察到MyT5在形态分析中未见过的语言上优于ByT5,除了使用独特文字的桑塔利语(Sanatli)。
在这里插入图片描述

在这里插入图片描述

MyT5在大规模应用中比ByT5更高效 如图5b所示,MyT5的推理时间在几乎所有语言上都比ByT5更短。这种行为在非拉丁文字语言中尤为明显,因此可以归因于使用MYTE编码方案时观察到的更高压缩率(图4)。此外,表3表明,MyT5在推理速度上的优势随着模型规模的增加而提升,这表明MYTE在应用于更大规模的模型时将带来进一步的效率提升。

在这里插入图片描述
在这里插入图片描述

MyT5在终端任务上比ByT5表现更快 如表4所示,MyT5和ByT5在机器翻译(MT)和命名实体识别(NER)任务上表现相当(且优于基线)。虽然MyT5在问答(QA)任务上比ByT5高出2分,但在语义解析任务上情况相反。我们假设,在这种情况下,MYTE中编码的形态学先验可能会干扰语义解析的微调,因为语义解析需要与自然语言截然不同的结构化输出。

在所有任务中,MyT5的推理速度都比ByT5更快(图8),这与我们在语言建模效率上的观察一致。然而,我们并未观察到终端任务性能变化与效率之间的一致关系,这与之前在多语言语言建模中观察到的推理时间变化(Δ)与BPEP之间的相关性形成对比。

在这里插入图片描述

6 相关工作

6.1 跨语言的公平表示

多语言NLP的最大挑战之一是世界各地语言资源的不均衡性(Joshi等,2020),因为用于模型训练的数据规模和质量直接影响其在个别语言中的表现。因此,研究人员提出了多种方法来平衡跨语言的训练信号(Malkin等,2022)。解决方案包括通过采样数据来过度表示低资源语言,例如使用alpha(Conneau等,2020)或跨语言的均匀采样(Chung等,2023)。这种对语言的不平等处理也体现在数据如何编码为模型输入的方式上(Ahia等,2023)。Petrov等(2023)表明,几乎所有用于将文本表示为NLP系统输入的方法都对语言不平等对待,将某些语言(主要是资源最少的语言)分割为细粒度的非信息性单元。

一些旨在平衡分割或分词方法的方法已被提出。Limisiewicz等(2023)提出了基于分词器评分函数的词汇表合并方法。Zheng等(2021)引入了一种跨语言均匀分配词汇表容量的方法,而Chung等(2020)则为语言集群构建了多语言词汇表并进行了合并。Liang等(2023)结合了这两种方法的元素,并展示了扩展词汇表以促进多语言迁移的优势。这些解决方案承诺实现更好的词汇单元分配,但并未解决底层编码的不平等问题,这可能会影响词汇单元的构建过程。例如,BPE算法中的字节合并从单个字节开始(Sennrich等,2016;Zouhar等,2023)。因此,UTF-8表示的不平等粒度影响了BPE中的词汇构建步骤,尤其是对低资源的非拉丁语言造成了损害(Kargaran等,2024)。一个可能的解决方案是在MYTE编码和平衡的多语言语料库上训练BPE。

形态分析器(如Morfessor)在将输入文本分割为语言模型和神经机器翻译器的输入方面显示出有希望的结果(Macháček等,2018;Hou等,2023)。我们是第一个将基于形态学的编码应用于大规模多语言环境的团队。

6.2 无分词的语言建模

子词分词的替代方法是将文本直接表示为底层编码:字符或字节,甚至将文本表示为渲染文本图像的像素(Rust等,2023)。Xue等(2022)表明,对于许多非拉丁文字,字节级编码的表现不如子词分词。小单元的问题在于它们不能独立携带有意义的信息,并且通常表现不如子词模型(Sun等,2023;Clark等,2022)。研究人员提出了多种算法,通过局部上下文信息来丰富字节级嵌入。为此,最近的方法使用浅层网络来聚合局部上下文中的信息,这些上下文被定义为字符n-gram(Clark等,2022)、字节片段(Yu等,2023)或字符块(Tay等,2022)。然而,选择适当的上下文窗口是困难的,因为不同语言的信息密度不同。解决这个问题的方法可以是动态学习字节序列中的分割(Nawrot等,2023)。另一种方法是重新定义编码规范,以平衡序列中的信息负载,如提出的MYTE方法。

7 结论

在本文中,我们介绍了MYTE编码,这是一种基于形态分割的、更公平的字节级多语言语言建模表示。我们展示了将形态分析器应用于无监督分割,使我们能够以跨多种语言的可比编码长度表示多平行语料库。此外,我们的新表示显著改善了语言建模,特别是对低资源和非拉丁文字语言,并提供了比传统字节级模型更高的效率。这些趋势在不同模型规模中均成立,且改进随着规模增加而增强。总体而言,MYTE缩小了高资源和低资源语言之间的编码效率差距,使所有99种分析的语言(在不同程度上)受益。

伦理声明

我们的工作对不同语言的文本实现了更公平的表示。这将有助于欠发达语言的使用者,使他们能够获得更可靠且更廉价的自然语言处理工具。在所有实验中,我们依赖于开源工具和数据集。我们强烈反对对所发布语言模型的非预期使用。

局限性

我们的方法继承了用于获取 MYTE 多语言形态切分的 Morfessor 的局限性。首先,Morfessor 依赖于数据,受语料库(如维基百科)和词典(如 MUSE Lample 等,2018 年)的质量影响。这些资源的缺陷导致了跨语言污染的显著存在,通常来自高资源语言(Blevins 和 Zettlemoyer,2022 年)。这导致在许多语言的分析中出现拉丁语(通常是英语)词素。其次,我们使用了 Morfessor 的无监督模式,这种模式可以应用于任何语言,因为它不依赖于注释数据。然而,这种模式也容易在形态切分中出现错误,即对特定语言的文本进行过度切分。我们通过选择一个恒定的目标词素数量来缓解这一问题。

对数据的依赖也可能影响我们发现的普遍性,特别是对于未用于构建 MYTE 的语言。第 4.1 节的结果显示,该方法在压缩未见语言的文本表示方面确实有效,但对未见的书写系统则不然。值得注意的是,我们并未用尽 MYTE 代码页的容量;因此,它可以扩展到更多的语言。

最后,即使是完美的形态分析也不能保证跨语言的切分具有相同的粒度。一些语言具有更高的形态丰富性,因此它们的文本由更多的词素组成。因此,我们观察到 MYTE 切分长度在不同语言之间存在差异,但这些差异明显小于其他约定。

附录A

在本附录中,我们详细介绍了MYTE转码算法的前提条件,包括:a) 为形态分析准备多语言词典和语料库,以及b) 使用Morfessor无监督算法获取每种语言的词素库。

A.1 形态分析词典的准备

为了在多种语言和书写系统中获取形态学分割,我们执行了以下步骤:

  1. 基础词典的构建:我们以MUSE(Lample等人,2018)提供的45种语言的双语词典为基础。由于这些词典是为每种语言独立获取的,我们忽略了数据的双语特性。为避免不公平地增加英语词汇在词典中的频率,我们过滤掉了在英语和目标语言中相同的词汇。
  2. 词频统计:我们使用2023年9月的Wikipedia语料库(dumps.wikimedia.org)来统计词汇的出现频率。对于mC4(Raffel等人,2020)中包含但MUSE词典未覆盖的54种语言,我们从Wikipedia中提取唯一单词列表作为词典。
  3. 词典规模限制:将所有词典裁剪至30,000个词条。
  4. 字符标准化:所有词条均通过UTF-8标准转录为字节序列。所有字节序列按照NKFD规范进行分解,即将修饰符号(变音符号、重音等)表示为单独的代码点。此外,我们将大写字母转换为小写字母,并添加大写标记。

A.2 使用Morfessor进行无监督分割

我们采用Morfessor(Smit等人,2014),这是一种无监督算法,可生成类似于形态学分析的子词级别分割。该方法的无监督特性使我们能够将其应用于多种语言。然而,需要注意的是,该方法容易出现错误,例如对词根的过度分割或词素边界的错误定位。

为了避免过度分割,我们使用自适应损失加权,将检测到的词素数量限制在约4096个。与Morfessor的典型用法不同,我们在字节级别而非字符级别上应用该算法。

A.3 Morfessor技术细节

Morfessor采用递归优化算法生成类似于形态分析的子词分割。无监督分析所需的输入数据包括语言语料库和由独特单词 c ∈ C c \in { \mathcal { C } } cC组成的词典。我们同时定义原子单元集 a ∈ A a \in { \mathcal { A } } aA,这些是文本中不可分割的最小单元,可组合成单词。本研究中原子单元选择为UTF-8字节。

该算法的目标是找到词典中单词分割所出现的词素集 m ∈ M m \in \mathcal { M } mM。通过递归算法扩展词素集M时,需优化两种损失函数:基于语料库的损失和基于词典的损失。在给出具体损失函数前,先定义辅助变量:

M = ∑ m ∈ M # c o R ( m ) C = ∑ c ∈ C # c o R ( m ) − 1 A = ∑ a ∈ A # M ( a ) ( 2 ) \begin{array} { l } { { \displaystyle M = \sum _ { m \in { \mathcal { M } } } { \# \mathrm { c o R } ( m ) } } } \\ { { \displaystyle C = \sum _ { c \in \mathcal { C } } { \# \mathrm { c o R } ( m ) } - 1 } } \\ { { \displaystyle A = \sum _ { a \in { \mathcal { A } } } { \# \mathcal { M } ( a ) } } } \end{array} \qquad \qquad{(2)} M=mM#coR(m)C=cC#coR(m)1A=aA#M(a)(2)

符号#表示语料库(COR)或词素集M中的元素数量。即,M表示语料库中词素总数,C’表示语料库单词总数,A表示(唯一)词素集的原子单元总数。Morfessor在递归优化中使用以下损失函数:

语料库损失函数倾向于选择语料库中高频出现的词素:

L c o R = ( M + C ) log ⁡ ( M + C ) + − ∑ m ∈ M # c o R ( m ) log ⁡ # c o R ( m ) + + log ⁡ ( ∣ M − 1 ) ( 3 ) \begin{array} { r l } { \mathcal { L } _ { \mathrm { c o R } } = ( M + C ) \log ( M + C ) + } & { } \\ { - \displaystyle \sum _ { m \in \mathcal { M } } \# _ { } \mathrm { c o R } ( m ) \log \# _ { \mathrm { c o R } } ( m ) + } & { } \\ { + \log \displaystyle \left( \lvert M - 1 \right) } & { } \end{array} \qquad {(3)} LcoR=(M+C)log(M+C)+mM#coR(m)log#coR(m)++log(M1)(3)
词典损失函数则倾向于选择由多样化原子单元组成的片段,以避免将重叠片段识别为词素:

L L E X = ( A + ∣ M ∣ ) log ⁡ ( A + ∣ M ∣ ) − ∣ M ∣ log ⁡ ∣ M ∣ + − ∑ a ∈ A # M ( a ) log ⁡ # M ( a ) − l o g ( ∣ M ∣ ! ) + + log ⁡ ( A − 1 ∣ A ∣ − 1 ) ( 4 ) \begin{array} { r } { \mathcal { L } _ { \mathrm { L E X } } = ( A + | M | ) \log ( A + | M | ) - | M | \log | M | + } \\ { - \displaystyle \sum _ { a \in A } \# _ { \mathcal { M } } ( a ) \log \# _ { \mathcal { M } } ( a ) - l o g ( | M | ! ) + } \\ { + \log \displaystyle \binom { A - 1 } { | A | - 1 } } \\ \end{array}\qquad{(4)} LLEX=(A+M)log(A+M)MlogM+aA#M(a)log#M(a)log(M!)++log(A1A1)(4)
损失函数通过参数 α α α 加权, α α α 间接控制词素集的大小 ∣ M ∣ |M| M。例如,我们调整 α α α,使每种语言的词素数量接近 4096。我们观察到,这种规模的词素集使得不同语言之间的分词具有可比性。
L = α L C O R + L L E X ( 5 ) \mathcal { L } = \alpha \mathcal { L } _ { \mathrm { C O R } } + \mathcal { L } _ { \mathrm { L E X } } \qquad \qquad{(5)} L=αLCOR+LLEX(5)

附录B

本附录总结了论文中提到的补充结果。

B.1 各语言的结果

表9展示了所分析的mC4语言的实验结果。图10和图11分别可视化了UTF-8和MYTE下的序列长度及相应的压缩率。此外,图9展示了在形态分析中未见过的语言的序列长度和压缩情况,而图7则比较了这些语言中ByT5和MyT5的表现。

B.2 语言模型在不同规模下的性能

图12展示了MyT5和ByT5模型在小规模和基础规模下的BPEB差异。此外,表9包含了各语言在所有可用规模下的平均语言模型评分和推理时间。这些图表明,MYTE对形态分析中未见过的语言有所提升,但对使用不同书写系统的Sanatli语言则无明显改进。

B.3 XTREME-UP基准测试结果

表5、6、7和8详细列出了XTREME-UP基准测试中各编辑任务的结果。

C 技术细节

C.1 计算基础设施

MyT5和重新实现的ByT5模型在Google云平台提供的TPU上训练。我们使用v3-8来训练小型和基础模型,v3-32来训练大型模型。训练时间约为小型模型90小时,基础模型230小时,大型模型190小时。感谢Google通过TPU研究云计划提供这些机器的免费配额。语言建模实验中的推理是在A40 GPU核心上运行的。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

C.2 微调

在少量数据微调中,我们采用了与 Ruder 等人(2023 年)相同的超参数和优化策略:将 dropout 设为 0.1,学习率为 1e−3,并使用反平方根衰减。批量大小根据在 v3-8 TPU 上的训练需求进行调整,具体为:命名实体识别(NER)任务为 128;机器翻译(MT)、问答(QA)和语义解析任务为 64。微调步数与训练数据集的规模相对应:QA 为 6500 步,NER 为 6000 步,语义解析为 1000 步,MT 为 10000 步。在机器翻译任务中,我们选择了以下语言进行训练和评估:泰卢固语、泰米尔语、希腊语、亚美尼亚语、俄语、哈萨克语、阿姆哈拉语、越南语、日语、法语、韩语、德语、马拉地语和波兰语。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无声之钟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值