共享 KVSharer 基于不相似性成功跨层 KV Cache

  • 电脑网络维修
  • 2024-11-15

一、背景

本文中咱们引见一种最新的 KV Cache 共享论文 KVSharer,与之前经常出现的层内共享不同,KVSharer 重要关注跨层共享,并且是整个层的共享。

对应的论文:[2410.18517] KVSharer: Efficient Inference via Layer-Wise Dissimilar KV Cache Sharing

对应的代码库:​​​ ​​ ​

二、摘要

LLM 推理环节中对 GPU 内存的需求始终参与,而其中 Attention 的 KV Cache 占据了超越 80% 的空间。,大少数现有的 KV Cache 紧缩算法重要集中在单个 Transformer 层内的紧缩,而较少有钻研触及层间紧缩(PS:其实咱们之前引见过的 Character.AI 打算和 MixAttention 都是层间共享)。

本文中,作者提供了一种即插即用的打算,称为 KVSharer,经过在层间共享 KV Cache 来成功层间紧缩。作者发现一个反直觉的现象:共享相似性较低的 KV Cache 更能坚持模型功能(PS:这里成功时其实有个解放,要同时防止对 LM head 之前的 Hidden State 的影响过大)。试验标明,KVSharer 能够在缩小 30% 的 KV Cache 计算,以及内存开支,而对模型功能影响不大,同时还能成功至少 1.3x 的生成减速。此外,作者试验标明,KVSharer 与现有的层内 KV Cache 紧缩打算兼容,两者联合可进一步浪费内存。

三、打算

3.1 概述

如下图 Figure 2 所示为本文打算的示例,其重要蕴含几个步骤:

3.2 搜查战略

如下图 Algorithm 1 为具体的搜查算法,其大体蕴含两个阶段:

KV Cache 相似性计算和初始化(1-4):

共享战略搜查(5-18):

将候选 r 参与到共享战略 Z。

交流候选 共享战略 Z 中的所无关系层 (保管接近输入的层,接近输入的层共享接近输入的层),而后经常使用校准集验证最后一层 Hidden Stage 和未交流时的相似度。

假设相似度小于阈值 T,示意交流后影响较大,则从 Z 中删除后续 r。

假设相似度大于等于阈值 T,则可以作为候选。

假设候选集容量满足 C,则间接完结。

PS:须要说明的是,以上是基于贪心搜查战略,这种逐渐判别并参与的模式往往只能找到部分最优解,并不必定是全局最优的。要想找到全局最优,通常须要启动全局搜查,比如穷举一切或许的共享组合,或许发生更复杂的搜查算法,然而往往会大幅参与计算老本,因此这种贪心搜查是计算效率和成果的折衷。

3.3 推理

如下图 Figure 3 所示,在推理阶段间接经常使用离线阶段搜查进去的共享战略,可以看出其实是会存在多个 Layer 共享一个 Layer 的。然而图中仿佛有疑问,论文中并没有探讨共享的传递性,比如Layer 2 和 3 共享 Layer 1,而 Layer 4 共享 Layer 3,Layer 5 共享 Layer 4,那岂不是 Layer 2,3,4,5 都共享 Layer 1?

如下图所示为代码中的注释(KVSharer/llama_real_share/modeling_llama_kvsharer.py#L364-L371):

四、试验&结果

4.1 精度

如下图 Table 1 所示,作者测试几个经常出现模型 LLaMA2-7B/13B(PS:假设有 LLaMA3 的结果更有压服力)、InternLM2-7B/20B(中英文才干不错)和 Mistral-7B 在一些重要义务上的精度。其中 Layer 示意实践计算的层数,Layer 越小,示意共享的越多。Percent 示意共享后的平均精度相比原始平均精度的比例。可以看出,共享越多成果越差,并且各个模型体现各不相反,比如在 LLaMA2-13B(40->30) 和 Mistral-7B(32->24) 在共享 25% 时,平均精度就不到 90% 了。

其实,从困惑度(PPL)过去看,影响也是挺大的,尤其是与 H2O 和 PyramidInfer 这些层内紧缩联合后:

4.2 推理

如下图 Table 2 所示,作者以 LLaMA2-13B-Chat 模型为例,对比了不同打算对 Memory 的开支以及推理的减速比。其中的 KVSharer(25%)示意 25% 的紧缩比,也就象征着 40 层只计算 30 层的 KV Cache。(PS:这里的论断很奇异,25% 的紧缩比通常上最多浪费 25% 内存,最多吞吐优化 25%?更何况 Q 和 Attention 还要反常计算,而实践上 1024+4096 时浪费了 36% 的内存,吞吐优化 1.53x。)

4.3 消融试验

如下图 Figure 6 所示,作者试验标明:共享相似性较低的 KV Cache 更能坚持模型功能。

如下图 Table 3 所示,经常使用 Wikipedia 或 BookCorpus 作为校准集对精度的影响不是特意大:

如下图 Table 4 所示,随机共享相比本文的 KVSharer 会造成精度降低比拟多,证实本文方法的有效性:

如下图 Table 5 所示,KVSharer 在几个模型的 Base 模型和 Chat 模型上的精度影响比拟相似,证实了方法的通用性。(PS:不过 PPL 确实影响挺大的)

五、参考链接

本文转载自​​,作者:

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/5725.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号