一种分层因子化的端侧大模型KV缓存重用与压缩方法
本发明涉及计算机,尤其涉及一种分层因子化的端侧大模型kv缓存重用与压缩方法。
背景技术:
1、近年来,多模态大模型逐步从云端问答和离线分析进入手机、智能眼镜、车载终端、边缘机器人等端侧设备。在这些场景中,视觉语言助手不仅需要理解当前图像或当前视频片段,还需要在连续观察过程中保留较长时间范围内的视觉历史,以便在用户延迟提问时回溯场景、定位证据并生成自然语言回答。transformer结构的视觉语言模型通常通过预填充阶段将视觉词元写入各网络层的键值缓存,随后在解码阶段复用这些kv缓存,以避免对历史上下文反复计算。
2、然而,端侧设备的显存、统一内存、内存带宽和功耗预算均显著受限。随着视觉流长度、空间分块数量和网络层数增加,历史视觉kv(键值)缓存呈线性或近似线性累积,很快成为长记忆推理中的主要资源瓶颈。现有的视觉词元裁剪、合并、稀疏注意力或固定预算缓存方法,通常以完整词元或完整kv条目为基本对象,可以降低条目数量,却容易损失细粒度历史证据;现有的低秩压缩或量化方法多以整层或整张量为对象,难以适应不同层、不同键值侧和不同秩分量对模型输出的不同敏感程度。
3、另一方面,连续视觉输入中相邻帧、相邻空间块和相似物体区域往往存在明显冗余,直接为每个视觉词元重新完整kv缓存会造成重复计算和重复写入。若简单复用完整kv状态,又可能将当前位置专属的键侧路由信息连同可共享的视觉内容一起复制,导致注意力位置关系发生偏移。
4、此外,端侧部署还要求缓存管理算法具有低控制开销和良好的后端兼容性。若每次内存超限都需要重跑视觉编码器或搬移整段kv缓存,则节省的显存可能被额外延迟和能耗抵消;若压缩后的缓存格式不能被现有高效注意力算子直接使用,又会增加端侧推理框架改造成本。
5、因此,有必要改善上述相关技术方案中存在的一个或者多个问题。
6、需要注意的是,本部分旨在为权利要求书中陈述的本公开的技术方案提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
技术实现思路
1、本发明的目的在于提供一种分层因子化的端侧大模型kv缓存重用与压缩方法,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
2、本发明首先提供一种分层因子化的端侧大模型kv缓存重用与压缩方法,包括:
3、s1,数据采集划分:采集端侧的视觉数据并将视觉数据划分为多个视觉分块,并将每个视觉分块划分为多个空间块;
4、s2,因子化缓存单元构建:将所有空间块输入视觉语言模型,利用视觉语言模型将空间块转换为视觉词元,然后对视觉词元的键值进行因子化缓存,使视觉词元的键和值用因子化缓存单元来表示,所述因子化缓存单元包括四种视觉因子:键侧头混合因子、键侧特征因子、值侧头混合因子和值侧特征因子;
5、s3,离线模型校准:对视觉语言模型的不同网络层、不同键值侧对应的秩分量的贡献能量进行统计排序,并确定每一层侧缓存的驻留秩上界、驻留秩下界和敏感度权重;
6、s4,在线因子秩压缩:实时监测视觉因子缓存总物理驻留量,当总物理驻留量超过触发阈值时,对层侧缓存的驻留秩执行降秩操作;
7、s5,局部感知逐层因子复用:预设代表词元池,在视觉词元持续输入的过程中,将视觉词元中的新鲜自有词元存储于代表词元池中,根据当前视觉词元的时间步和空间块坐标,从代表词元池中筛选出候选词元,形成局部候选集合,计算当前视觉词元与每个候选词元视觉嵌入之间的余弦相似度,得到代表词元,对代表词元进行离线标定,得到逐层复用掩码,利用逐层复用掩码进行因子槽级填充。
8、本发明中,s2中,所述键侧特征因子在写入缓存前注入旋转位置编码,以得到携带当前位置路由信息的键侧特征因子;视觉词元的键用键侧头混合因子和键侧特征因子来表示,视觉词元的值用值侧头混合因子和值侧特征因子来表示,因子化缓存单元用键侧头混合因子、经旋转位置编码处理后的键侧特征因子、值侧头混合因子和值侧特征因子来表示。
9、本发明中,所述视觉语言模型设置有缓存管理器,所述因子化缓存单元存放在所述缓存管理器中,所述缓存管理器用于记录每个视觉词元的来源标记并根据来源标记读取或重构对应的视觉因子,所述来源标记用于区分表示当前视觉词元的视觉因子是自有因子、由代表词元复用得到的因子还是因降秩而不再物理驻留的因子。
10、本发明中,s4中,对层侧缓存的驻留秩执行降秩操作,包括:
11、根据视觉词元数量、当前驻留秩、目标驻留秩以及一个视觉词元在一个秩分量上对应的页级存储成本,计算得到待释放内存量;
12、根据被丢弃秩分量的能量、视觉词元数量和层侧敏感度权重得到表示损失;
13、根据被丢弃秩分量的预计释放内存量和表示损失得到候选降秩操作的优先级度量;
14、按照优先级度量将候选降秩操作由小到大进行排序,优先执行优先级度量较低的降秩操作,直到累计释放量达到待释放内存量或所有层侧缓存均已达到对应驻留秩下界。
15、本发明中,目标驻留秩的取值方式包括:将当前驻留秩与驻留秩下界之间的中间值设置为目标驻留秩,或根据待释放内存量自适应确定。
16、本发明中,s4中,对层侧缓存的驻留秩执行降秩操作,包括:
17、将视觉因子缓存按照网络层、键值侧、秩分量索引和词元页进行寻址,相同层侧、相同秩分量的一组视觉因子被组织为页级管理单元;
18、对于键侧页面,页面中包括对应秩分量的键侧头混合因子和经旋转位置编码处理后的键侧特征因子;
19、对于值侧页面,页面中包括对应秩分量的值侧头混合因子和值侧特征因子;
20、当目标层侧缓存的驻留秩被降低到目标驻留秩时,直接释放秩索引大于目标驻留秩的页面,并更新该层侧的驻留秩元数据。
21、本发明中,s5中,若局部候选集合为空,或者最高余弦相似度低于预设复用阈值,则当前视觉词元利用重建的视觉因子进行表示,并在当前视觉分块处理完成后,将当前视觉词元作为新鲜自有词元放入代表词元池中。
22、本发明中,s5中,所述逐层复用掩码包括第一层集合和第二层集合,所述第一层集合用于控制键侧头混合因子和值侧头混合因子是否可复用;所述第二层集合用于控制值侧特征因子是否可复用。
23、本发明中,在线因子秩压缩和局部感知逐层因子复用协同工作过程包括:
24、对于新进入视觉语言模型的视觉词元,根据局部候选集合和逐层复用掩码确定其因子槽来源,并以当前各层侧驻留秩为约束写入因子缓存;
25、对于已经驻留的历史视觉词元,根据内存压力和候选降秩操作的优先级释放低贡献秩分量页面。
26、本发明其次提供一种分层因子化的端侧大模型kv缓存重用与压缩系统,包括:
27、视觉输入模块,用于将视觉数据划分为多个视觉分块;
28、视觉嵌入模块,用于产生用于根据视觉分块生成候选选择的视觉嵌入;
29、因子化缓存构造模块,用于构建四种视觉因子:键侧头混合因子、键侧特征因子、值侧头混合因子和值侧特征因子;
30、代表词元管理模块,用于维护新鲜自有词元池并执行局部候选搜索;
31、在线秩压缩模块,用于根据触发阈值、目标预算和损失内存比选择降秩操作;
32、分页缓存管理模块,用于执行页面释放和驻留秩元数据更新;
33、kv重构模块,用于在注意力计算前将视觉因子恢复为标准kv张量。
34、本发明提供的技术方案可以包括以下有益效果:
35、本发明中的一种分层因子化的端侧大模型kv缓存重用与压缩方法,以键值kv因子化缓存表达为基础,将视觉词元在视觉语言模型的各网络层中的键和值进行拆分,由头混合因子和特征因子共同描述;在该因子空间内分别执行在线因子秩压缩和局部感知逐层因子复用,并在进入注意力计算前重构为标准kv张量。本发明的内部缓存管理方式对推理后端透明,不要求修改模型解码流程、注意力掩码语义或用户可见的上下文顺序。降低kv缓存占用,减小连续视觉输入构建开销,避免破坏注意力路由。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com