我是丁师兄,专注于智能驾驶方向大模型落地,公众号:丁师兄大模型。
大模型1v1学习,已帮助多名同学上岸国内外大厂
一个前华为员工,辞职前信誓旦旦的认为,985 的硕士怎么可能找不到工作。
然后就被现实狠狠打脸,八个月过去了,还没有找到工作。
说实话,这个华为员工有自信的资本,但是却输给了现实。都说学历是敲门砖,但也仅仅是刚毕业时,工作几年后谁管你是来自 985 还是 211,工作经验和技能更重要。
来自智联招聘的调查统计:今年普本院校本科毕业生就业率为 43.9%,而双非院校的硕博毕业生就业率仅为 33.2%,相较于去年整整下降了 17 个百分点。
说回我们今天的内容,今天我们聊聊大模型中的分组查询注意力机制(GQA),如果面试时你被问到这个知识点,应该如何应对?
01什么是分组查询注意力?
简单来说,分组查询注意力通过将相似的文本片段绑在一起来简化大型语言模型理解大量文本的过程。这样模型可以一次专注于一组词,而不是每个词,处理效率更高。
GQA 可以看做是多查询注意力(MQA)和多头注意力(MHA)的一个折中,它可以保证 MHA 的质量,同时又有 MQA 的速度。
具体来说,GQA 将查询头分成 G 组,每组共享一个键头和值头。
看下图:
它通过对查询词进行分组,并对不同组给予不同的注意力来建模查询内部的层次关系。采用这种方法,可以理解复杂查询的语义结构,并且增强系统在检索时的性能。
02GQA 是如何工作的?
上面已经说了,分组查询注意力融合了多查询注意力的速度和多头注意力的质量。
在 Transformer 中,多头注意力使用多个并行的注意力头,每个头都有独自的查询、键、值,以及输出的线性变换。
相反,多查询注意力在不同的头之间共享键和值。
所以 GQA 可以被看做是优化 Transformer 注意力机制的一种方法。它并不是独立地计算每个查询的注意力,而是将查询分组在一起,联合计算它们的注意力。
这样的好处是减少了注意力计算的数量,加快了推理时间。不过虽然 MQA 大大加快了解码器推理的速度,但可能会导致质量下降。
所以为了解决这个问题,引入了 GQA,作为 MQA 的一个推广,使用中等数量的键值头,比一个多,但少于查询头的数量。
GQA 中查询头被分成组,每组共享一个键头和一个值头。这样的话,GQA 就可以在多头注意力和多查询注意力之间进行插值,实现质量和速度之间的平衡。
具有单组(只有一个键和值头)的 GQA 等同于 MQA,而具有与头数量相等的组的 GQA 等同于 MHA。
03有哪些常见的实现 GQA 的方法?
第一种是基于相似性进行分组查询,比如根据查询相似性进行分组,我们需要计算查询之间的相似度,然后分配到对应组别中。
第二种是将查询头分组,每组共享一个键头和值头,这种方法允许 GQA 在多头注意力和多查询注意力之间进行插值,实现质量和速度之间的平衡。
第三种是使用中等数量的键值头,GQA 通过使用中等数量的键值头,在 MQA 和 MHA 之间取得平衡,数量多于一个但少于查询头的数量。
还有可以通过重复键值对来提高计算效率,优化性能,具体通过将键值对重复 n_rep 次来实现,n_rep 表示共享相同键值对的查询头数量。
04分组查询注意力的好处有哪些?
GQA 通过在 MQA 和 MHA 之间进行插值,实现接近 MHA 的质量,在两者之间取得平衡。
GQA 通过使用中等数量的键值头,保持与 MQA 相当的速度,比 MHA 更快。
GQA 还可以显著降低大型语言模型的计算复杂度,从而加快推理时间。GQA 允许多 GPU 并行,使计算资源的使用更加高效。
GQA 结合了 MQA 的低内存使用和 MHA 的高质量,使其适用于内存受限的大规模模型。
05分组查询注意力有哪些问题?
最后给大家总结一下分组查询注意力存在的四大问题:
质量下降和训练不稳定:GQA 是多查询注意力(MQA)的演进版本,使用多个查询头但只有一个键和值头。
虽然 MQA 加快了解码器推理速度,但可能导致质量下降和训练不稳定。GQA 尝试通过使用中等数量的键值头(多于一个但少于查询头的数量)来缓解这些问题,但在速度和质量之间取得平衡仍然是一个挑战。
内存带宽开销:自回归解码器推理是 Transformer 模型的严重瓶颈,因为在每个解码步骤中加载解码器权重和所有注意力键和值会产生内存带宽开销。
GQA 尝试通过将查询头分组来解决这个问题,每组共享一个键头和一个值头。然而,管理这些内存带宽开销仍然是一个重要的挑战。
组划分:输入节点被划分为多个组,只在局部块内计算注意力。如果节点总数不能被组长度整除,则会添加零填充节点以匹配长度。这种组划分和管理增加了GQA实现的复杂性。
超参数调整:要实现 GQA 的最佳性能需要仔细调整超参数。例如,将查询头划分为多少组会显著影响模型的性能和效率。
END
我是丁师兄,专注于智能驾驶方向大模型落地,公众号:丁师兄大模型。
大模型1v1学习,已帮助多名同学上岸国内外大厂