如何从零开始搭建深度学习工作站

随着AlphaGo横空出世击败韩国顶尖围棋高手李世石,人工智能第一次真正进行大众视野,并在近几年出现星火燎原之势,而深度学习作为人工智能一个最重要的分支,也开始在各行各业应用起来。深度学习的兴起离不开对海量数据的依赖,而处理海量数据,对机算机的性能有很高要求。工欲善其事必先利其器,本文就来详细谈谈如何搭建一台满足日常需要的工作站。

最近由于工作的需要,组建了一台适用于深度学习的工作站。工作台的搭建涉及到硬件及软件两部份,每一部份都对整体性能有影响,而且还需要综合考虑实际研发需要和后期的扩展性。下面就来详细说说每一点,希望对大家有帮助。

硬件选购考虑因素

一、显卡 GPU

显卡作为整体最优先考虑的硬件,直接决定了整体的预算及性能。如果要扩展4卡,对主板和CPU的选购会有特殊的要求,整体的价格也会贵至少2倍以上。对于一般使用场景,建议单卡入门,最多支持扩展到2卡就行了。

从上图可以明显看出,GPU上的投资回报比基本呈线性变化,因此可以按照自己的需要量力而行。不过除非是在过去型号的GPU上已有投资,否则强烈建议直接上GTX 1080Ti。

二、中央处理器 CPU

深度学习主要占用GPU资源,对CPU要求不是很高,再加上只考虑最多扩展双显卡,所以消费级的CPU完全能满足需要,不用考虑企业级或双CPU方案。上一代或最新一代的I7 超频版 CPU是个不错的选择,核心多,频率高。

三、主板

主板作为整个系统的地基,需要有个全局性的考虑,虽然不像CPU和显卡一般有明显的性能差异,但决定了整个主机的硬件层次及后期的升级。建议直接购买一线品牌,质量、做工及稳定性方面都有保障。再加上只考虑支持双显卡交火,目前市面上大多数的系列都兼容。

四、存储

内存方面首选金士顿,占了市场60%以上的份额,口碑和质量都有保持。建议组多通道及选DDR4 2400以上的频率。

由于深度学习只需要在运行处理大量数据,平时存储时对速度要求并不高。可以采取普通的机械硬盘(HDD)和固态硬盘(SSD)相结合的方式,兼顾速度和存储要求。机械硬盘从西数和希捷中挑一个就行,建议2T以上容量,容量越大,性价比越高,相比其它硬件,完全是白菜价了。固态硬盘速度比机械硬盘快了几倍,对系统整体性能有很大提升,缺点就是一个字:贵。所以容量方面建议至少要256G,有经济实力的就直接512G吧,一步到位。固态硬盘还有个要考虑的因素是接口规格了,目前主流的有SATA3和M.2两种。M.2速度快,但有些主板识别不到,导致在安装操作系统(Ubuntu)时无法安装在固态硬盘上。

五、电源及机箱

电源作为整机的动力输出,首要考虑的因素是能够提供稳定并且够用的功率输出,用料及做工也是必须要考虑的因素。电源行业品牌多如牛毛,而且代工贴牌占据绝大多数比例,在这种情况下优化选择一线品牌:海盗船,长城,安钛克、台达。其次要考虑的购买多大的瓦数,保险起见,我建议购买850W以上的(之后如果扩展多一张显卡也完全够用)。

机箱就没什么硬性要求了,只要内部空间足够就行了。优先考虑全塔式,可以根据自已的喜好进行选购。

工作站组装及系统安装

计算机组装应该是整个搭建过程中最简单的部分了,只要注意安装的顺序及主板连线,大都能顺利安装成果,并且现在大多硬件都做了防呆设计,不可能会出现插反的情况。

第一步将CPU(注意方向)、内存安装到主板上,将主板附送的主机后置面板安装到机箱上。

第二步将散热安装到CPU上,放到机箱中,确定散热器风道方向与散热器的位置,以免放不下。

第三步涂硅脂,重新将确定好位置的风扇安装到CPU上。

第四部将主板固定到机箱上,注意机箱上的铜柱不多也不少,避免主板下面有空余的铜柱而导致主板短路。

第五步将GPU和其他pcie接口设备安装到主板与机箱上。

第六步安装SSD和机械硬盘。

第七步安装电源模块。

第八步连接主板及各硬件的线,整理好背线。

第九步开机测试能否进入BIOS界面。

第十步安装操作系统Ubuntu LTS 16.04(相对简单,不展开)。

环境搭建及开源框架选择

硬件组装完毕,安装好操作系统后,接起来就是深度学习软件环境搭建部份了。其中就涉及到显卡驱动和CUDA、CUDNN的安装,这三块是基础,建议直接登陆Nvidia官网跟着官方文档一步步安装。

一、显卡驱动安装

活进入系统桌面后,会发现默认的分辨率只有1024x768,因为系统默认使用了开源显卡驱动,需要手动更新成N卡最新驱动。

第一步:打开设置,进入软件更新设置(Software&Updates)。

第二步:选择附加驱动,等待刷新。

第三步:选择所列出来的可以析的选项,选择应用改变即可

第四步:在终端中输入nvvidia-smi,可以查询显卡驱动状态。

二、CUDA与CUDNN安装

登陆官网下载CUDA安装包,在下载时找相应的官方安装文档仔细阅读,尽可能按照它的步骤一步步走。同时再找几篇好的博客文章作为参考,对常见的问题要知道如何解决,做到胸有成竹。

第一步:检查自己的电脑环境是否具备安装CUDA的条件。

第二步:验证自己的Linux版本是否支持CUDA。

第三步:验证系统是否安装了GCC。

第四步:通过package manager安装。

第五步:重启电脑,检查是否安装成功。

第六步:尝试编译CUDA提供的samples。

第七步:根据官网教程安装CUDNN。

三、Docker安装

深度学习涉及到各个领域的研究,相关的框架不断更新和迭代。如果在同一部主机上安装全部的框架,有可能会出现管理问题及各种包冲突问题,也不利于工作站资源的充分利用。而Docker是一个开源的应用容器引擎,可以方便地打包应用以及依赖包到一个轻量级、可移植的容器中。使用Docker,可以按自己研究的需要,配置不同的Docker镜像。Docker的安装相对简单,这里就不展开详细说明,网上也有许多现成的文章可供参考,建议大家登陆官网查找相应的安装文档即可成功安装。

四、深度学习镜像选择

在实际的研究和开发中,可以根据需求下载不同的镜像。下面列出常用的镜像名称和用途

五、成果演示

最后,让我们来看看经过以上各个环节后,如何为深度学习研究提供简单易用的开发环境:

打开终端,连到服务器,运行以下命令启动容器(根据实际情况,参数不同):

打开浏览器,访问以下地址,能够正常显示,一切正常。

总结

经过今天的简单梳理,大家应该对如何搭建深度学习工作站有了初步的了解,重要的是多实践,思考自己实际工作中的需求,搭建出满足研究的工作站。拥有一台性能强劲的工作站,才能让你在深度学习的海洋里如鱼得水,遇到任何的波涛骇浪都能泰然面对。

声明:本文由入驻搜狐公众平台的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
推荐阅读