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 注意力机制是动态稀疏且通常遵循静态模式的观察结果。其工作原理如下:
- Offline Analysis:在运行时之前,确定每个注意力头属于哪种稀疏模式。
- Online Approximation:在推理过程中近似计算稀疏索引。
- 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 为中心的基准测试,用于评估长文本方法在生成、压缩、检索和加载方面的表现。