GigaToken:号称比 HuggingFace 快千倍的分词器
一款 Rust 实现的分词库,称在多款 CPU 和主流模型分词器上比 HF tokenizers 快近千倍,并提供 dr…
近日,一款名为 GigaToken 的开源分词器在 Hacker News 发布,号称在多款 CPU 与主流模型分词器上比 HuggingFace Tokenizers 快近千倍,并可作为 tiktoken 的直接替代品。项目用 Rust 编写,可通过 pip 安装,亦提供无需安装即可试用的 CLI 基准工具。
核心特性与兼容性
GigaToken 定位为「当前最快的语言模型分词器」,支持现代 x86 与 ARM 架构 CPU,覆盖几乎所有常见分词器类型。它提供两种使用方式:
- 兼容模式:与 HuggingFace Tokenizers 或 Tiktoken 的接口一致,可直接替换现有调用,迁移成本极低。为保证输出与原版逐字节一致,这一模式需额外校验开销,速度略低于纯 API 模式。
- GigaToken API(最快):由 Rust 层直接读取文件,跳过 Python 数据结构开销,最大化并行度。用户可传入 HuggingFace 模型名(如
Qwen/Qwen3-8B),用encode_files一键完成大文件分词。
作者将性能提升归因于三点:把传统上外包给正则引擎的预分词(pretokenization)改为 SIMD 等底层指令实现;对已见过词汇的预分词映射做高效缓存;尽量减少与 Python 的交互,并降低线程间争用。
基准测试
作者在两块硬件上对 11.9 GB 的 OpenWebText 训练样本(owt_train.txt)做端到端分词吞吐测试,部分结果如下:
- AMD EPYC 9565(72 核 × 2 路,共 144 核):GPT-2 分词达 24.53 GB/s,对比 HF tokenizers 的 24.8 MB/s 快约 989 倍,对比 tiktoken 的 36.0 MB/s 快约 681 倍;同硬件上,处理 GPT-OSS 快约 482 倍,Llama 3/3.1/3.2 快约 457 倍,DeepSeek V3/R1/V4 快约 750 倍。
- Apple M4 Max(16 核):GPT-2 分词达 8.79 GB/s,对 HF tokenizers 快约 1,268 倍,对 tiktoken 快约 140 倍。
其他主流模型在 EPYC 上的提速情况:Phi-4 快 801 倍、OLMo 2/3 快 833 倍、Qwen 3 快 648 倍、GLM 4/5 约 280 倍、Qwen 2/2.5 约 691 倍、Llama 3.3 约 431 倍、Llama 4 约 286 倍。少数基于 SentencePiece 的模型(如 Gemma、Mistral、CodeLlama、TinyLlama、TinyBERT)提速幅度较小,落在 7–155 倍区间。
按 EPYC 的实测速率推算,整套 Common Crawl(约 130 万亿 token)可在不到 6.5 小时内分词完成。
安装与验证
- 安装:
pip install gigatoken - 无需安装试用:
uvx --with tokenizers gigatoken bench <hf_model_repo> owt_train.txt --validate --doc-separator " ",会自动校验输出与原 HF 分词器是否完全一致,并给出速度对比。
作者表示已对多种分词器做较充分测试,但覆盖面仍可能不全。如遇输出不一致或特定用例性能未达预期,可在 GitHub Issue 中反馈以便尽快修复。
