本技术介绍了一种循环缓存优化的滑动窗口注意力机制加速方法及其装置,旨在提高滑动窗口注意力机制中的内存存储效率,解决大模型在序列处理上速度慢的问题。
背景技术
随着人工智能技术的发展,特别是深度学习技术的进步,注意力机制(AttentionMechanism),因其在处理长依赖关系上的优越性能而逐渐成为自然语言处理、语音识别等技术领域的核心组件。传统的神经网络模型在处理长序列时存在梯度消失或梯度爆炸的问题,同时,随着序列长度的增长,模型计算的复杂度与序列长度的平方成线性关系,这使得大模型在长序列数据上的处理变得非常耗时。
近年来,Transformer架构通过引入滑动窗口自注意力机制(Sliding WindowAttention,SWA),允许模型并行处理固定窗口大小的数据,从而显著提高了训练效率。
SWA的计算过程如下:
其中,为二维矩阵,N1为文本长度,H为隐藏层长度;dk
为矩阵第二维度的长度H,KT
为矩阵K的转置。在进行softmax处理之前乘以一个掩码(),SA的Mask为下三角的矩阵,使得每个文本位置的token只注意到该位置及之前的文本内容。SWA的Mask与SA不同,存在一个窗口大小(window size),使得Attention只关注窗口大小内的文本内容。
在大模型(Large Language Model,LLM)推理过程了为了减少模型的重复计算,一般会使用KV Cache技术对Attention中计算的K、V矩阵进行缓存,避免了新请求Query推理计算时重复历史KV矩阵的计算,降低模型推理的计算量,提高模型的推理速度。
然而现有的一些KV Cache技术对于SWA计算存在内存的利用率较低、存储效率低下的问题。
实现思路