AI 推論系統
FlashPrefill V2 將區塊稀疏注意力接入 SGLang,128K 預填 TTFT 最多降低 4.8 倍
騰訊微信與中科院團隊重寫 Hopper 稀疏注意力核心,加入 FP8、分頁 KV cache、連續批次及被裁剪區塊的均值補償。H20 測試的算子加速最高達 47.26 倍,但端到端收益較小,且目前整合依賴專案內附的 SGLang 分支。

FlashPrefill V2 把原本偏向演算法驗證的 FlashPrefill,改造成可放進長上下文服務堆疊的預填注意力後端。系統先以區塊級近似分數選出重要 K/V 區域,再只對這些區塊執行精確注意力;未選區塊不直接歸零,而以其 K/V 均值在 online softmax 內加入零階補償,降低高稀疏率造成的輸出偏差。索引階段會一次產生 CSR 稀疏索引與補償統計,避免 Top-k 排序。
核心以 CUDA/CuTe 為 Hopper SM90 重寫,採 PackGQA 記憶體配置、warp 專職化、producer-consumer ping-pong pipeline,並支援 BF16 與 FP8。與許多只接受連續 K/V 的研究核心不同,它可讀取 paged KV cache、處理可變長度請求及 continuous batching;團隊亦在 SGLang 0.5.10 分支加入獨立的 prefill backend,解碼仍可走 FA3。
在四張 NVIDIA H20、batch size 4、128K 上下文的算子測試中,FP8 與 BF16 相對 FlashAttention-2 分別最高加速 47.26 倍與 27.19 倍;即使改以較強的 FA3/4 對齊密集核心比較,仍為 30.49 倍與 17.54 倍。端到端結果較務實:論文報告 128K 的 time-to-first-token 最多改善 4.8 倍。開放迴圈測試亦顯示,縮短長預填可減少其阻塞其他請求解碼的時間。
工程團隊仍不應把算子倍率直接當成服務倍率。4K、BF16 的稀疏度約僅三成,效能大致與密集核心持平;chunked prefill 會重跑索引並提高有效密度,使增益收窄。公開實作只支援 H20/H100 類 SM90 GPU,SGLang 支援是內附完整來源樹而非上游正式後端。下一步應觀察上游整合、不同 Hopper 型號的重現結果,以及長上下文品質在更多模型與實際流量下是否穩定。