作者:带萝卜
链接:https://www.zhihu.com/question/273812506/answer/1271840613
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Intel曾经用自己最强的CPU和NVIDIA的GPU做过性能对比。
首先是ResNet-50的推理性能对比:
可见,两块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 Everwww.anandtech.com
而V100的32GB版的价格约为1w美元(16GB版的大概7000美元),价格差距比能耗差距要大得多。
然后是Bert上使用Xeon6240和Tesla T4的速度对比:
可见在大模型上,GPU的优势更加明显。
消费级GPU和普通服务器CPU的对比
不过这种凡人用不起的CPU对比起来意义不大。下面是一般公司常用的E5 2630V3(中关村在线查询价格为7000RMB左右,经评论区提醒,淘宝价格仅为几百元,有没有大佬来解释一下为何价格差距这么大)和几种常用的GeForce GPU的速度对比:
总结:1. 同等价格的CPU和GPU速度差可能在十倍以上;
2. 同等性能的CPU和GPU的价格可能也会接近十倍;
3. 在Ubuntu这种重启一下就会掉驱动的系统里搞深度学习,装CUDA和显卡驱动是必备技能,多装几次就熟练了。
参考:
- Intel的CPU和Nvidia的GPU能耗对比
Intel Highlighted Why NVIDIA Tensor Core GPUs Are Great for Inference | NVIDIA Blogblogs.nvidia.com
2. 常见网络准确率以及在不同设备上的速度对比:
https://github.com/jcjohnson/cnn-benchmarksgithub.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小时左右。
然而(最后一个转折了),你要是在深度学习中用双调排序,就省下了把数据从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调度的“拥有大量计算能力”的员工。
深度学习是模拟人脑神经系统而建立的数学网络模型,具备很大的数据集来训练,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在图像分类训练和推理方面的数据:
具体数据可参考:
NVIDIA Data Center Deep Learning Product Performancedeveloper.nvidia.com
发布于 07-21