AG-BPE:注意力引导的字节对编码,用于语义感知分词

社区文章 发布于2025年8月2日

Théo (又名 RDTvlokip)
🔗 github.com/RDTvlokip
Hugging Face上的再版
2025年7月13日

原始出版
🔗 Zenodo: 10.5281/zenodo.15864340


摘要

像字节对编码(BPE)这样的标准子词分词方法是现代语言模型的基础,但它们纯粹基于统计频率操作,忽略了所创建词元的语义连贯性。我们引入了注意力引导的BPE(AG-BPE),这是一种通过结合语义感知引导机制来增强BPE算法的新方法。AG-BPE的合并决策不再仅仅依赖于频率,而是结合了共现统计和轻量级Transformer编码器提供的上下文注意力分数。通过与行业领先的分词器(包括OpenAI的tiktoken系列)进行广泛基准测试,我们证明了AG-BPE(在302MB的适度数据集上训练)在词汇量小16倍的情况下,实现了最先进的压缩率。它的解码速度比传统模型快30倍以上,并且在复杂的、多语言文本上表现出完美的鲁棒性。定性分析揭示了它学习基本形态学原理的独特能力,为更具可解释性和效率的词汇表提供了有希望的方向。


引言

大型语言模型(LLMs)的性能关键取决于其初始分词阶段。主导方法字节对编码(BPE)及其变体通过迭代合并最常见的词元对来构建词汇表。尽管计算高效,但这种纯粹的统计方法是“语义盲区”,常常会碎片化有意义的语素,并创建次优的词汇分布。

这一局限性促使研究向两个主要方向发展:像CANINE这样无需分词的模型,它们会带来显著的计算开销;以及需要大量训练数据和计算资源的复杂端到端分割模型。

在这项工作中,我们提出了第三种方法:一种优雅的折衷方案,它保留了BPE的效率,同时注入了语义智能。我们引入了注意力引导的BPE (AG-BPE),一种通过上下文感知增强传统BPE算法的方法。我们的主要贡献是一种用于合并决策的混合评分机制

MergeScore(p) = Freq(p) + λ · AttentionScore(p)

其中一个词元对的得分是其频率和来自轻量级Transformer编码器的上下文AttentionScore的函数。

我们的贡献包括:

  • 一种新颖的AG-BPE算法,它将上下文注意力整合到BPE合并过程中,在保持计算效率的同时提高了语义感知能力。
  • 一项全面的基准测试,表明AG-BPE在压缩率方面具有竞争力,同时在解码速度、词汇效率和跨不同语言环境的鲁棒性方面表现更优。
  • 证据表明,我们的方法在适度数据集上训练,生成了比传统方法在形态学上更细粒度、语言上更智能的词汇表。

相关工作

标准子词分词

BPE算法已成为GPT-2和BERT等模型的基础。然而,它们仅依赖频率统计,需要数TB规模的庞大训练语料库才能在不同领域和语言中实现合理的性能。

替代分词方法

“无分词”模型,如CANINE和ByT5,通过直接操作字符或字节,提供了更大的灵活性,但代价是显著的计算成本。AG-BPE的根本不同之处在于它增强了经过验证的BPE框架,而不是完全取代它。

形态学感知分词

像Morfessor这样的方法试图融入形态学知识,但通常需要特定语言的规则或大量的语言标注。AG-BPE通过注意力机制隐式学习这些模式,使其在不同语言和领域中更具通用性。

注意力引导的BPE (AG-BPE)

架构设计

我们方法的核心是一个Transformer编码器,即ContextAnalyzer,它计算上下文注意力分数以指导BPE合并过程。该组件分析词元对在其周围上下文中的语义关系。

我们实验中采用的架构是一个精心设计的“基础类”模型

  • 6个Transformer层,每个层有12个注意力头
  • 隐藏维度为768
  • 上下文窗口为512个词元
  • 对各层的注意力分数进行加权聚合,更注重深度、语义感知度更高的层

混合评分机制

AG-BPE 的核心创新在于其混合评分函数。对于每个候选合并对 p,我们计算

MergeScore(p) = α · Freq(p) + (1-α) · AttentionScore(p)

其中 α 是一个可学习参数,用于平衡基于频率和基于注意力的分量。AttentionScore 捕捉了根据其上下文关系合并两个词元的语义连贯性。

训练与实现

AG-BPE 作为预处理步骤一次性训练,使其在部署时具有计算效率。我们的模型在302 MB 的法语原生数据集上进行训练,这表明无需依赖海量数据也能构建复杂的词汇表。训练过程包括:

  1. 使用字符级分词进行初始词汇表构建
  2. 使用混合评分机制进行迭代合并候选评估
  3. 计算每个合并候选的注意力得分
  4. 通过多个训练周期进行词汇表优化

实验和结果

实验设置

我们进行了全面的实验来评估 AG-BPE 与已建立的分词器之间的性能

  • 我们的模型(AG-BPE): 在 302 MB 的法语语料库上训练,收敛到一个包含 16,000 个词汇的词典。
  • 基线模型: GPT-2、BERT-base-uncased、T5-base 和 tiktoken 系列(gpt-4、gpt-4o)
  • 测试语料: 一个具有挑战性的多语言文本样本,旨在测试跨语言和领域的鲁棒性
  • 指标: 压缩率、平均词元长度、解码速度和词汇外(OOV)词元计数

定量分析

定量结果突出显示了 AG-BPE 在多个指标上的卓越性能

