为什么深度学习需要使用GPU?

总算是有了一个初级炼丹炉吧,虽然是实验室的233

希望自己能够善用炼丹炉,早日成为一名合格的炼丹师!

后面针对GPU来整理一下相关的资料。

来填之前挖的坑了。

如何选购GPU

其实关于GPU,之前李沐有很好的科普帖: GPU 购买指南

这里摘录一部分:[1]

GPU 的性能主要由以下三个参数构成:

计算能力。通常我们关心的是 32 位浮点计算能力。16 位浮点训练也开始流行,如果只做预测的话也可以用 8 位整数。

  • 内存大小。当模型越大,或者训练时的批量越大时,所需要的 GPU 内存就越多。
  • 内存带宽。只有当内存带宽足够时才能充分发挥计算能力。
  • 对于大部分用户来说,只要考虑计算能力就可以了。GPU 内存尽量不小于 4GB。但如果 GPU 要同时显示图形界面,那么推荐的内存大小至少为 6GB。内存带宽通常相对固定,选择空间较小。

李沐: “1050ti,1080ti和titan xp性价比都不错”

为什么深度学习要用GPU

1.多核并行:GPU最早是用于图形渲染、计算,多核并行提高渲染速度,NVIDIA有一个非常形象生动的视频:

2.计算类型简单统一:CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景。CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理。这些都使得CPU的内部结构异常复杂。而GPU面对的则是类型高度统一的、相互无依赖的大规模数据和不需要被打断的纯净的计算环境。[4]

可参考下图的设计理念:[5]

部分机器学习算法,比如遗传算法,神经网络等,也具有这种分布式及局部独立的特性(e.g.比如说一条神经网络中的链路跟另一条链路之间是同时进行计算,而且相互之间没有依赖的),这种情况下可以采用大量小核心同时运算的方式来加快运算速度。[6]

参考

曹真 wechat
欢迎关注公众号:一时博客