文章 "神经网络变得简单(第 95 部分):降低变换器模型中的内存消耗"

 

新文章 神经网络变得简单(第 95 部分):降低变换器模型中的内存消耗已发布:

基于变换器架构的模型展现出高效率,但由于在训练阶段、及运行期间都资源成本高昂,故它们的使用变得复杂。在本文中,我提议领略那些能够降低此类模型内存占用的算法。

MLKV 方法是 MQA 和 GQA 算法的逻辑延续。在指定的方法中,由于 KV 头的减少,KV 缓存大小亦会减小,并在单个自关注层内的一个关注头分组共享。一个完全预期的步骤是在自关注层之间共享 Key 和 Value 实体。最近 FeedForward 模块在变换器算法中的作用的研究,或许证明了这一步的合理性。它假设指定的模块模拟 “键-值” 内存,处理不同的信息级别。然而,对我们来说最有趣的是观察到连续层分组计算相似的东西。更准确地说,较低级别处理表面形态,而较高级别处理更多的语义细节。因此,可以得出结论,即关注力能够委派给各层的分租,同时在 FeedForward 模块中保留必要的计算。直观上,KV 头可以在具有相似目标的层之间共享。

为了开拓这些思路,MLKV 方法的作者提供了多级键交换。MLKV 不仅在同一个自关注层的 Query 关注头之间共享 KV 头,而且在其它层的关注头亦如此。这样就能减少变换器中 KV 头的总数,从而允许更小的 KV 缓存。

作者:Dmitriy Gizlyk