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)のプリフィリング段階における高い計算コストと低速な処理速度を解決します。百万トークン規模のプロンプトの処理には通常、大幅な時間とメモリが必要となりますが、MInferenceはモデルの精度を維持しながら、このプロセスを加速させることを目的としています。

How it works

このプロジェクトは、LLMのアテンションは動的にスパースであり、多くの場合、静的なパターンに従うという観察に基づいています。仕組みは以下の通りです:

  1. Offline Analysis:実行前に、各アテンション・ヘッドがどのスパース・パターンに属するかを決定します。
  2. Online Approximation:推論中にスパース・インデックスを近似計算します。
  3. Custom Kernels:最適化されたカスタム・カーネルを使用して、これらのパターンに基づいて動的にアテンションを計算します。

さらに、このプロジェクトには、視覚言語モデル(VLMs)向けの MMInference も含まれており、モダリティ認識の置換スパース・アテンション(modality-aware permutation sparse attention)を使用して、視覚入力のグリッドパターンやモダリティの境界を処理します。

Who it’s for

LLaMA-3, Qwen2.5, GLM-4 などの長文脈LLMを扱う開発者や研究者で、A100 GPU などのハードウェア上でプリフィリングのレイテンシとメモリ使用量を削減したいと考えている方々です。

Highlights

  • Significant Speedup:単一のA100で、1Mコンテキストにおいて最大10倍のプリフィリング高速化を実現。
  • Broad Integration:Qwen2.5-1Mに統合され、vLLMやSGLangなどの推論エンジンによってサポートされています。
  • Wide Model Support:様々な LLaMA-style, Phi, およびその他のオープンソース長文脈LLMと互換性があります。
  • Comprehensive Tooling:生成、圧縮、検索、およびロードの観点から長文脈手法を評価するための、KV cache中心のベンチマークである SCBench を含んでいます。