BlockBPE:并行 BPE 分词
计算与语言
2025-07-17 v1 分布式、并行与集群计算
摘要
分词是大型语言模型管道中的关键预处理步骤,但广泛使用的实现方式仍受 CPU 限制且对 GPU 上的批量推理工作负载不够优化。我们提出 BlockBPE,这是一种基于 GPU 的字节配对编码 (BPE) 并行实现,实现近线性时间复杂度,针对高吞吐量、批量推理进行优化。与现有以 Rust 为主的分词器(如 HuggingFace Tokenizers 或 OpenAI 的 tiktoken)不同,后者的运行时主要受 Regex 前置分词主导,具有 O(n log n) 的运行时复杂度;BlockBPE 消除 Regex 前置分词虽会带来轻微的生成质量损失,但使 token 合并在线程块内高度并行,总体复杂度降低至 O(nd),其中 d << n。在高批量推理工作负载下,BlockBPE 比 tiktoken 高出约 2 倍,比 HuggingFace Tokenizers 高出约 2.5 倍。
引用
@article{arxiv.2507.11941,
title = {BlockBPE: Parallel BPE Tokenization},
author = {Amos You},
journal= {arXiv preprint arXiv:2507.11941},
year = {2025}
}
备注
ES-FoMo III: 3rd Workshop on Efficient Systems for Foundation Models (ICML 2025)