开发者生态
evening
GigaToken:语言模型标记化速度提高约 1000 倍
2026-07-22
1 阅读
约9分钟阅读
syrusakbary
字号:
Gigatoken 比 HuggingFace 的标记器快 1000 倍,直接替换。以 GB/s 的速度标记您的文本数据!请注意,HF tokenizer 和 tiktoken 都已经在运行多线程 Rust!什么是千兆通证? Gigatoken 是最快的语言建模标记器。它支持多种 CPU 硬件,以及几乎所有常用的分词器。请参阅基准部分,了解分词器和 CPU 之间的详细吞吐量数据。安装 pip install gigatoken 用法 Gigatoken 可以与其自己的 API 一起使用,也可以与 HuggingFace Tokenizers 或 Tiktoken 兼容模式使用。兼容模式(最简单) import gigatoken as gt # 现有 HuggingFace tokenizers 使用的最小变化(兼容模式) hf_tokenizer = ... tokenizer = gt 。分词器( hf_tokenizer )。 as_hf () # tokenizer 可以在与 hf_tokenizer 相同的上下文中使用 tokens = tokenizer . encode_batch ([ "这是一个测试字符串" , "这是另一个" ]) # 与 tiktoken 或 tiktokenizer = ... tokenizer = gt .分词器(tiktokenizer)。 as_tiktoken () # 现在像现有的 tiktoken tokenizers tokenizers = tokenizer 一样工作。 encode_batch ([ "This is a test string" , "And Here is another" ]) 我们付出了大量的努力来确保输出与在此设置中使用 HuggingFace Tokenizer 得到的结果完全匹配,但这对性能造成了不可忽略的成本。您仍然可以期待全面更快的性能,但不会达到 Gigatoken API 的 1000 倍。 Gigatoken API(最快)导入 gigatoken as gt tokenizer = gt 。 Tokenizer ( "Qwen/Qwen3-8B" ) # 接受 HF 模型名称 file_source = gt . TextFileSource ([ "owt_train.txt" ], 分隔符 = b"<|endoftext|>" ) tokens = tokenizer 。 encode_files ( file_source ) 使用 Gigatoken API 可以让 Rust 实现直接读取数据,并在允许最大并行度的同时跳过尽可能多的开销。请记住,通过此 API 传递 Python 数据结构仍然会产生从 Python 读取数据的开销。基准 owt_train.txt 上的编码吞吐量 (11.9 GB) — AMD EPYC 9565 72 核处理器 x 2 个插槽(144 个核心) Tokenizer gigatoken HF tokenizers tiktoken vs HF vs tiktoken GPT-2 24.53 GB/s 24.8 MB/s 36.0 MB/s 989× 681× Phi-4 24.00 GB/s 29.9 MB/s — 801× — GPT-OSS 23.96 GB/s 49.7 MB/s 42.8 MB/s 482× 560× OLMo 2 / 3 23.06 GB/s 27.7 MB/s — 833× — Nemotron 3 22.79 GB/s 49.4 MB/s — 462× — Qwen 3 22.16 GB/s 34.2 MB/s — 648× — Llama 3 / 3.1 / 3.2 22.15 GB/s 48.5 MB/s — 457× — GLM 5 20.97 GB/s 74.8 MB/s — 280× — Llama 3.3 20.82 GB/s 48.3 MB/s — 431× — Llama 4 20.77 GB/s 72.7 MB/s — 286× — GLM 4 20.61 GB/s 72.3 MB/s — 285× — Phi-4-mini 20.05 GB/s 27.6 MB/s — 726× — DeepSeek V3 / R1 / V4 19.69 GB/s 26.2 MB/s — 750× — Qwen 2 / 2.5 19.12 GB/s 27.7 MB/s — 691× — Kimi K2 18.85 GB/s — — — — Qwen 3.5 / 3.6 15.49 GB/s 27.7 MB/s — 558× — Gemma 4 4.82 GB/s 334.1 MB/s — 14× — ModernBERT 4.18 GB/s 26.9 MB/s — 155× — Mistral 7B v0.3 3.57 GB/s 354.7 MB/s — 10× — TinyLlama / Phi-3 (Llama 2) 3.48 GB/s 323.6 MB/s — 11× — CodeLlama 3.47 GB/s 347.4 MB/s — 10.0× — Gemma 3 3.43 GB/s 357.2 MB/s — 9.6× — Gemma 1 2.51 GB/s 342.2 MB/s — 7.3× — owt_train.txt (11.9 GB) 上的编码吞吐量 — Apple M4 Max (16 Tokenizer gigatoken HF tokenizers tiktoken vs HF vs tiktoken GPT-2 8.79 GB/s 6.9 MB/s 62.8 MB/s 1,268× 140× Nemotron 3 7.82 GB/s 10.9 MB/s — 715× — Phi-4 7.76 GB/s 7.7 MB/s — 1,012× — Llama 3 / 3.1 / 3.2 7.60 GB/s 11.2 MB/s — 676× — OLMo 2 / 3 7.56 GB/s 5.8 MB/s — 1,299× — Llama 3.3 7.50 GB/s 15.7 MB/s — 479× — Phi-4-mini 6.97 GB/s 7.2 MB/s — 964× — Kimi K2 6.88 GB/s — — — — Llama 4 6.81 GB/s 11.6 MB/s — 590× — Qwen 2 / 2.5 6.37 GB/s 5.8 MB/s — 1,105× — Qwen 3 6.36 GB/s 6.9 MB/s — 918× — Qwen 3.5 / 3.6 6.31 GB/s 6.3 MB/s — 994× — GPT-OSS 6.20 GB/s 20.2 MB/s 87.2 MB/s 306× 71× GLM 4 6.17 GB/s 15.8 MB/s — 392× — DeepSeek V3 / R1 / V4 5.68 GB/s 7.2 MB/s — 788×
这篇文章对您有帮助吗?
订阅66必读
每日精选科技资讯,直达你的邮箱