InfiniteHiP: Extending Language Model Context Up to 3 Million Tokens on a Single GPU
- 📄 Paper: https://huggingface.co/papers/2502.08910
- 😺 Source code: https://github.com/DeepAuto-AI/hip-attention/
- 😺 SGLang Integration available now: https://github.com/DeepAuto-AI/sglang/
- ▶️ Try our Live Demo with DeepSeek 14B at https://chat.deepauto.ai/
- HF : https://huggingface.co/papers/2502.08910
摘要
本文提出了InfiniteHiP,一种新颖的推理框架,旨在解决大型语言模型(LLMs)在处理长上下文时面临的计算和内存挑战。
通过模块化的分层令牌剪枝算法,InfiniteHiP能够 动态消除 无关的上下文令牌,显著加速推理过程。
此外,该方法通过选择性应用RoPE调整方法,实现了对更长序列的泛化,并将键值缓存卸载到主机内存,降低了GPU内存压力。
实验表明,InfiniteHiP在单个L40s 48GB GPU上能够处理高达300万个令牌,比现有方法提升了3倍的上下文长度,且不丢失任何上下文信息。推理速度提升了18.95倍,且无需额外训练。
核心贡献
- 模块化分层剪枝算法:通过动态剪枝无关令牌,减少计算量。
- RoPE调整方法:选择性应用RoPE调整,实现超出训练序列长度的泛化。
- KV缓存卸载:将键值缓存卸载到主机内存,降低GPU内存压力。
- 高效实现:在SGLang框架中实现,显著提升推理速度和内存效率。
方法概述
- 模块化剪枝:将输入序列划分为块,选择每个块中具有最高注意力分数的令牌,逐步剪枝无关块。
- RoPE调整:根据LLM内部的注意力模式,动态调整RoPE嵌入,支持超出长度的泛化。
- KV缓存卸载:通过LRU缓存策略管理键值缓存,将不常用的令牌卸载到主机内存,仅在需要时加载。
Context Pruning Algorithm 设计逻辑
实验结果
- LongBench基准测试:InfiniteHiP在Llama 3和Mistral 0.2模型上分别提升了7.17%和3.19%的相对分数。
- ∞Bench基准测试:在更长上下文的任务中,InfiniteHiP表现优于现有方法,特别是在超出长度泛化方面。
- 延迟与吞吐量:在1M和3M上下文长度下,InfiniteHiP的解码速度显著优于现有方法,且内存占用更低。
结论
InfiniteHiP通过模块化剪枝、RoPE调整和KV缓存卸载,有效解决了长上下文LLM推理中的计算和内存瓶颈问题。实验表明,该方法在性能和实用性上优于现有方法,适用于现实世界的部署。
影响声明
InfiniteHiP显著提升了推理效率和能源效率,且不改变模型的训练行为,预计不会引发显著的社会影响担忧。该方法为未来的生产使用提供了实质性好处。
总结
InfiniteHiP通过创新的模块化剪枝算法、RoPE调整和KV缓存卸载,显著提升了长上下文LLM的推理效率和内存利用率,适用于大规模语言模型的实际应用场景。
2025-02-15(六)