首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GFlops量对神经网络训练速度的影响

GFlops量对神经网络训练速度的影响
EN

Stack Overflow用户
提问于 2018-04-04 16:35:10
回答 1查看 1.8K关注 0票数 1

如果一个gpu/cpu拥有两倍的GFlops,那么另一个是否意味着该设备上的神经网络的训练速度将提高一倍?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-04-04 17:06:50

每秒触发器或浮点操作是性能的度量,意味着计算机执行计算的速度。GFLOP是一个简单的千兆失败。因此,有2倍高的GFLOP值的GPU非常有可能加速训练过程。然而,2的因素将是某种上限,因为您将有其他部分,不依赖于计算能力,如内存速度,RAM,甚至其他条件,如冷却系统的GPU/CPU和其他(是的,这可能影响计算速度)。在这里,您应该问,GPU/CPU计算实际占用了多少培训时间?如果是80%,那么你可以显着地加快训练,如果是20%,那么很可能不会。如果您确信大部分时间都是通过GPU计算完成的,那么接下来应该考虑的是影响触发器数量的因素:

  1. 核数。如果系统有更多的内核,那么就会有更多的触发器(更多的并行计算),但是这只会在代码非常可并行的情况下才有帮助,而GPU有两倍的内核,不足以同时执行所有这些操作。所以如果是这样,现在你使用2倍多的并行计算,那么训练速度就会降低。这更适用于大型卷积网络,但对于完全连通或递归的网络则不那么有效。
  2. 核心频率如果GPU有较高的核心频率-它可以计算得更快。这部分是非常重要的,如果你的GPU有更高的频率,那么训练将加快对任何类型的神经网络。
  3. 架构。您可能听说过不同的GPU架构,如Pascal、Tesla和其他。因此,这一部分可以影响在一个周期内执行的指令数量。换句话说,有多少指令在一个处理器周期中执行,而我们在第二个处理器周期中有“频率”。因此,如果一个体系结构导致两次失败,那么它也很可能减少培训时间,类似于上一段。

因此,很难说你会从更多的失败中得到多少。如果您使用两个GPU,那么您将增加2个类似于第1段的触发器。使用两个GPU也会增加GPU内存,如果单个GPU没有足够的GPU,并且代码必须经常从内存中读取数据,这是有帮助的。

因此,失败对训练速度的影响是相当复杂的,因此它将取决于很多因素,比如你的网络有多平行,如何达到更高的错误量,内存的使用等等。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49656120

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档