随着序列长度的增加,每次生成新的token时,都要重新计算之前所有token的key和value,从而导致大量的重复计算,KV-Cache占用的显存也会迅速增大,甚至可能超过模型本身的显存占用,因此KV-Cache的管理确实是Transformer模型在处理长序列时面临的一个重要挑战。
长序列压缩通过一种免训练的KV-Cache的缓存压缩算法(RazorAttention),直接应用于KV-Cache管理策略中,通过这种集成,Transformer模型能够在处理长序列时更加高效,同时保持或提升模型的性能。
- 内存压缩技术的应用:RazorAttention通过识别并保留关键的检索头,而压缩不重要的头,可以直接集成到KV-Cache管理策略中的内存压缩部分,通过减少不必要的数据存储来降低显存占用。
- 动态缓存策略的实现:能够根据注意力头的相对重要性来决定哪些key和value需要保留。
- 优化缓存淘汰策略:RazorAttention可评估Head的重要性,确定哪些缓存(即哪些注意力头的信息)可以被优先淘汰。
- 提高计算效率:RazorAttention在Transformer类大模型推理过程中,通过减少需要存储降低了显存占用,通过内存压缩减少计算量,从而提高了推理速度。
本文档基于Alibi编码类型和RoPE编码类型的压缩使用方式进行详细介绍。