动态标记化对大型语言模型的改造

摘要

在当今的自然语言处理(NLP)领域,大型语言模型(LMs)如同冰山一角,潜藏着巨大的潜力。然而,现有的语言模型通常依赖于固定的子词标记器,这一选择往往被视为理所当然,结果却是导致在非英语语言上的表现不佳,且在新的领域或语言中应用这些模型时面临挑战。为了解决这些问题,我们提出了一种动态标记化的方法,旨在根据输入文本动态决定标记边界。通过对编码器风格模型引入一种基于字节对编码(BPE)的子词合并算法,我们在批量层面上合并频繁的子词序列,并运用预训练的嵌入预测超网络动态计算标记嵌入。我们的实验表明,动态标记化在不损失任务性能的情况下,平均减少超过20%的标记序列长度,同时提升了跨语言的公平性。

1 引言

语言模型是现代自然语言处理应用的核心,能够实现高级的语言理解和生成。然而,它们的有效性在很大程度上依赖于标记器,这一过程将原始文本分割为更小的单位称为标记(Minaee et al., 2024;Minixhofer et al., 2024)。传统的子词标记器在多语言背景下经常出现过度分割的问题,使得模型在不同语言间的表现不平衡,增加了推理成本,降低了整体模型的有效性(Ahia et al., 2023)。因此,开发一种能够根据输入文本动态调整标记边界的标记化方法是十分必要的。

2 背景与相关工作

2.1 标记器的定义

根据Uzan等(2024)和Minixhofer等(2024)的定义,标记器可以由词汇V和标记化函数T构成。现有的标记器主要分为字符级、字节级、子词和词标记化方法。尽管字符级和字节级方法可以处理稀有词,但它们在处理速度上较慢,而子词标记化则由于词汇限制,常常面临不适应新数据的挑战(Nawrot et al., 2022)。

2.2 动态标记化的提出

本研究提出的动态标记化通过适应性调整标记边界,能够在处理数据时实时更新词汇和标记化函数。这种方法不仅在编码器模型中应用,还扩展到解码器模型,通过引入近似最近邻索引实现快速生成,展示出动态标记化在处理大规模词汇时的可扩展性。

3 方法

3.1 动态标记化的实现

动态标记化的核心在于通过对输入数据的批量处理,更新初始标记化函数。我们引入BPE风格的合并算法,以减少输入数据的过度分割,从而实现更紧凑的表示。在这一过程中,超网络被用来生成任何标记的嵌入参数,允许模型根据批量数据动态调整标记。

3.2 词汇扩展与自动回归生成

为了在解码器中有效应用动态标记化,我们扩展了初始词汇,构建了一个包含一百万个标记的词汇表,并结合近似最近邻索引,实现了快速的标记生成。这种方法有效解决了传统大型词汇带来的模型参数分配不均的问题。

4 实验设置

我们的实验使用XLM-R作为多语言编码器模型,并以MISTRAL-7B的基础和指令版本作为解码器模型,通过XNLI和UNER数据集评估动态标记化的有效性。我们比较了原始嵌入、快速词汇迁移嵌入和超网络嵌入的效果,结果表明动态标记化显著提高了推理速度,并在多语言间实现了更公平的计算分配。

5 结果与讨论

5.1 编码器结果

通过动态标记化,我们在XNLI数据集上实现了平均22.5%的序列长度减少,任务性能损失小于2%。与传统的子词标记化相比,这一方法在效率和跨语言公平性方面表现出色。

5.2 解码器结果

在解码器模型中,我们观察到动态标记化可以在保留模型参数分配的同时,处理更大规模的词汇,提升生成速度。尤其是在使用一百万个标记的设定下,动态标记化展现出了良好的可扩展性。

6 结论

本研究提出了一种新颖的动态标记化方法,通过超网络动态生成嵌入,克服了传统静态标记化的局限性。实验结果表明,该方法有效减少了标记序列长度,提高了推理效率,并在多语言场景中实现了更公平的模型表现。未来的工作将致力于进一步优化这一方法,以应对更复杂的语言和领域需求。

参考文献

  1. Minaee, S. , et al. (2024).
  2. Minixhofer, B. , et al. (2024).
  3. Ahia, F. , et al. (2023).
  4. Uzan, O. , et al. (2024).
  5. Nawrot, A. , et al. (2022).

0 0 投票数
Article Rating
订阅评论
提醒
0 评论
最多投票
最新 最旧
内联反馈
查看所有评论
人生梦想 - 关注前沿的计算机技术 acejoy.com
0
希望看到您的想法,请您发表评论x