通過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推斷中的分詞瓶頸,從而改善用户體驗。