CPU和GPU跑深度学习差别有多大?

作者:带萝卜
链接:https://www.zhihu.com/question/273812506/answer/1271840613
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

Intel曾经用自己最强的CPU和NVIDIA的GPU做过性能对比。

首先是ResNet-50的推理性能对比:

CPU和GPU跑深度学习差别有多大?_第1张图片

可见,两块Xeon 9282(五十六核处理器)的性能是与一块V100非常接近的,但是功率却是V100的两倍多。至于价格方面,据说9282的价格在2.5w-5w美元之间,两块的价格就是5w-10w美元了。

Hands on with the 56-core Xeon Platinum 9200 CPU: Intel’s Biggest CPU Package Ever​www.anandtech.comCPU和GPU跑深度学习差别有多大?_第2张图片

而V100的32GB版的价格约为1w美元(16GB版的大概7000美元),价格差距比能耗差距要大得多。

然后是Bert上使用Xeon6240和Tesla T4的速度对比:

CPU和GPU跑深度学习差别有多大?_第3张图片

可见在大模型上,GPU的优势更加明显。

消费级GPU和普通服务器CPU的对比

不过这种凡人用不起的CPU对比起来意义不大。下面是一般公司常用的E5 2630V3(中关村在线查询价格为7000RMB左右,经评论区提醒,淘宝价格仅为几百元,有没有大佬来解释一下为何价格差距这么大)和几种常用的GeForce GPU的速度对比:

CPU和GPU跑深度学习差别有多大?_第4张图片

总结:1. 同等价格的CPU和GPU速度差可能在十倍以上;

2. 同等性能的CPU和GPU的价格可能也会接近十倍;

3. 在Ubuntu这种重启一下就会掉驱动的系统里搞深度学习,装CUDA和显卡驱动是必备技能,多装几次就熟练了。

参考:

  1. Intel的CPU和Nvidia的GPU能耗对比

Intel Highlighted Why NVIDIA Tensor Core GPUs Are Great for Inference | NVIDIA Blog​blogs.nvidia.comCPU和GPU跑深度学习差别有多大?_第5张图片

2. 常见网络准确率以及在不同设备上的速度对比:

https://github.com/jcjohnson/cnn-benchmarks​github.com

 

编辑于 07-09

 

 

 

作者:ivy zheng
链接:https://www.zhihu.com/question/273812506/answer/1316662695
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

如果跑CNN,肯定是GPU啊,CPU完全跑不动。

刚开始搞CNN的时候,自己手工实现了一个框架,一个5层的神经网络,跑了一阵子,算了一下,如果跑20万次迭代(这里的一次迭代指一个mini-batch,不是一个epoch),大概需要23天时间,遂放弃,下了个CAFFE。

CAFFE在GTX980上跑,还是这个5层的神经网络,跑完20万次迭代,大概需要24小时,也就是天和小时的差距。

后来突然想到测试CPU性能,CAFFE调成CPU模式,跑那个5层网络,发现24天左右,跟我写的一个数量级,终于发现并不是我写的代码效率低,而是CPU就差一些。

当然这个差别跟网络模型也有关系。毕竟那时候刚接触深度学习,不知道全连接如此耗时,后来要用GoogLeNet v3还有点发怵,用了以后才发现人家几十层网络20万次迭代也是跑24小时左右。

CPU和GPU跑深度学习差别有多大?_第6张图片

然而(最后一个转折了),你要是在深度学习中用双调排序,就省下了把数据从GPU中搬运出来,排序完再搬回去的时间,于是效率又比CPU有了提升。

编辑于 07-04

 

 

都是在夸GPU的,我来泼个冷水降降温。

小模型无脑上GPU,那有没有考虑过工业级的大模型呢?

动辄几亿的词表,仅embedding就耗费几十G,如过再用Adam之类的高阶优化器,耗费再翻几倍……V100的显存也不够塞牙缝。

为了能在GPU上训练,各种重计算,垃圾清理机制叠加,也只能一点点加batchsize试,祈祷不会显存超限。

为了能在工业界,特别是推荐搜索领域用起来,还是得依赖分布式深度学习框架。

回到题目:两者的差别有多大?理论和实际的差别有多大,两者差别就有多大。脱开具体场景和模型讨论差距有误导性。

编辑于 06-24



作者:库仑定律
链接:https://www.zhihu.com/question/273812506/answer/1299265473
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

 

作者:丽台科技
链接:https://www.zhihu.com/question/273812506/answer/1351680299
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

之前看到网上总结的一句话,CPU是一个有多种功能的优秀领导者。它的优点在于调度、管理、协调能力强,计算能力则位于其次。而GPU相当于一个接受CPU调度的“拥有大量计算能力”的员工。

CPU和GPU跑深度学习差别有多大?_第7张图片

深度学习是模拟人脑神经系统而建立的数学网络模型,具备很大的数据集来训练,GPU多核并行计算的优势就突显出来了,而且GPU核心数很多,运算浮点能力强,可以支撑大量数据的并行计算,而且拥有更高的访存速度,就这,GPU就比CPU更适合深度学习了。

N卡中有很多系列适用于跑深度学习,如Tesla系列,今年发布的A100更是有史以来最大的7nm芯片,由54B晶体管、40gb的HBM2 GPU存储器和1.5tb/s的GPU存储器带宽组成,能为深度学习(DL)训练提供了高达624 TF的FP16算术吞吐量,为DL推理提供了多达1248个INT8算术吞吐量的TOP。

可以看下A100、V100和T4在图像分类训练和推理方面的数据:

CPU和GPU跑深度学习差别有多大?_第8张图片

CPU和GPU跑深度学习差别有多大?_第9张图片

CPU和GPU跑深度学习差别有多大?_第10张图片

具体数据可参考:

NVIDIA Data Center Deep Learning Product Performance​developer.nvidia.com

 

 

发布于 07-21

你可能感兴趣的:(人工智能)