7.0
热点
AI SCORE
开源项目2025-06-30 20:33
TokenDagger:性能超越 Tiktoken 的分词工具
Hacker News · github.com#开源#性能
Editor brief · 编辑速览
开源高性能 tokenizer,明显优于 OpenAI Tiktoken。对降低 LLM 应用成本、优化 token 计算的开发者很实用。
开源高性能 tokenizer,明显优于 OpenAI Tiktoken。对降低 LLM 应用成本、优化 token 计算的开发者很实用。
一个快速、可直接替换 OpenAI TikToken 的实现,专为大规模文本处理而设计。吞吐量提升至 2 倍,代码样本的 tokenization 速度提升至 4 倍。
测试在 AMD EPYC 4584PX(16 核/32 线程、4.2 GHz、64GB 内存)上进行。Hugging Face 的 batch tokenizer 比 Tiktoken 和 TokenDagger 占用了更多内存。由于 OOM,它所能处理的最大输入大小为 256MB。
benchmark 基于 meta-llama/Llama-4-Scout-17B-16E-Instruct 进行。测试也支持 mistralai/Ministral-8B-Instruct-2410,只需使用参数 --tokenizer mistral。
快速 Regex 解析:采用经过优化的 PCRE2 regex engine,高效匹配 token pattern。
直接替换:与 OpenAI 的 TikToken tokenizer 完全兼容。
简化 BPE:通过简化算法,降低庞大的 special token vocabulary 对性能的影响。
make clean && make
pip3 install tiktoken
python3 tests/test_tokendagger_vs_tiktoken.py --tokenizer llama
python3 tests/test_tokendagger_vs_tiktoken.py --tokenizer mistral
python3 tests/performance_benchmark.py --tokenizer llama
python3 tests/performance_benchmark.py --tokenizer mistral
python3 tests/code_performance_benchmark.py --tokenizer llama
================================================================================
🎉 CONCLUSION: TokenDagger is 4.02x faster on code tokenization!
================================================================================
pip install tokendagger
然后替换 Tiktoken:
# import tiktoken --- Remove this line!
import tokendagger as tiktoken
...
tokenizer = tiktoken.Encoding(
name=name,
pat_str=pattern,
mergeable_ranks=vocab,
special_tokens=special_tokens,
)
git clone git@github.com:M4THYOU/TokenDagger.git
sudo apt install libpcre2-dev
git submodule update --init --recursive
sudo apt update && sudo apt install -y python3-dev
如需运行测试,还可以安装:
pip3 install tiktoken
PCRE2:Perl Compatible Regular Expressions(Perl 兼容正则表达式)— GitHub