Attention升级面来自:AiGC面试宝典宁静致远2023年09月29日13:261传统Attention存在哪些问题?2Attention优化方向3Attention变体有哪些?4Multi-QueryAttention篇4.1Multi-headAttention存在什么问题?4.2介绍一下Multi-QueryAttention?Multi-QueryAttention在所有注意力头上共享key和value.4.3对比一下Multi-headAttention和Multi-QueryAttention?1.传统Attention存在上下文长度约束问题;2.传统Attention速度慢,内存占用大;1.提升上下文长度2.加速、减少内存占用•稀疏attention。将稀疏偏差引入attention机制可以降低了复杂性;•线性化attention。解开attention矩阵与内核特征图,然后以相反的顺序计算attention以实现线性复杂度;•原型和内存压缩。这类方法减少了查询或键值记忆对的数量,以减少注意力矩阵的大小;•低阶self-Attention。这一系列工作捕获了self-Attention的低阶属性;•Attention与先验。该研究探索了用先验attention分布来补充或替代标准attention;•改进多头机制。该系列研究探索了不同的替代多头机制。•训练过程:不会显著影响训练过程,训练速度不变,会引起非常细微的模型效果损失;•推理过程:反复加载巨大的KVcache,导致内存开销大,性能是内存受限;•Multi-headAttention:每个注意力头都有各自的query、key和value。•Multi-queryAttention:在所有的注意力头上共享key和value。扫码加查看更多Falcon、PaLM、ChatGLM2-6B都使用了Multi-queryAttention,但有细微差别。4.4Multi-QueryAttention这样做的好处是什么?减少KVcache的大小,减少显存占用,提升推理速度。4.5有哪些模型是使用Multi-QueryAttention?5Grouped-queryAttention5.1什么是Grouped-queryAttention?Groupedqueryattention:介于multihead和multiquery之间,多个key和value。5.2有哪些大模型使用Grouped-queryAttention?ChatGLM2,LLaMA2-34B/70B使用了Groupedqueryattention。6FlashAttention7并行transformerblock用并行公式替换了串行,提升了15%的训练速度。在8B参数量规模,会有轻微的模型效果损失;在62B参数量规模,就不会损失模型效果。Falcon、PaLM都使用了该技术来加速训练•为了保持参数量一致,•Falcon:把隐藏维度从4096增大到了4544。多余的参数量分给了Attention块和FFN块•ChatGLM2:把FFN中间维度从11008增大到了13696。多余的参数分给了FFN块•代表模型:PaLM、ChatGLM2、Falcon等•核心:用分块softmax等价替代传统softmax•优点:节约HBM,高效利用SRAM,省显存,提速度•代表模型:Meta推出的开源大模型LLaMA,阿联酋推出的开源大模型Falcon都使用了FlashAttention来加速计算和节省显存•关键词:HBM、SRAM、分块Softmax、重计算、Kernel融合。知识星球
发表评论取消回复