microsoft/MInference

[NeurIPS'24 Spotlight, ICLR'25, ICML'25] To speed up Long-context LLMs' inference, approximate and dynamic sparse calculate the attention, which reduces inference latency by up to 10x for pre-filling on an A100 while maintaining accuracy.

What it solves

MInference 解決了長文本大語言模型(LLMs)在預填充階段的高計算成本和低速度問題。處理百萬級 token 的提示詞通常需要大量時間和記憶體,而 MInference 旨在加速此過程,同時保持模型準確度。

How it works

該專案利用了 LLM 注意力機制是動態稀疏且通常遵循靜態模式的觀察結果。其運作方式如下:

  1. Offline Analysis:在運行時之前,確定每個注意力頭屬於哪種稀疏模式。
  2. Online Approximation:在推理時近似計算稀疏索引。
  3. Custom Kernels:使用優化的自定義內核(kernels)根據這些模式動態計算注意力。

此外,該專案還包括用於視覺語言模型(VLMs)的 MMInference,它使用模態感知排列稀疏注意力(modality-aware permutation sparse attention)來處理視覺輸入中的網格模式和模態邊界。

Who it’s for

開發者和研究人員,特別是處理長文本 LLM(例如 LLaMA-3, Qwen2.5, 和 GLM-4)的人員,需要在 A100 GPU 等硬體上減少預填充延遲和記憶體使用量。

Highlights

  • Significant Speedup:在單個 A100 上,針對 1M 上下文實現了高達 10 倍的預填充加速。
  • Broad Integration:已整合至 Qwen2.5-1M,並受到 vLLM 和 SGLang 等推理引擎的支持。
  • Wide Model Support:相容於各種 LLaMA-style、Phi 和其他開源長文本 LLM。
  • Comprehensive Tooling:包含 SCBench,這是一個以 KV cache 為中心的基準測試,用於評估長文本方法在生成、壓縮、檢索和加載方面的表現。"},