GigaToken:把 tokenizer 前處理推到 GB/s 的 Rust / Python drop-in 工具
GigaToken 是 marcelroed/gigatoken 的 Rust tokenizer,主打 HuggingFace / tiktoken compatibility mode 與自家 API,README benchmark 宣稱在 EPYC / M4 Max 上部分 tokenizer 可達 GB/s、遠高於 HF tokenizers / tiktoken。GitHub metadata 顯示 MIT、PyPI 0.9.0、支援 Python >=3.10;但千倍數字依資料型態、硬體、API 模式與 tokenizer 類型差異很大。
2026年7月23日1 分鐘閱讀👁 5
LLM Infra / Tokenization / Rust
GigaToken:把 tokenizer 前處理推到 GB/s 的 Rust / Python drop-in 工具
GigaToken 的訊號很明確:在大規模資料前處理、pretraining corpus、RAG ingestion 或 eval pipeline 裡,tokenization 本身可能從「理所當然的小成本」變成瓶頸。它提供 HuggingFace / tiktoken compatibility mode,也提供更快的自家 API,讓 Rust 直接讀檔、少把 Python data structure 來回搬。
查證結果:
marcelroed/gigatoken 存在,GitHub description 為「Language model tokenization at GB/s」,2026-07-23 查到約 1.3k stars / 48 forks,主要語言 Rust,license metadata 為 MIT;PyPI gigatoken 最新 0.9.0,需要 Python >=3.10,已有 macOS / Linux / Windows wheel。兩種使用方式
compatibility mode 包成 HF / tiktoken 介面,遷移成本低但較慢;GigaToken API 直接用 Rust 讀檔與平行化,速度最高。
README benchmark
在 2× AMD EPYC 9565 上 GPT-2 類 tokenizer 宣稱 24.53 GB/s;Apple M4 Max 上 GPT-2 宣稱 8.79 GB/s。這些是 repo benchmark,不是本文重跑。
真正適用點
資料前處理先爆、token count 大量統計、長文本切分、batch encoding 與 corpus pipeline,比單次聊天 inference 更容易感受到差異。
| 模式 | 優點 | 限制 |
|---|---|---|
| HF / tiktoken compatibility | 最小改 code,輸出對齊既有 tokenizer。 | README 說 compatibility 有非小性能成本,不會達到最高千倍。 |
| GigaToken API | Rust 直接讀檔、避免 Python overhead,最大化 parallelism。 | 要改資料管線;如果仍傳 Python 結構,仍會吃 Python overhead。 |
| 不同 tokenizer | BPE 類常見 LLM tokenizer 速度提升最明顯。 | SentencePiece 類 README 自承較慢,提升幅度可能只有個位數到數十倍。 |
Kate 判斷:如果 Allen 的 pipeline 是「文件抽取 → chunk → embedding/RAG」或 eval 大批資料,先 profile tokenization 是否占比高;若是 LLM serving 的主瓶頸在 GPU decode / prefill,GigaToken 不會神奇解決 inference。