AG-BPE:探索分词的新方向
Théo (又名 RDTvlokip)
🔗 github.com/RDTvlokip
Hugging Face上的再版
2025年6月28日
原始出版
🔗 Zenodo: 10.5281/zenodo.15763451
摘要
标准的子词分词方法,如字节对编码(BPE),是现代大型语言模型的基础,但它们纯粹基于统计频率运行,忽略了所创建词元的语义连贯性。这可能导致次优分割,即分割有意义的形态单位。我们引入了注意力引导的BPE(AG-BPE),这是一种通过结合语义感知引导机制来增强BPE算法的新方法。AG-BPE的合并决策不再仅仅依赖于频率,而是由结合了共现统计和来自轻量级Transformer编码器的上下文注意力得分的混合得分来指导。这个过程有利于创建不仅频繁而且语义连贯的词元。通过与GPT-2、BERT和T5等标准分词器进行一系列基准测试,我们证明了AG-BPE尽管使用了更紧凑的词汇表,但仍实现了卓越的词汇效率和完美的重建保真度。定性分析进一步揭示了其识别和保留基本形态单位的独特能力,为创建更具可解释性和组合效率的词汇表提供了有前景的方向。
引言
大型语言模型(LLMs)的性能关键取决于初始分词阶段,该阶段将原始文本分割成子词单元序列。主导方法字节对编码(BPE)及其变体(如WordPiece和SentencePiece)通过迭代合并最频繁的词元对来构建词汇表。虽然计算效率高且对文本压缩有效,但这种纯粹的统计方法是“语义盲”的。它缺乏对语言结构的任何理解,通常导致分割碎片化有意义的词素(例如,将“intelligently”分割成intelligent
和ly
,而不是intellig-
和-ent-ly
)。
这一限制促成了两个主要研究方向:无分词模型,如CANINE,它直接操作字符或字节,但会产生显著的计算开销;以及复杂的端到端分割模型,如X-Spanformer,它完全用学习到的跨度预测器取代了BPE。
在这项工作中,我们提出了第三种方式:一种优雅的折衷方案,它保留了BPE的效率和鲁棒性,同时注入了语义智能。我们引入了注意力引导BPE(AG-BPE),这是一种增强经典BPE算法的方法。我们的关键贡献是用于合并决策的混合评分机制,
MergeScore(p) = Freq(p) + λ · AttentionScore(p)
其中一对p的得分是其频率Freq(p)
和从轻量级Transformer编码器获得的上下文AttentionScore(p)
的函数。这种引导系统鼓励模型合并不仅在统计上常见而且形成连贯语义单元的词对。
我们的贡献包括:
- 一种将上下文注意力整合到BPE合并过程中的新型AG-BPE算法。
- 针对行业标准分词器的全面基准测试,评估压缩、鲁棒性和词汇效率等指标。
- 定性和定量证据表明,AG-BPE生成了更具形态粒度和效率的词汇表,并确保了完美的重建保真度。
相关工作
标准子词分词:BPE算法最初是为数据压缩而提出的,后来被应用于机器翻译。它的成功促使其被GPT-2和BERT等基础模型采用,BERT使用了其变体WordPiece。SentencePiece通过将文本视为原始流,进一步改进了这一点,实现了与语言无关的分词。虽然这些方法是现代自然语言处理的基石,但它们对频率统计的依赖是其主要限制。
无分词模型和基于跨度的模型:为了克服固定词汇表的局限性,研究人员探索了“无分词”模型。CANINE直接操作Unicode字符,而ByT5处理原始字节。最近的工作,例如所提出的X-Spanformer,完全放弃了BPE合并过程,转而使用指针网络直接预测文本中有意义的“跨度”边界。这些方法提供了更大的灵活性,但通常以增加架构复杂性和计算需求为代价。我们的工作AG-BPE通过选择增强经过验证的BPE框架而不是替换它而有所不同。
注意力引导BPE (AG-BPE)
我们的方法通过引入一种引导机制来增强标准BPE算法。核心过程仍然是迭代合并,但“最佳”合并对的选择不再仅基于频率。
上下文分析器
我们方法的核心是一个轻量级的基于Transformer的编码器,我们称之为ContextAnalyzer
。该模型接收文本序列作为输入,并为每个字符计算上下文嵌入。该模型中的自注意力得分捕获了上下文中字符之间学习到的关系。两个相邻字符之间的高注意力得分表明模型已经学习到它们形成了强大的语义或句法联系。
我们实验中使用的架构包括
- 3个Transformer层,每层8个注意力头
- 隐藏维度为512
- 上下文窗口为256个词元
混合合并评分
在BPE训练循环期间(例如,每500次合并),我们定期将大量训练语料库样本通过ContextAnalyzer
进行处理。我们聚合语料库中所有相邻字符对的注意力得分。这为每个潜在合并提供了一个全局AttentionScore
。
确定下一个合并操作的最终得分是配对频率和其聚合注意力得分的加权和。这种混合得分确保了在优先考虑频繁配对的同时,被ContextAnalyzer
识别为语义连贯的配对会获得显著提升,从而使其能够更早、更可靠地合并。
训练与实现
AG-BPE 分词器像标准 BPE 分词器一样,作为预处理步骤一次性训练。由于 ContextAnalyzer
的定期推理通过,该过程计算强度更高,需要 GPU 加速。然而,一旦训练完成,生成的分词器速度与标准分词器一样快,因为它依赖于一个简单的合并查找表。我们的实现使用优化的 merge_ranks
缓存以实现高效编码。
我们对 10MB 语料库的训练过程在单个 NVIDIA GeForce GTX 1080 Ti GPU 上耗时约 2 小时。
实验与结果
我们进行了一系列基准测试,以评估AG-BPE与几种行业标准分词器的表现。
实验设置
- 我们的模型(AG-BPE):在多样化的10MB语料库上训练,目标词汇量为16,000个。最终词汇量收敛到16,000个词元。
- 基线:来自Hugging Face库的GPT-2、BERT(bert-base-uncased)和T5(t5-base)分词器。
- 测试语料库:一个1.5MB的文本文件,由文学和信息内容组成,与训练语料库不同。
- 指标:我们评估词汇量大小、压缩比、平均词元长度、词汇效率,以及在困难的多语言文本样本上的鲁棒性。
定量分析
定量结果突显了我们 AG-BPE 分词器的独特特性:
分词器 | 词汇量 | 压缩率 | 平均词元长度 | 词汇效率 | 难文本 OOV (词汇外) |
---|---|---|---|---|---|
智能 (AG-BPE) | 16,000 | 2.58倍 | 2.23 ± 2.60 | 1.61 | 2 |
GPT-2 | 50,257 | 2.91倍 | 2.65 ± 1.74 | 0.58 | 0 |
BERT-base-uncased | 30,522 | 3.26倍 | 3.63 ± 2.00 | 1.07 | 1 |
T5-base | 32,100 | 3.60倍 | 3.61 ± 3.12 | 1.12 | 3 |
虽然 AG-BPE 的压缩率在数值上较低,这是其更细粒度、形态分割的预期结果,其更低的平均词元长度也证实了这一点。关键结果是其词汇效率得分为 1.61,优于 T5-base(1.12)、BERT(1.07)和 GPT-2(0.58),同时使用的数据量显着较小,仅用 10MB 数据进行训练。这表明 AG-BPE 更有效地利用了其紧凑的词汇表。此外,其鲁棒性与基线相当,在具有挑战性的多语言文本样本上仅有 2 个词汇外词元。
定性分析
定性分析最清晰地揭示了AG-BPE的独特行为。我们对句子“The tokenizer intelligently segments compound words like 'neuroscience'.”进行了分词。
分词器 | 分词 |
---|---|
智能 (AG-BPE) | The | | to | ken | iz | er | | intellig | ent | ly | | seg | ments | | comp | ound | | w | or | ds | | li | ke | | ' | neur | os | cience | ' | . |
GPT-2 | The | Ġtoken | izer | Ġintellig | ently | Ġsegments | Ġcompound | Ġwords | Ġlike | Ġ' | ne | uro | science | '. |
BERT-base-uncased | [CLS] | the | token | ##izer | intelligent | ##ly | segments | compound | words | like | ' | neuroscience | ' | . | [SEP] |
T5-base | The | token | izer | intelligent | ly | segments | compound | words | like | | ' | n | eur | o | science | ' | . | |
AG-BPE独特地将单词分解为其组成词素(例如,to-ken-iz-er
、intellig-ent-ly
、neur-o-science
)。这与基线分词器形成对比,基线分词器倾向于保留整个单词或使用不太可解释的子词单元(例如,BERT的##izer
)。这种形态粒度表明,AG-BPE可以为下游模型提供更具组合性的输入表示,从而可能提高它们对新词或复杂词的泛化能力。
讨论
优势
- 形态意识: AG-BPE 自然地识别并保留形态边界,从而实现更具可解释性的分词。
- 词汇效率: 实现了最先进的效率,与标准模型相比,更有效地利用了紧凑的词汇表。
- 完美重建: 保持无损文本重建,这是其他分词器经常妥协的关键特性。
- 即插即用: 无需对下游模型进行架构更改即可替换现有的 BPE 分词器。
局限性
- 训练需求: 与纯统计方法相比,需要 GPU 资源和更长的初始训练时间(我们 10MB 语料库大约 2 小时)。
- 超参数敏感性: 混合评分中的 λ 权重需要仔细调整以获得最佳性能。
未来工作
未来的研究方向包括:
- 评估 AG-BPE 分词对机器翻译和摘要生成等下游任务的影响。
- 开发具有共享上下文分析器的多语言 AG-BPE 模型。
- 探索提炼
ContextAnalyzer
知识以加速训练的方法。
结论
我们提出了注意力引导字节对编码(AG-BPE),这是一种利用基于Transformer的上下文模型语义引导来增强标准BPE算法的新方法。我们的实验表明,这种方法创建的词汇表不仅健壮,而且在质量上有所不同,效率显著提高,有利于形态上有意义的子词单元。
AG-BPE 在纯统计分词器和复杂无分词模型之间提供了一个引人注目的中间地带。通过增强而非取代经过验证的 BPE 框架,它在性能、可解释性和工程实用性之间取得了独特的平衡。我们的实验中展示的卓越词汇效率和形态意识表明,AG-BPE 可以作为未来语言模型的宝贵基础,特别是在可解释性、组合理解和内存效率至关重要的场景中。
引用
如果您使用此工作,请引用原始出版物
@misc{charlet_2025_agbpe_v1,
author = {Charlet, Théo},
title = {AG-BPE: Exploring a New Direction in Tokenization},
month = jun,
year = 2025,
doi = {10.5281/zenodo.15763451},
url = {https://doi.org/10.5281/zenodo.15763451}
}
🔗 原始出版物 DOI: 10.5281/zenodo.15763451
🔗 github.com/RDTvlokip
参考文献
Sennrich, R., Haddow, B., & Birch, A. (2016). 使用子词单元对稀有词进行神经机器翻译。计算语言学协会第54届年会(ACL)会议论文集。
Kudo, T., & Richardson, J. (2018). SentencePiece: 一种简单且与语言无关的神经文本处理子词分词器和反分词器。2018年自然语言处理经验方法会议(EMNLP)会议论文集。
Schuster, M., & Nakajima, K. (2012). 日语和韩语语音搜索。2012年IEEE声学、语音和信号处理国际会议(ICASSP)。
Clark, J. H., Garrette, D., Turc, I., & Wieting, J. (2021). CANINE: 预训练高效的无分词编码器用于语言表示。计算语言学协会汇刊(TACL),9,73-90。
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年北美计算语言学协会分会会议(NAACL)会议论文集。
Xue, L., Barua, A., Constant, N., Al-Rfou, R., Narang, S., Kale, M., Adams, A., Constant, N., & Roberts, A. (2022). ByT5: 面向无词元未来的预训练字节到字节模型。计算语言学协会汇刊(TACL),10,291-306。