自动补全分词器的试点研究

arXiv cs.CL 论文

摘要

本文提出了一种针对字节级分词的压缩方案,利用自动补全模型从输入序列中移除可预测的字节,在保持多语言机器翻译性能的同时缩短序列长度。

arXiv:2608.15080v1 Announce Type: new 摘要:现代输入方法通常依赖自动补全来省略可以从本地上下文中恢复的信息。受这些自动补全辅助写作系统的启发,我们研究是否可以以类似方式压缩Transformer输入。字节级分词提供了比子词分词更简单且语言无关的替代方案,但其较长的输入序列通常导致计算成本增加和模型质量降低。我们提出一种压缩方案,该方案采用轻量级自回归字节语言模型,在Transformer处理之前识别并移除那些从其周围上下文中容易预测的字节。然后将得到的压缩表示作为标准encoder--decoder Transformer的输入。机器翻译实验表明,可以省略相当大一部分源语言字节,而不会降低翻译质量。在English--French上,我们的最佳方法在保持翻译性能的同时,将源序列长度减少了近三分之一。在Finnish--English、Russian--English和Chinese--English上的额外实验表明,该方法在不同书写系统和形态类型中具有普遍性,在压缩比为0.47到0.67之间,产生可比或改进的翻译质量。这些发现表明,许多输入字节足够可预测,可以隐式而非显式表示,提供了一种简单的机制来减少与字节级模型相关的序列长度开销。
查看原文
查看缓存全文

缓存时间: 2026/08/18 10:01

