如何配置一台适用于深度学习的工作站?

刚买两块Titan Z GPU准备搞搞深度学习,结果原来的工作站功率不够,带不动,所以准备组装一台新工作站。求大神们给点意见,最好给个完整的list,我好照着买,谢谢。(本人新手,也不怎么会组装,最好是半成品机器,然后我组装一下就好的那种)
关注者
3495
被浏览
379478

48 个回答

学习机器学习相关的算法和演练流行的平台或框架,不需要特别强大的设备。 所以对深度学习而言,基本的需求则是:

内存大于:8G

一片以上带CUDA单元的显卡。

操作系统:ubuntu 16.04

这对大多数人来说都不难,简单的升级一下自己手上的电脑即可:一般就三步:

1.加显卡: 1060 6G<省钱,入门>,1080ti<性价比最高>。勿买3G显存版本,好多CNN的sample 都跑不起来。

2.加内存: 买来插上即可

3.换电源:单显卡>400W,双显卡>700W。


基本来说这样就足够了。

自打amd的ryzen出来,各大框架现在已经做了/正在做AMD的兼容性修改。就现在这个时间点上来说,对于1-2卡的应用,AMD平台的价格和性能优势是杠杠的。

对于3-8卡的场景,大多不缺钱,价格似乎也不要紧。所以以前捡垃圾的内容不再适用了。就此删除掉。


软件部分:

TensorFlow/PyTorch一类的系统需要Ubuntu作为运行环境,这对大多数习惯了windows编辑器的同学来说,直接使用vi可能是最大的障碍。所以有一个WinSSHFS会极大的方便实际的开发工作。最近TensorFlow也支持了windows的GPU加速。似乎这个障碍也不存在了。

对Windows端的py编辑,比较推荐pycharm或则是VS Code.

PyTorch用到了S3的存储,因此有一个能出墙的小工具也是必要的。


破除几个误区:

1.所谓深度学习机器:没有这种特殊的机器,有带CUDA显卡的机器就是可以拿来学深度学习的,在售的多数所谓的科学计算机只是CPU和显卡比较多而已(超算机不在讨论之列)。

2.为了深度学习组专用平台: 没有这个必要,只是学习的话,随便找个电脑加一片显卡即可。

3.深度学习是不是要特别高的配置:我见过有个兄弟用笔记本(MBP)玩RCNN也玩得很high。

4.跑时间长了会不会烧掉? 完全没有烧掉机器的可能,最多是你散热不行机器停机或是死机就是极限了,遇到所谓烧板子的情况与你的负载关系不大,多半是板子本身就坏掉了。

谢邀。以下答案只针对工作站的情况。

在具体的论述之前,先说几个结论:

  1. 如果是自己做深度学习工作站的话,适当捡一下洋垃圾能够非常有效地降低系统成本。
  2. 除非在过去型号的GPU上已有投资,否则对于新的配置请无脑上Pascal
  3. GPU上的投资回报比基本呈线性变化,因此可以按照自己的需要量力而行。
  4. 最容易被忽视的是电源,一定要注意总体功耗,不可过载

关于洋垃圾

洋垃圾是个好东西,价格便宜量又足。尤其是在淘汰下来的工作站上常用Xeon级别的单/多路CPU,而它在极其低廉的成本下提供了:a) 多核大缓存,b) 大内存支持,c) 多PCI-E通道,以及 d) 多路NUMA支持。牙膏厂(Intel)体系架构更新对于性能的优化已经很微小了,它主要是制程带来的能耗优化。所以哪怕是早个一两代的CPU,比如2012年发布的Sandy Bridge EP,做个深度学习的主机CPU也是绰绰有余。

现在(2017.04)我强烈推荐HP的Z420和Z620。前者带上单路E5-1650(6核3.2Ghz)、32G内存和600w高质量电源大概$380,后者在这个基础上再加个$20-$40同时把电源更新成800w。这两款洋垃圾均支持双PCI-E x16 Gen3卡,而且你基本上不会碰到任何PCI-E通道之类的坑。

