Açık KaynakAraştırma 🇺🇸 24.07.2026 01:03

Gigatoken: BPE Tokenizer in Rust Encodes Text at 24.53 GB/s, Up to 989x Faster Than HuggingFace Tokenizers

OpenAIOpenAI Hugging FaceHugging Face Google/DeepMindGoogle/DeepMind MetaMeta Alibaba/QwenAlibaba/Qwen DeepSeekDeepSeek Moonshot AIMoonshot AI NVIDIANVIDIA MicrosoftMicrosoft Allen Institute for AIAllen Institute for AI Answer.AIAnswer.AI MistralMistral
Stanford PhD student Marcel Roed released Gigatoken, a BPE tokenizer in Rust with Python bindings, achieving speeds of up to 24.53 GB/s on a 144-core AMD EPYC, 989x faster than HuggingFace Tokenizers and 681x faster than tiktoken. The speedup comes from a handwritten SWAR pre-tokenizer and pre-token caching.
Gigatoken, Rust ile yazılmış ve Python bağlamalarına sahip, BPE (byte-pair encoding) yöntemiyle tokenizasyon yapan bir kütüphanedir. Stanford yüksek lisans öğrencisi Marcel Rød tarafından MIT lisansı altında yayımlanmıştır. Sürüm 0.9.0, PyPI üzerinden (pip install gigatoken) edinilebilir. GPT-2 üzerinde iki adet 144 çekirdekli AMD EPYC 9565 işlemcili bir sistemde yapılan kıyaslamalarda Gigatoken, verileri 24,53 GB/s hızında işlemiştir. Karşılaştırma için: OpenAI tiktoken 36,0 MB/s, HuggingFace tokenizers ise 24,8 MB/s hıza ulaşmaktadır; yani Gigatoken sırasıyla 681 ve 989 kat daha hızlıdır. Apple M4 Max'te (16 çekirdek) hız 8,79 GB/s (HuggingFace'ten 1268 kat, tiktoken'den 140 kat daha hızlı), AMD Ryzen 7 9800X3D'de ise 6,27 GB/s (sırasıyla 106 ve 68 kat) olarak ölçülmüştür. Hızlanma, daha hızlı bir BPE birleştirme döngüsünden değil, SWAR (SIMD Within A Register - Kayıt İçinde SIMD) tekniğini kullanan elde yazılmış bir ön-tokenizatör ve ön-token önbelleğe alma sayesinde elde edilmiştir. Başlangıçta regex tabanlı ön-tokenizatör ~47 MB/s hızında çalışırken, optimizasyonlar (elle yazılmış sonlu durum makinesi, SWAR, ILP ile çift imleç) sonrasında hız 1049 MB/s'ye yükselmiş, yani 22,3 kat hızlanma sağlanmıştır. Desteklenen tokenizatör aileleri: GPT-2, GPT-OSS, Llama 3/4, Qwen 2-3.6, DeepSeek V3/R1/V4, GLM 4/5, Kimi K2, Nemotron 3, Phi-4, OLMo 2/3, ModernBERT, Gemma ve Mistral olmak üzere 23 adettir. İki mod bulunur: uyumluluk modu (HuggingFace/tiktoken çıktısıyla tam eşdeğerliği korur ancak yalnızca 200-300 kat hızlanma sağlar) ve yerel mod (maksimum hız). SentencePiece tokenizatörleri 7-22 kat hızlanırken, WordPiece desteklenmemektedir. KrabArena'da (4 vCPU Intel Xeon) yapılan bağımsız bir test, tiktoken'e kıyasla 26,2 kat, tokenizers'a kıyasla 83,4 kat hızlanma göstermiştir.
Kaynak: MarkTechPost — orijinal
Bu konudaki önceki yazılarımız ↓
Güncel haberler