# 自动补全分词器的初步研究 来源:https://arxiv.org/html/2608.15080 ## 自动补全分词器的初步研究 致谢:被 COLM 2026 第二届分词研讨会 \(TokShop\) 接收。Samuel Wexler & Mark Hopkins 机构:计算机科学系 机构:威廉姆斯学院 机构:美国马萨诸塞州威廉斯敦 01267 邮箱:[\{saw9,mh24\}@williams\.edu](mailto:) ###### 摘要 现代输入法常依赖自动补全来省略可以从局部上下文中恢复的信息。受这些自动补全辅助写作系统的启发,我们研究了 Transformer 输入是否可以类似地进行压缩。字节级分词提供了一种简单且与语言无关的替代子词分词的方法,但其更长的输入序列通常会导致计算成本增加和模型质量下降。我们提出了一种压缩方案,该方案采用轻量级的自回归字节语言模型,在 Transformer 处理之前识别并删除那些可以从其周围上下文轻松预测的字节。然后将得到的压缩表示作为输入提供给标准的编码器-解码器 Transformer。机器翻译实验表明,在不降低翻译质量的前提下,可以省略源语言字节的相当大部分。在英法翻译中,我们最好的方法在将源序列长度减少近三分之一的同时,保持了翻译性能。在芬兰语-英语、俄语-英语和汉语-英语上的额外实验表明,该方法可以推广到不同的书写系统和形态类型学,在压缩比介于 0\.47 和 0\.67 之间时,能产生可比或改进的翻译质量。这些发现表明,许多输入字节具有足够的可预测性,可以隐式而非显式地表示,为减少与字节级模型相关的序列长度开销提供了一种简单机制。 ## 1引言 子词分词\(13 (https://arxiv.org/html/2608.15080#bib.bib2)\)仍然是基于 Transformer 的语言模型\(17 (https://arxiv.org/html/2608.15080#bib.bib9);3 (https://arxiv.org/html/2608.15080#bib.bib5);16 (https://arxiv.org/html/2608.15080#bib.bib7)\)的主要方法,但人们对字节级和无分词器的替代方案越来越感兴趣\(18 (https://arxiv.org/html/2608.15080#bib.bib10);4 (https://arxiv.org/html/2608.15080#bib.bib11);15 (https://arxiv.org/html/2608.15080#bib.bib12);19 (https://arxiv.org/html/2608.15080#bib.bib13);8 (https://arxiv.org/html/2608.15080#bib.bib14)\)\. 潜在的好处包括更小的嵌入矩阵(允许这些参数重新分配给核心 Transformer 层)以及对不同书写系统更统一的处理。然而,字节分词产生的词元序列比子词分词长得多,这通常会导致性能下降(在运行时、内存消耗和模型质量方面)。本文介绍了一项关于新的基于压缩的输入表示的初步研究,该研究试图保留字节级表示的简单性和语言独立性,同时减轻其序列长度开销。核心思想是利用辅助自动补全模型从原始输入序列中删除可预测的字节。人类通常通过自动补全辅助的输入系统进行交流,这些系统省略了可以从上下文中恢复的信息。我们研究了类似的原则是否可以应用于 Transformer 输入。该方法特别受到中文 QWERTY 键盘输入法\(7 (https://arxiv.org/html/2608.15080#bib.bib4)\)和拉丁字母语言使用者智能手机打字习惯的启发——两者通常都依赖自动补全机制。在这两种情况下,实际键入的字符序列与标准正字法不符。相反,它看起来像由自动补全触发符分隔的短促拉丁字母突发111请注意,所有拉丁字母在 UTF\-8 中都表示为单个字节.。7 (https://arxiv.org/html/2608.15080#bib.bib4)将此称为*hypography*——源自希腊词根*hypo*(意为“在...之下”)和*graphy*(意为“书写”)——并将其定义为“服务于传统书写或文字但在更低层面运作的书写”。图1 (https://arxiv.org/html/2608.15080#S1.F1)展示了我们所提方法的一个变体。一般方法分为三个阶段: 1. 1\.预测:原始字节序列作为输入提供给(小型的)自动补全模型,该模型根据先前的字节自回归预测下一个字节。 2. 2\.压缩:删除那些被自动补全模型自信预测到的字节序列。(可能)插入哨兵以指示字节被删除的位置。 3. 3\.翻译:压缩后的序列提供给(大型的)Transformer 并翻译成期望的输出。 请参见标题 图1:我们提出的技术的一种变体(“长度编码哨兵”)。原始字节序列作为输入提供给自动补全模型,该模型根据先前的字节自回归预测下一个字节。然后,删除那些被自动补全模型自信预测到的字节序列。(可能)插入哨兵以指示字节被删除的位置。最后,压缩后的序列被 Transformer 处理。我们的实验证明,这种方法可以在保持翻译质量的同时大幅减少源序列长度。在英法翻译中,我们在删除了近三分之一的源字节后,达到了与未压缩字节分词相当的性能。在跨越黏着语(芬兰语)、西里尔字母(俄语)和表意文字(汉语)书写系统的额外语言对中,我们观察到在压缩比介于 0\.47 到 0\.67 之间时,翻译性能可比或有所提高。这些发现表明,很大一部分输入字节具有足够的可预测性,可以从局部上下文重建,因此可以在 Transformer 处理之前省略,而不会降低翻译质量。我们的贡献如下: - •我们引入了一种在 Transformer 处理之前删除高度可预测字节的压缩技术。 - •我们比较了该技术的多种变体,确定了在激进序列压缩下最能保持翻译质量的设计选择。 - •我们在跨越多种书写系统和形态类型学的语言对上评估了所提出的技术。 ## 2相关工作 字节级语言建模已成为子词分词的一种有吸引力的替代方案。通过直接在 UTF\-8 字节上操作,字节级模型避免了特定语言的分词器,消除了词汇表外问题,并提供了跨书写系统的统一表示。然而,这些好处的代价是序列长度大大增加,增加了 Transformer 架构的计算负担。因此,大量工作集中在提高字节级 Transformer 的效率上。ByT5\(18 (https://arxiv.org/html/2608.15080#bib.bib10)\)证明,使用纯字节级表示可以实现具有竞争力的多语言性能。随后的方法试图通过架构修改来缓解由此产生的序列长度爆炸。CANINE\(4 (https://arxiv.org/html/2608.15080#bib.bib11)\)采用学习到的下采样在深度 Transformer 处理之前缩短序列,而 Charformer\(15 (https://arxiv.org/html/2608.15080#bib.bib12)\)直接从字符序列中学习潜在的分割。MegaByte\(19 (https://arxiv.org/html/2608.15080#bib.bib13)\)和相关的分层架构在多个时间尺度上处理字节序列,从而能够对长字节流进行高效建模。与我们的工作特别相关的是字节潜在 Transformer \(BLT\)\(8 (https://arxiv.org/html/2608.15080#bib.bib14)\),它使用一个轻量级的字节级模型来估计局部预测难度,并将字节流动态划分为可变长度的块。易于预测的区域被分组到较大的块中,而更令人惊讶的区域则以更精细的粒度表示。BLT 和我们的方法都利用了这样一个观察:信息密度在字节序列中变化很大,可预测区域比不可预测区域需要更少的显式表示。然而,BLT 自适应地改变字节的表示粒度,而我们的方法在 Transformer 处理之前直接删除高度可预测的字节,产生一个可以被标准编码器\-解码器架构消费而无需架构修改的压缩序列。与我们的工作最接近的是6 (https://arxiv.org/html/2608.15080#bib.bib8)的神经压缩框架。他们的方法训练一个字节级语言模型,并在算术编码方案中使用由此产生的概率估计来生成压缩的文本表示。为了便于 Transformer 对这些压缩流进行训练,他们引入了等信息窗口以及算术编码器和语言模型上下文的定期重置。他们的方法和我们的方法都利用了这样一个观察:许多字节从局部上下文来看是高度可预测的,因此不需要显式表示。但是,神经压缩寻求信息论上高效的编码,这些编码主要丢弃了原始词汇结构,而我们的方法执行选择性的字节删除,同时保留压缩序列与原始文本之间的显式对应关系。我们的工作也与根据输入难度或信息内容分配计算的方法有关。先前的工作表明,通过识别并在推理或训练过程中移除信息较少的表示,可以实现显著的计算节省。例如,Power\-BERT\(5 (https://arxiv.org/html/2608.15080#bib.bib16)\)在 Transformer 层内逐步消除词元表示,而 DynamicViT\(12 (https://arxiv.org/html/2608.15080#bib.bib15)\)则根据估计的重要性动态稀疏化词元序列。与这些方法类似,我们的方法试图识别输入中可以由轻量级模型处理的部分,并将更大的 Transformer 的容量留给更不可预测的内容。然而,与先前的词元剪枝方法不同,我们的方法直接在原始字节序列上操作,并将压缩作为预处理步骤执行,在任何 Transformer 计算发生之前生成更短的输入序列。从更广泛的角度来看,BLT\(8 (https://arxiv.org/html/2608.15080#bib.bib14)\)、神经压缩文本\(6 (https://arxiv.org/html/2608.15080#bib.bib8)\)和我们的方法都利用轻量级字节级模型的预测分布来识别需要较少显式表示的文本区域。然而,这三种方法在利用此信号的方式上有所不同。BLT 保持了原始信息内容,同时调整表示的粒度,将可预测区域分组到更大的块中,并将更精细的表示分配给可预测性较低的区域。在另一个极端,神经压缩文本使用预测分布来构建信息论上压缩的编码,该编码在很大程度上替代了原始字节序列。我们的方法介于这两种方法之间:我们不是改变表示粒度或用压缩代码替换输入,而是选择性地删除高度可预测的字节,同时保留压缩序列与原始文本之间的显式对应关系。这种视角将三种方法置于一个连续体中,从自适应表示、到选择性省略、再到完全基于熵的压缩。 ## 3方法论 如引言中讨论的(并在图1 (https://arxiv.org/html/2608.15080#S1.F1)中可视化),我们提出的方法首先对字节序列执行自回归的下一字节预测,然后根据这些预测压缩字节序列,最后使用标准的编码器\-解码器 Transformer 翻译压缩后的序列。 ### 3\.1预测 我们训练一个自回归语言模型 \(P\_{\mathsf{ac}}(b_k|b_1,\dots,b_{k-1})\),该模型根据给定的先前词元预测序列中的第 \(k\) 个词元。在这种情况下,词元可以是一个字节或一个指定的序列开始标记 \(\square\) 或序列结束标记 \(\blacksquare\)。换句话说,词元词汇表是 \(\mathcal{B} = \{0,1,\dots,255\} \cup \{\square,\blacksquare\}\)。语言模型可以采用多种形式,但它应该小而快——主要思想是它将高效地向我们展示文档的哪些部分可以在没有深入文本理解的情况下被预测。在本研究中,我们训练了一个两层的仅解码器 Transformer,其 \(d_{\mathsf{model}}=1024\),\(d_{\mathsf{ff}}=512\),每层有 16 个注意力头。然后,给定输入序列 \(b_1,\dots,b_m\)(其中 \(b_1=\square\) 且 \(b_m=\blacksquare\)),我们为所有 \(2 \leq i \leq m\) 计算以下量: \(p_i = P_{\mathsf{ac}}(b_i|b_1,\dots,b_{i-1})\) \(\hat{p}_i = \max_{b' \in \mathcal{B}} P_{\mathsf{ac}}(b'|b_1,\dots,b_{i-1})\) 一个字节 \(b_i\) 如果满足以下条件之一则被认为是“容易预测的”: 1. 1\.绝对阈值:\(p_i > \alpha\),其中 \(\alpha \in (0,1]\) 为超参数。 2. 2\.相对阈值:如果 \(p_i - \hat{p}_i > \alpha\),其中 \(\alpha \in (0,1]\) 为超参数。 条件 \(p_i \geq \hat{p}_i\) 确保观测到的字节是模型最可能的预测。一旦我们确定了容易预测的字节的索引集 \(\mathcal{E} \subseteq \{2,\dots,m\}\),我们就继续压缩原始字节序列。我们实验了四种压缩方案(每种方案的示例由图2 (https://arxiv.org/html/2608.15080#S3.F2)提供): 1. 1\.无哨兵:对于每个 \(i \in \mathcal{E}\),字节 \(b_i\) 直接从字节序列中移除。 2. 2\.显式哨兵:对于每个连续序列 \(i,i+1,\dots,j \in \mathcal{E}\),其中 \(i-1 \notin \mathcal{E}\) 且 \(j+1 \notin \mathcal{E}\),我们用一个特殊的哨兵 \(\nabla\) 替换字节子序列 \(b_i,b_{i+1},\dots b_j\)。 3. 3\.长度编码哨兵:对于每个连续序列 \(i,i+1,\dots,j \in \mathcal{E}\),其中 \(i-1 \notin \mathcal{E}\) 且 \(j+1 \notin \mathcal{E}\),我们用一个特殊的哨兵 \(k\) 替换字节子序列 \(b_i,b_{i+1},\dots b_j\),其中 \(k = j-i+1\)(即,被替换的字节数)。 4. 4\.隐式哨兵:对于每个 \(i \in \mathcal{E}\),字节 \(b_i\) 从字节序列中移除。对于每个 \(i \notin \mathcal{E}\) 且满足 \(i+1 \in \mathcal{E}\),我们将 \(b_i\) 替换为 \(b_i + 256\)。 ### 3\.3翻译 然后,我们将压缩后的词元序列 \(x_1,\dots,x_n\) 作为输入提供给标准的编码器\-解码器 Transformer。输入词元词汇表取决于压缩方案。对于无哨兵压缩方案,词元词汇表 \(\mathcal{V}_{\mathsf{sf}} = \{0,1,\dots,255\} \cup \{\square,\blacksquare,\textsc{Pad}\}\) 有 259 个词元:每个可能的字节一个,加上一个序列开始标记、一个序列结束标记和一个填充标记。显式哨兵词元词汇表向 \(\mathcal{V}_{\mathsf{sf}}\) 添加了哨兵 \(\nabla\)。长度编码哨兵词元词汇表添加了哨兵 \(1,2,3,4,5,6,7,8\)。

相似文章

Compute Optimal Tokenization (2分钟阅读)

TLDR AI

本文通过训练近1300个模型,系统推导了压缩感知的神经缩放定律,证明了广泛使用的每参数20个词元的启发式方法是由特定分词器造成的。作者提出了基于字节的分词器无关缩放定律,为跨多样语言和模态的计算高效训练提供了新框架。

面向字节级BPE的书写系统级分词器适配

arXiv cs.CL

本文介绍了BPE引导插入,用于对字节级BPE模型进行事后分词器适配,在保持词汇表大小固定的同时保留大多数token-ID分配。该方法将乌克兰语的token数量减少约33-36%,同时将对英语和其他欧洲语言的影响降至最低。

跨语言同形词的标记化

arXiv cs.CL

本文研究了多语言分词器如何处理跨语言同形词(不同语言中拼写相同但含义不同的词),并提出了一种轻量级的语言线索干预方法,通过引入语言特定字符来减少分词共享。实验表明,在机器翻译中,特别是在BPE分词下,该方法带来了适度的改进。