透過CPU最大化令牌化減少TTFT
Crusoe與NVIDIA Dynamo合作開發了fastokens,一個開源的Rust BPE分詞器,平均速度比HuggingFace分詞器快9.1倍,在長上下文工作負載中TTFT最多降低40%。
文章情報
要點
- fastokens實現了9.1倍的平均速度提升,長提示場景下最高可達31倍。
- 針對CPU進行了極致最佳化,包括並行預分詞、兩級快取和動態記憶體管理。
- 開源且相容NVIDIA Dynamo和SGLang,支援多種主流模型。
- 在GB200 NVL72系統上,100K令牌的延遲從149-165ms降至6-13ms,降幅超過92%。
為什麼重要
這條新聞值得關注,因為fastokens實現了9.1倍的平均速度提升,長提示場景下最高可達31倍。
技術影響
可能影響模型選型、推理成本、產品能力和評測基準。
在基於代理的大語言模型推斷中,分詞是一個常被忽視的瓶頸。隨著提示文本的增大(如來自工具呼叫、檢索程式碼或檔案、執行結果、對話歷史和中間推理的累積上下文),分詞時間佔到了首次令牌生成時間(TTFT)的顯著比例。Crusoe與NVIDIA Dynamo團隊合作,開發了fastokens——一個基於高效能Rust引擎的即插即用BPE分詞器。
fastokens透過在多個層面上的最佳化實現了顯著加速。其核心最佳化包括CPUMaxxing:將預分詞階段分解為並行的許可權區域,每個執行緒獨立處理重疊邊界,避免了順序掃描。在BPE編碼階段,使用專用執行緒池並行處理,並採用兩級快取(執行緒本地L1和全域性L2)來減少同步開銷。第二個最佳化是動態記憶體管理:透過預分配緩衝區和範圍引用,將大量分配替換為單一記憶體塊,並預計算位元組到Unicode的對映表以避免執行時轉換。第三個最佳化是正規表示式:優先使用PCRE2的JIT編譯路徑,每個執行緒獨立擁有預編譯的正規表示式副本,消除鎖競爭。
在基準測試中,fastokens在四個模型(DeepSeek-V3.2、MiniMax-M2.1、Mistral-Nemo和GPT-OSS-120B)、兩個資料集(LongBench和ShareGPT)、三種CPU架構和輸入長度從512到100K令牌上,平均速度比HuggingFace分詞器提升9.1倍。對於超過50K令牌的提示(代理工作負載的典型情況),純分詞速度提升平均達17.4倍,峰值31倍,在真實推斷工作負載中實現了高達40%的端到端TTFT改進。
在GB200 NVL72系統(NVIDIA Grace CPU)上,100K令牌的延遲從HuggingFace基線的149-165ms降至fastokens的6-13ms,降低超過92%。即使是在16K令牌時,延遲也從25-27ms降至2-3ms。不同CPU架構下的加速效果有所差異,Grace CPU上平均加速9.3-12.6倍,Xeon 8568Y上為6.8-10.0倍,Xeon 8468V上為6.6-9.3倍。
fastokens已開源,並與NVIDIA Dynamo和SGLang整合,支援包括NVIDIA Nemotron、DeepSeek、Qwen、GLM、MiniMax和Mistral在內的多種流行模型。這項工作的結果表明,透過針對CPU的深度最佳化,可以顯著降低LLM推斷中的分詞瓶頸,從而改善使用者體驗。