AG-BPE:注意力引导的字节对编码,用于语义感知分词
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 的法语原生数据集上进行训练,这表明无需依赖海量数据也能构建复杂的词汇表。训练过程包括:
- 使用字符级分词进行初始词汇表构建
- 使用混合评分机制进行迭代合并候选评估
- 计算每个合并候选的注意力得分
- 通过多个训练周期进行词汇表优化
实验和结果
实验设置
我们进行了全面的实验来评估 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
参考文献
Sennrich, R., Haddow, B., & Birch, A. (2016). 使用子词单元的神经机器翻译罕见词。第54届计算语言学协会年会论文集。
Kudo, T., & Richardson, J. (2018)。SentencePiece: 一个简单且与语言无关的子词分词器和去分词器,用于神经文本处理。2018年自然语言处理经验方法会议论文集。
Clark, J. H., Garrette, D., Turc, I., & Wieting, J. (2021)。CANINE: 预训练高效的无分词编码器用于语言表征。计算语言学协会汇刊。
Radford, A., Wu, J., Child, R., Luan, D., Amodei, D., & Sutskever, I. (2019)。语言模型是无监督多任务学习器。OpenAI技术报告。
Devlin, J., Chang, M. W., Lee, K., & Toutanova, K. (2019)。BERT:用于语言理解的深度双向Transformer预训练。2019年北美计算语言学协会章节会议论文集。
Xue, L., Barua, A., Constant, N., Al-Rfou, R., Narang, S., Kale, M., ... & Raffel, C. (2022)。ByT5:通过预训练的字节到字节模型迈向无词元化未来。计算语言学协会会刊。
Creutz, M., & Lagus, K. (2007)。用于词素切分和形态学习的无监督模型。ACM语音与语言处理学报, 4(1), 1-34。