关于GPU的代际更新

黄老板在Pascal这一代上发飙了。我收集整理了Kepler (GTX 7xx),Maxwell (GTX 9xx),Pascal (GTX 10xx) 这三代的性能数据(数据来源主要是wikipedia)如下:docs.google.com/spreads 。各位伸手党们可自取。

从能耗比上看,Kepler到Maxwell基本上是个渐进式的变化,越往高端走改进越不明显。这也从一个侧面说明了为啥在Maxwell的时代有人还用着老Kepler Titan“再战几年”。新的Pascal架构甩了上两代几条街,在能耗比上完全碾压。有人会问——我在实验室电费不要钱,是不是就可以用旧架构了?完全不是。第一,除去Titan Z这样的2合1怪物以外,前两代的单卡性能被从GTX 1070到Titan Xp全线碾压,而每个工作站上能插的PCI-E通路数量是有限的。第二,电源的功率输出是有限的;在同等算力下老架构需要更多电力,因此如果是洋垃圾或者自组平台的极端情况(4槽全满)下,电源根本没法提供这样的功率输出。

从价格上看,常常有一些小伙伴猜测,在同等算力的情况下,上一代产品或许会更便宜。很不幸,上图反驳了这种观点。本图中的价格(横轴,取了log以方便显示)来自于eBay上二手卖家的出价,或者 Jet.com (一个奇葩购物网站) 上的新品折扣价格。可以明显地看出,在同等算力的情况下新一代Pascal架构产品的二手价格要低于老架构产品的二手价格

另外,在上图中没有显示的是,新架构的产品往往具有更大的显存容量,例如GTX 1060有6G显存,GTX 980有4G显存,而GTX 780 Ti/GTX Titan分别提供了3G和6G的显存。最后,新架构的产品支持更新的CUDA功能集以及GPU加速库版本,从而也会获得另一些额外的性能提升。因此在不同GPU架构间,无脑选Pascal。

关于量力而行

前两图中的直线(第二张图因为横轴是log scale所以有变形)是对于各点的线性拟合。可以看出无论是功耗还是定价,它们基本上都和计算能力保持了线性相关。这也就意味着老黄的刀砍得非常的准,除了Titan这类高端货外完全是一分钱一分货,不大存在捡便宜的可能。另外,在GPU的世界里投资折旧率很高(看看这三代GPU就知道了),因此有多大的需要就弄多大的卡吧。如果是严肃的科研工作者建议还是上大一些的卡,毕竟在现在多机分布式训练扩展性做得还不大好的时候,什么也比不过在一个卡上算起来快。

关于电源

电源是最容易被忽视的一个问题!很多小伙伴常常是满心欢喜地把大把显卡、CPU装好,然后发现——电源过载了。而最蛋疼的是一般工作站主机的电源是最高1600w到头,也就是将将撑住4块250w不超频的显卡。关于电源功率的计算我推荐 OuterVision Power Supply Calculator。它的Expert模式极其强大。

说回到Z420/Z620上的电源,Z420上搭配的是台湾台达电子生产的DPS-600UB A电源,这里(DPS-600UB A - Plug Load Solutions)有它的介绍。不得不说工作站上的电源就是扎实,不虚标且稳定。

总结

最后,总结一下整个配置。

  • 方案一(入门单卡):Z420 (E5-1650/32G)+单GTX 1060 = $570 / ¥4,000
  • 方案二(高阶单卡):Z420 (E5-1650/32G)+单GTX 1080 Ti = $1,100 / ¥7,700
  • 方案三(入门双卡):Z420 (E5-1650/32G)+双GTX 1060 = $760 / ¥5,300 (不能上1070,电源功率不够)
  • 方案四(高阶双卡):Z620 (E5-1650/32G)+双GTX 1080 = $1,280 / ¥9,000 (不能上1080 Ti,电源功率不够)

希望对你有帮助。

为什么?