微软公司和 萨里大学的研究人员推出新技术MInference(Million-tokens Inference),它旨在加速大语言模型的预填充(pre-filling)阶段,特别是在处理长文本时。预填充阶段是LLMs生成文本前的一个重要步骤,但当文本长度增加时,这一阶段的计算成本会变得非常高。
- 项目主页:https://hqjiang.com/minference.html
- GitHub:https://github.com/microsoft/MInference
- Demo:https://huggingface.co/spaces/microsoft/MInference
例如,你有一个超级聪明的AI助手,它可以帮你写文章、解决问题,但前提是它需要时间来“思考”和“准备”。这个准备过程就像是大语言模型的预填充阶段。然而,如果AI要处理的内容特别长,比如一整本书,它准备的时间就会变得非常长,这会让人们等待很久才能得到答案。MInference技术就是为了解决这个问题,让AI在处理长文本时能更快地准备好。
主要功能
- 加速长文本的预填充阶段。
- 保持生成文本的准确性和效率。
主要特点
- 动态稀疏注意力:MInference通过识别和利用长文本注意力矩阵中的特定模式(如A-shape、Vertical-Slash和Block-Sparse),来减少计算量。
- 无需修改预训练设置:这项技术可以直接应用于现有的LLMs,无需对模型的预训练或微调进行任何修改。
工作原理
- 模式识别:MInference首先识别出在长文本处理中常见的三种稀疏模式。
- 稀疏索引构建:根据这些模式,动态构建稀疏索引,以指导计算过程只关注那些重要的部分。
- 优化的GPU内核:使用为这些稀疏模式特别优化的GPU内核来执行高效的稀疏注意力计算。
具体应用场景
- 长文本理解:在需要处理长篇文章、报告或代码库的场景中,MInference可以帮助模型更快地理解和生成内容。
- 实时交互:在需要快速响应的实时交互系统中,MInference可以减少用户的等待时间。
- 大规模数据集:在处理大规模数据集时,MInference可以显著提高模型的运行效率。
论文还提到,MInference在多个下游任务和模型上进行了评估,包括InfiniteBench、RULER、PG-19和Needle In A Haystack等,证明了其在减少推理延迟方面的效果,同时保持了准确性。此外,论文还探讨了MInference与现有稀疏注意力方法的比较,以及它如何与现有的KV缓存压缩技术(如SnapKV)相结合以进一步提高性能。
0条评论