Perplexity AI ने github.com/perplexityai/pplx-garden पर MIT लाइसेंस के तहत एक Rust Unigram tokenizer ओपन-सोर्स किया, जिसमें HuggingFace tokenizers crate के मुकाबले 5.5× p50 latency कमी रिपोर्ट की गई। 514 tokens (512 + BOS/EOS) पर ठोस संख्याएँ: HuggingFace 349µs बनाम Perplexity 63µs। 16K tokens पर, संदर्भ कार्यान्वयन 299,171 आवंटन करता है; Perplexity संस्करण शून्य करता है। उत्पादन दावा rerankers पर 5-6× CPU उपयोग कमी है जो प्रति request सैकड़ों उम्मीदवार दस्तावेजों को स्कोर करते हैं, जहाँ GPU compute single-digit मिलीसेकंड में समाप्त होता है और tokenization बाधा बन जाता है।
इंजीनियरिंग पैटर्न speedup के नीचे का सार है। HashMap-आधारित trie ट्रैवर्सल को डबल-ऐरे trie (Aoe, 1989) से बदल दिया जाता है, जो trie को cache-friendly indexing के लिए दो सन्निहित पूर्णांक arrays में पैक करता है। अमान्य उपसर्ग पथों को जल्दी छोड़ने के लिए bitmap-आधारित byte validation जोड़ें, और trie को TLB-thrashing क्षेत्र से बाहर रखने के लिए 2MB huge-page backing। Unigram tokenization स्वयं प्रत्येक शब्दावली टोकन के सीखे गए log-probabilities पर most-probable-path Viterbi चलाता है — BPE के पुनरावृत्तीय merge से अलग — इसलिए trie पैटर्न Unigram के साथ स्वाभाविक रूप से फिट होता है। लागत मेमोरी है: trie ~9MB से ~50MB तक बढ़ता है। कोई गुणवत्ता regression रिपोर्ट नहीं; आउटपुट संदर्भ के against token-exact है।
reranker या embedding stacks चलाने वाले बिल्डर्स के लिए इकोसिस्टम रीडिंग: tokenization CPU-bound पथों में एक मापने योग्य बाधा है और अधिकांश टीमों ने इसे instrument नहीं किया है। यदि आपका reranker प्रति query 200 उम्मीदवार दस्तावेजों के लिए fan out करता है, tokenization प्रति request 200× चलता है — कुछ सौ माइक्रोसेकंड दसियों मिलीसेकंड बन जाते हैं, जो GPU-सर्व्ड इन्फरेंस पर मॉडल के समान क्रम का है। संकीर्ण चेतावनी: Perplexity का tokenizer XLM-RoBERTa के 250K-token SentencePiece Unigram शब्दावली को लक्षित करता है, इसलिए यह Unigram-शब्दावली उपयोगकर्ताओं (अधिकांश rerankers और कई बहुभाषी embedders) को लाभान्वित करता है लेकिन BPE-tokenized stacks (अधिकांश वर्तमान फ्रंटियर LLMs) की मदद नहीं करता। बड़ा सबक — Rust + डबल-ऐरे trie + huge-page backing + शून्य-आवंटन पथ — किसी भी tokenizer हॉट पथ के लिए portable है, और यदि आपका CPU बजट तंग है तो शायद BPE tokenizers के लिए दोहराने योग्य है।
यदि आप सोमवार सुबह reranker या embedding इन्फरेंस चलाते हैं: इन्फरेंस wall-clock के against tokenizer wall-clock को instrument करें; यदि tokenization बाद वाले के 20% से अधिक है, यह मायने रखता है। यदि आप विशेष रूप से Unigram-शब्दावली मॉडल का उपयोग करते हैं: pplx-garden HuggingFace crate को बदलने के लिए drop-in उम्मीदवार है। 50MB का मेमोरी लागत बजट करने का tradeoff है।
