GPU
在HPC领域,GPU比CPU运算速度快是显而易见的。在此简单的调研了一下,如何挑选GPU。
[Tesla K40]
Tesla系列是N厂专门为HPC退出的GPU产品,无视频输出,仅能做计算。系列型号有K20, K40, K80。其中K40是最强单芯产品,K80是双core。
从N厂给出的评测可以看出,在HPC计算中,K40的性能是CPU的10倍以上。
CPU:12 核,E5-2697v2 @ 2.70 GHz。64 GB 系统内存,CentOS 6.2。GPU:单个 Tesla K80(启用 Boost)或单个 Tesla K40(启用 Boost)
K40在amazon售价$3k,K80为$4k。K40国内应该在¥25k左右。
结论: 太贵,不实惠
[GeForce Titan X]
Titan X号称是N厂“核弹”,GeForce最强显卡。Titan X的运算性能强于K40,但限制了双精度运算。
评测文章可参见: 深度信仰对决:TitanX和TeslaK40c对阵Caffe深度学习其结论是Titan X在运算性能上要比K40更高。
结论: Titan X的价格在¥8k左右,12G显存,性价比较高
[GTX 970]
GTX系列是主流游戏显卡,目前算起来性价比比较高的是GTX970(~¥2500),CUDA数量是Titan X的一半,一般为4G显存。单从GPU来说,组3块显卡的机器比Titan X要更实惠,不过组多台机器分布式就不太划算,因为还要算上其他CPU主板电源一大堆,而且占地方。
结论: 可以在前期花比较少的钱达到不错的效果,后期不能大规模上。
【Updated】
GTX1080 是16年新出的卡,5600一块,8G显存,速度比老Titan快30%,经济实惠。新Pascal架构Titan X是最好选择,9000+一块,但一直缺货。后期采购混合搭配新Titan X和GTX1080。
分布式
Jeff Dean在NIPS 2015的slides(Large-Scale Distributed Systems for Training Neural Networks)中讲到了TensorFlow在分布式上的性能提升情况。主要结论为:
ImageNet Inception的训练使用50GPU,~40X提升
从描述来看,在几十个replica的规模下,基本上性能提升是线性的。
结论: 在调研阶段结束后,真正真正开始上真实场景时,组集群是非常有必要的
云
TF已经被人跑在了spark上,spark可以直接跑在云服务器上,所以使用云服务器也是一个选择。
不过目前个人认为云服务器并不是一个很划算的选择,有如下几个原因:
从CPU和GPU的运算性能来看,需要非常多的CPU才能达到一块GPU的性能,云主机在这方面算起来非常不划算
spark也是个规模比较大的项目,坑多,目前团队并没有太多实践积累,应尽量避免陷入处理各种spark的问题的循环中,更专注于DL本身。
另外,阿里云的提供了HPC云服务器,但价格较高,网页报价如下
结论: 使用云服务器搭建集群为时尚早,云HPC服务器太贵。
硬件投入的建议
硬件可以逐步升级
- Step 0. 两台i7 CPU服务器 (Current)
- Step 1. 单服务器,2 x GTX 970,要看现有的服务器能插几块 (需要确认目前的主机是否支持)
- Step 2. 用Titan X来组服务器
- Step 3. 云服务商 or 自组集群
参考服务器Spec
(From 李沐's blog: GPU集群折腾手记)
(From 淘宝, 北京思腾合力科技有限公司)
Reference
(注:感谢您的阅读,希望本文对您有所帮助。如果觉得不错欢迎分享转载,但请先点击 这里 获取授权。本文由 版权印 提供保护,禁止任何形式的未授权违规转载,谢谢!)