正文
推理感知注意力机制
,即针对模型推理阶段的内存冗余、计算低效、长上下文瓶颈等问题,重新设计注意力机制。
据Tri Dao介绍,这项研究的起点始于一个想法:
在推理驱动AI发展的时代,“理想”架构应该是什么样子?
尤其在涉及长上下文推理时,当前的大语言模型(LLM)面临
内存访问瓶颈
和
并行性限制
两大难题。
就是说,模型生成文字时,每次都要从内存里调取大量“历史记录”,不仅导致每个字生成变慢,而且只能按顺序生成、没法让多个芯片同时干活。
对此,团队打算从两个方向重新设计注意力机制:
-
更高的硬件效率:通过增加 “每字节内存加载的计算量”
(算术强度)
,减少对内存带宽的依赖;
-
保持并行可扩展性:在不牺牲模型并行训练 / 推理能力的前提下优化解码速度。
而最终提出的GTA和GLA,
在减少KV缓存用量的同时,模型质量保持与现有方案相当,且解码速度显著提升。
这里提到的“现有方案”,主要指早已闻名学术界的两种方法:
一是
分组查询注意力(GQA)机制
,它通过分组共享KV缓存减少内存占用,在视觉Transformer(ViT)等任务中表现良好,适用于大规模数据处理,目前已应用于Llama 3等开源模型。
二是
多头潜在注意力(MLA)机制
,最早可追溯到《Attention Is All You Need》这篇论文,后被DeepSeek再次带火。它关注的是在不同层之间如何融合注意力信息,能减少每一层的冗余计算。
不过,由于GQA仍需为每组查询头存储独立KV、MLA并行优化不足,故仍需进一步改进。
下面分别展开团队提出的新方法GTA和GLA。
分组绑定注意力机制GTA
GTA的核心设计思路是:
将不同查询头的键(Key)和值(Value)状态进行组合与重用,减少内存传输次数。
具体而言(右图),它将多头注意力的头分为若干组(Group),每组内的头共享相同的Key和Value参数。计算时,同一组内的头使用相同的KV缓存,仅查询(Query)参数独立。
相比之下,中间传统的多头注意力机制(MHA)每个查询头都有独立的键和值,由于没有共享,导致它需要更多的内存来存储所有的键和值。
再对比GQA来看(左图),GQA分组共享KV但每组仍独立存储,而GTA通过
参数绑定
实现了更彻底的KV重复利用。
分组潜在注意力机制GLA
而GLA的设计则采用了
双层结构
:
-
潜在层(Latent Layer):引入固定数量的潜在Tokens,作为全局上下文的压缩表示,替代部分原始Token的KV缓存;
-
分组头机制:将查询头分组,每组头共享潜在Token的KV,同时保留与原始Token的交互。
在解码过程中,对比MLA(左图),GLA通过
共享联合潜在表示
减少了每个设备需要加载的KV缓存量,从而减少了内存访问量。
并且由于每个设备上的KV缓存量减少了,更多的请求也可以同时处理。
「GQA和MLA」的有效替代品
那么,GTA和GLA的效果究竟如何呢?
团队在