文章 "神经网络变得简单(第 95 部分):降低变换器模型中的内存消耗" 新评论 MetaQuotes 2025.03.05 09:17 新文章 神经网络变得简单(第 95 部分):降低变换器模型中的内存消耗已发布: 基于变换器架构的模型展现出高效率,但由于在训练阶段、及运行期间都资源成本高昂,故它们的使用变得复杂。在本文中,我提议领略那些能够降低此类模型内存占用的算法。 MLKV 方法是 MQA 和 GQA 算法的逻辑延续。在指定的方法中,由于 KV 头的减少,KV 缓存大小亦会减小,并在单个自关注层内的一个关注头分组共享。一个完全预期的步骤是在自关注层之间共享 Key 和 Value 实体。最近 FeedForward 模块在变换器算法中的作用的研究,或许证明了这一步的合理性。它假设指定的模块模拟 “键-值” 内存,处理不同的信息级别。然而,对我们来说最有趣的是观察到连续层分组计算相似的东西。更准确地说,较低级别处理表面形态,而较高级别处理更多的语义细节。因此,可以得出结论,即关注力能够委派给各层的分租,同时在 FeedForward 模块中保留必要的计算。直观上,KV 头可以在具有相似目标的层之间共享。 为了开拓这些思路,MLKV 方法的作者提供了多级键交换。MLKV 不仅在同一个自关注层的 Query 关注头之间共享 KV 头,而且在其它层的关注头亦如此。这样就能减少变换器中 KV 头的总数,从而允许更小的 KV 缓存。 作者:Dmitriy Gizlyk Maxim Dmitrievsky 2024.06.18 17:29 #1 你怎么知道网络已经学到了什么,而不是产生了随机信号? Dmitriy Gizlyk 2024.06.23 18:26 #2 Maxim Dmitrievsky #: 你又是如何意识到网络已经学会了一些东西,而不是产生了随机信号呢? 行动者的随机政策假定行动具有一定的随机性。不过,在学习过程中,随机值的分散范围会大大缩小。问题的关键在于,在制定随机政策时,每个行动都要训练两个参数:平均值和数值散布的方差。在训练策略时,平均值趋于最优,方差趋于 0。 为了了解代理行动的随机性,我对同一策略进行了多次测试运行。如果代理产生的行为是随机的,那么所有测试的结果都会大相径庭。对于训练有素的策略来说,结果的差异将是微不足道的。 Maxim Dmitrievsky 2024.06.23 21:36 #3 Dmitriy Gizlyk #:行动者的随机政策假定行动具有一定的随机性。不过,在训练过程中,随机值的散布范围会大大缩小。问题在于,在制定随机策略时,每个行动都需要训练两个参数:平均值和数值散布的方差。在训练策略时,平均值趋于最优,方差趋于 0。为了了解 Agent 行动的随机性,我对同一策略进行了多次测试运行。如果代理产生的行为是随机的,那么所有测试的结果都会大相径庭。对于训练有素的策略来说,结果的差异将是微不足道的。 明白了,谢谢。 新评论 您错过了交易机会: 免费交易应用程序 8,000+信号可供复制 探索金融市场的经济新闻 注册 登录 拉丁字符(不带空格) 密码将被发送至该邮箱 发生错误 使用 Google 登录 您同意网站政策和使用条款 如果您没有帐号,请注册 可以使用cookies登录MQL5.com网站。 请在您的浏览器中启用必要的设置,否则您将无法登录。 忘记您的登录名/密码? 使用 Google 登录
新文章 神经网络变得简单(第 95 部分):降低变换器模型中的内存消耗已发布:
基于变换器架构的模型展现出高效率,但由于在训练阶段、及运行期间都资源成本高昂,故它们的使用变得复杂。在本文中,我提议领略那些能够降低此类模型内存占用的算法。
MLKV 方法是 MQA 和 GQA 算法的逻辑延续。在指定的方法中,由于 KV 头的减少,KV 缓存大小亦会减小,并在单个自关注层内的一个关注头分组共享。一个完全预期的步骤是在自关注层之间共享 Key 和 Value 实体。最近 FeedForward 模块在变换器算法中的作用的研究,或许证明了这一步的合理性。它假设指定的模块模拟 “键-值” 内存,处理不同的信息级别。然而,对我们来说最有趣的是观察到连续层分组计算相似的东西。更准确地说,较低级别处理表面形态,而较高级别处理更多的语义细节。因此,可以得出结论,即关注力能够委派给各层的分租,同时在 FeedForward 模块中保留必要的计算。直观上,KV 头可以在具有相似目标的层之间共享。
为了开拓这些思路,MLKV 方法的作者提供了多级键交换。MLKV 不仅在同一个自关注层的 Query 关注头之间共享 KV 头,而且在其它层的关注头亦如此。这样就能减少变换器中 KV 头的总数,从而允许更小的 KV 缓存。
作者:Dmitriy Gizlyk