斯坦福開源 Tokasaurus:專注高吞吐推理,效能超 vLLM 達 3 倍
斯坦福團隊開源大模型推理引擎 Tokasaurus,專為合成數據生成與批次任務等高吞吐場景設計。它通過極低 CPU 開銷與動態字首複用最佳化小模型,並針對無 NVLink 顯示卡最佳化流水線並行,吞吐量比 vLLM 和 SGLang 最高提升超 3 倍。

Tokasaurus 是斯坦福大學團隊開源的大模型推理引擎,專為合成數據生成、強化學習取樣和大規模離線批處理這類高吞吐任務打造。
它能做什麼
當你的需求不是即時對話,而是要批次掃描整個程式碼庫、給一道題取樣生成上千個解答時,單個請求的響應延遲就不那麼重要了,單位時間內能跑完多少 token 才是關鍵。
Tokasaurus 就是奔著壓榨吞吐量極限去的。在 ShareGPT 對話基準以及需要大量複用字首的 Large Language Monkeys 數學推理測試中,它的吞吐表現全面超越了主流的 vLLM 和 SGLang,在多分支取樣任務中速度甚至達到了同類引擎的 2 倍以上。
面對大模型的多卡部署,它在 8 張沒有 NVLink 互聯的 L40S 顯示卡上跑 Llama-3.1-70B 時,吞吐量比 vLLM 和 SGLang 的流水線並行實現高出 3 倍以上。
核心機制與上手規格
能跑出這個速度,主要靠三項針對性最佳化。
第一是榨乾 CPU 潛力。傳統引擎由 CPU 負責排程和輸入處理,一旦 CPU 稍有卡頓,GPU 就會閒置。Tokasaurus 做了一個自適應管理器,發現輸入佇列快見底時,會主動跳過檢測停止詞等非必要環節,優先保證 GPU 永遠有活幹。
第二是動態複用共享字首。針對多次取樣同一提示詞或分析同一篇長文件的場景,它在每次模型計算前通過貪心搜尋找出最長公共字首,配合 Hydragen 機制把注意力計算量降到最低。
第三是兼顧不同顯示卡配置。對沒有 NVLink 的實惠型顯示卡,它重寫了高效的流水線並行;對配備 NVLink 的高階顯示卡,它藉助 PyTorch 的非同步張量並行,並在批次超過 6000 token 時自動切換,把通訊耗時藏進計算過程裡。
目前 Tokasaurus 支援單節點內的 Llama-3 和 Qwen-2 系列模型,允許資料並行、張量並行與流水線並行任意組合。專案採用純 Python 編寫,底層呼叫 FlashInfer 運算元,程式碼已在 GitHub 開源,也可以直接通過 pip install tokasaurus 安裝。
為什麼重要
如果你正在搭建強化學習訓練管線,或者需要批次生成合成資料,Tokasaurus 值得立刻在測試集群裡跑一跑。它不是用來替換低延遲對話服務的,但在需要拼命榨取單機吞吐的批處理場景中,它能直接幫你省下真金白銀的算力賬單。
我們認為它最亮眼的地方,是認真把沒有高速互聯的顯示卡當成一等公民來最佳化。很多團隊手裡沒有成套的頂級算力,跑多卡大模型經常被通訊瓶頸卡死,Tokasaurus 證明了只要流水線排程做得足夠精細,平民卡照樣能把吞吐量頂上去。不過它目前適配的模型種類還很少,生態豐富度無法和成熟的 vLLM 相比,更適合目標明確的專項任務。
來源 (1)
- scalingintelligence.stanford.edu(在新分頁開啟)原文scalingintelligence.stanford.edu