Wenyueh/MinivLLM
Based on Nano-vLLM, a simple replication of vLLM with self-contained paged attention and flash attention implementation
解決的問題
它提供了一個自訂且自包含的 vLLM 風格推論引擎實作。此設計旨在展示並評估不同注意力機制的效率——特別是用於預填入的 Flash Attention 與用於解碼的 Paged Attention——與標準 PyTorch 實作相比的表現。
工作原理
該專案實作了完整的 LLM 推論流程,包含排程器、KV 快取的區塊管理,以及執行預填入與解碼階段的執行器。它使用自訂引擎,將批次提示透過模型(例如 Qwen3 的小型版本)進行處理。為了優化記憶體使用與速度,它在預填入階段整合了基於 Triton 的 Flash Attention 核心,在解碼階段則使用專用的 Triton 核心實現 Paged Attention。
適用對象
對 LLM 推論引擎內部機制感興趣的開發者與研究人員,特別是那些希望從零開始理解記憶體高效注意力與 KV 快取管理實作的人。
主要特色
- 自包含的注意力機制:內建 Paged Attention 與 Flash Attention 的自行實作。
- 效能基準測試:提供專用指令碼,用於比較預填入(Flash Attention 對 PyTorch)與解碼(Triton 核心對 PyTorch)的表現。
- 完整流程:實作了整個引擎邏輯,包含序列定義、區塊管理與基於迭代的排程。
- 多 GPU 支援:透過調整設定中的 world size,支援多 GPU 組態。
相關
- 專案
- Dispatch
- 專案
- 專案
- Dispatch