分词器 词汇量 压缩 平均词元长度 解码速度(毫秒) 硬 OOV
AG-BPE(我们) 16,000 3.77倍 3.26 0.03 0
BERT-base 30,522 3.26倍 2.82 0.92 0
T5-base 32,100 3.60倍 3.61 0.64 0
GPT-2 50,257 2.91倍 2.65 0.80 0
tiktoken: gpt-4 100,277 3.87倍 3.87 0.01 0
tiktoken: gpt-4o 200,019 4.66倍 4.66 0.01 0

结果显示了AG-BPE的明显优势

压缩效率: AG-BPE以3.77倍的压缩率超越了BERT(3.26倍)和T5(3.60倍)等传统模型,尽管词汇量小了6.25倍,但性能与GPT-4相当。

解码性能: AG-BPE的解码速度为0.03ms,比BERT(0.92ms)和T5(0.64ms)等传统分词器快20-30倍,非常适用于实时应用。

鲁棒性: AG-BPE在具有挑战性的多语言测试语料库上实现了完美的鲁棒性,词汇表外(OOV)词元为零,这表明它能够处理其他模型可能失败的多样化语言环境。

定性分析

AG-BPE 的形态学意识在其分段模式中显而易见。在一段英文句子(其训练数据中没有该语言)中,AG-BPE 展示了卓越的零样本泛化能力

  • AG-BPE: Wh | at | are | you | do | ing | ton | ight | ?
  • GPT-2: What | Ġare | Ġyou | Ġdoing | Ġtonight | ?

值得注意的是,AG-BPE 正确地分离了英语动名词后缀 -ing,这表明它已经学习了基本的形态学原理,而不仅仅是特定语言的模式。这表明注意力机制成功捕获了跨语言的形态学规律。

消融研究

我们进行了消融研究,以了解不同组件的贡献

  • 仅频率的BPE: 标准BPE的基线性能
  • 仅注意力的模型: 仅使用注意力分数(性能下降)
  • 混合型 (AG-BPE): 频率和注意力之间的最佳平衡

混合方法始终优于单一组件方法,验证了我们的设计选择。

讨论

计算效率

尽管集成了 Transformer 编码器,AG-BPE 仍通过以下设计选择保持了计算效率

  • 一次性训练成本在所有后续使用中均摊
  • 仅有6层的轻量级架构
  • 注意力计算高效,专注于合并候选

可扩展性和泛化能力

我们的实验表明,AG-BPE 的优势不仅限于训练语言(法语),还延伸到其他语言,这表明所学习的注意力模式捕获了普遍的语言原则,而非特定语言的特性。

局限性与未来工作

尽管 AG-BPE 展示了有希望的结果,但仍有一些局限性需要未来研究

  • 对注意力模型质量的依赖
  • 在极低资源语言上的评估有限
  • 混合评分函数进一步优化的可能性

结论

我们提出了注意力引导的BPE (AG-BPE),这是一种新颖的分词方法,成功地将语义引导集成到已建立的BPE框架中。我们的全面实验表明,这种方法在适度大小为302MB的数据集上训练,能够生成高效、鲁棒且具有语言洞察力的词汇表,在关键性能指标上与行业标准相当或超越。

AG-BPE 代表了分词方法学的一个重大进步,表明智能的架构设计比暴力的数据扩展更有效。它在性能、可解释性和工程实用性之间取得了令人信服的平衡,为构建更高效和更具语言意识的语言模型提供了清晰的路径。

这项工作的影响超越了分词,触及了关于如何构建更智能、更高效的自然语言处理系统的更广泛问题。通过展示语义感知能够有效地整合到基础的NLP组件中,AG-BPE为可解释和高效语言模型架构的研究开辟了新途径。


致谢

作者感谢 InfiniGPT 团队在分词研究方面的协作,以及 Nepsod 和 Bel Air School 提供的教育支持。

引用

如果您使用此作品,请按以下方式引用:

@misc{charlet_2025_agbpe_v3,
  author       = {Charlet, Théo},
  title        = {AG-BPE: Attention-Guided Byte-Pair Encoding 
                  for Semantic-Aware Tokenization},
  month        = jul,
  year         = 2025,
  doi          = {10.5281/zenodo.15864340},
  url          = {https://doi.org/10.5281/zenodo.15864340}
}

🔗 DOI: 10.5281/zenodo.15864340
🔗 github.com/RDTvlokip

参考文献

  1. Sennrich, R., Haddow, B., & Birch, A. (2016). 使用子词单元的神经机器翻译罕见词。第54届计算语言学协会年会论文集

  2. Kudo, T., & Richardson, J. (2018)。SentencePiece: 一个简单且与语言无关的子词分词器和去分词器,用于神经文本处理。2018年自然语言处理经验方法会议论文集

  3. Clark, J. H., Garrette, D., Turc, I., & Wieting, J. (2021)。CANINE: 预训练高效的无分词编码器用于语言表征。计算语言学协会汇刊

  4. Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019)。语言模型是无监督多任务学习器。OpenAI技术报告

  5. Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2019)。BERT:用于语言理解的深度双向Transformer预训练。2019年北美计算语言学协会章节会议论文集

  6. Xue, L., Barua, A., Constant, N., Al-Rfou, R., Narang, S., Kale, M., ... & Raffel, C. (2022)。ByT5:通过预训练的字节到字节模型迈向无词元化未来。计算语言学协会会刊

  7. Creutz, M., & Lagus, K. (2007)。用于词素切分和形态学习的无监督模型。ACM语音与语言处理学报, 4(1), 1-34。

社区

注册登录 发表评论