深度计算要搭建服务器嘛
‘壹’ 做深度学习的服务器需要哪些配置
要做一个深度学习的服务器,需要的配置有GPU RAM, 储存器,因为GPU是在我做深度学习服务器里面一个非常重要的部分,相当于是一个心脏,是非常核心的一个服务器,所以GPU是一个非常重要的东西,储存器也是相当重要的,因为很多数据都要放在ssd储存器上。
‘贰’ 深度学习 对硬件的要求
之前热衷于学习理论知识,目前想跑代码了发现不知道从何下手,自己电脑上搭建的平台基本就是个摆设,因为跑不起来呀。今天我们就来看看想做深度学习应该怎么下手。
首先了解下基础知识:
1、深度学习用cpu训练和用gpu训练的区别
(1)CPU主要用于串行运算;而GPU则是大规模并行运算。由于深度学习中样本量巨大,参数量也很大,所以GPU的作用就是加速网络运算。
(2)CPU算神经网络也是可以的,算出来的神经网络放到实际应用中效果也很好,只不过速度会很慢罢了。而目前GPU运算主要集中在矩阵乘法和卷积上,其他的逻辑运算速度并没有CPU快。
目前来讲有三种训练模型的方式:
1. 自己配置一个“本地服务器”,俗称高配的电脑。
这个选择一般是台式机,因为笔记本的“高配”实在是太昂贵了,同一个价格可以买到比笔记本好很多的配置。如果是长期使用,需要长期从事深度学习领域的研究,这个选择还是比较好的,比较自由。
①
预算一万以内的机器学习台式机/主机配置:
②
从李飞飞的课程里,可以看到她的电脑配置,这个配置是机器学习的基本设置。
内存:4X8G
显示卡: 两个NV GTX 1070
硬盘: HDD一个, SSD两个
③ 配置主机需要了解的参数(在上一篇博客中已经详细介绍了各个参数的含义):
GPU:一个好的GPU可以将你的训练时间从几周缩减成几天,所以选GPU一定要非常慎重。可以参看GPU天梯榜,都是一些比较新的型号具有很强的性能。
在英伟达产品系列中,有消费领域的GeForce系列,有专业绘图领域的Quadro系列,有高性能计算领域的Tesla系列,如何选择?有论文研究,太高的精度对于深度学习的错误率是没有提升的,而且大部分的环境框架都只支持单精度,所以双精度浮点计算是不必要,Tesla系列都去掉了。从显卡效能的指标看,CUDA核心数要多,GPU频率要快,显存要大,带宽要高。这样,最新Titan
X算是价格便宜量又足的选择。
CPU:总的来说,你需要选择一个好的GPU,一个较好的CPU。作为一个高速的串行处理器,常用来作为“控制器”使用,用来发送和接收指令,解析指令等。由于GPU内部结构的限制,使得它比较适合进行高速的并行运算,而并不适合进行快速的指令控制,而且许多的数据需要在GPU和CPU之间进行存取,这就需要用到CPU,因为这是它的强项。
内存条:主要进行CPU和外设之间的数据交换,它的存取速度要比硬盘快好几倍,但是价格比较昂贵,通常会和容量成正比。内存大小最起码最起码最起码要大于你所选择的GPU的内存的大小(最好达到显存的二倍,当然有钱的话越大越好)。在深度学习中,会涉及到大量的数据交换操作(例如按batch读取数据)。当然你也可以选择将数据存储在硬盘上,每次读取很小的batch块,这样你的训练周期就会非常长。常用的方案是“选择一个较大的内存,每次从硬盘中读取几个batch的数据存放在内存中,然后进行数据处理”,这样可以保证数据不间断的传输,从而高效的完成数据处理的任务。
电源问题:一个显卡的功率接近300W,四显卡建议电源在1500W以上,为了以后扩展,可选择更大的电源。
固态硬盘:作为一个“本地存储器”,主要用于存储各种数据。由于其速度较慢,价格自然也比较便宜。建议你选择一个较大容量的硬盘,通常会选择1T/2T。一个好的方法是:“你可以利用上一些旧的硬盘,因为硬盘的扩展十分简单,这样可以节省一部分资金。”
‘叁’ 做深度学习,需要配置专门的GPU服务器吗
深度学习是需要配置专门的GPU服务器的:
深度学习的电脑配置要求:
1、数据存储要求
在一些深度学习案例中,数据存储会成为明显的瓶颈。做深度学习首先需要一个好的存储系统,将历史资料保存起来。
主要任务:历史数据存储,如:文字、图像、声音、视频、数据库等。
数据容量:提供足够高的存储能力。
读写带宽:多硬盘并行读写架构提高数据读写带宽。
接口:高带宽,同时延迟低。
传统解决方式:专门的存储服务器,借助万兆端口访问。
缺点:带宽不高,对深度学习的数据读取过程时间长(延迟大,两台机器之间数据交换),成本还巨高。
2、CPU要求
当你在GPU上跑深度网络时,CPU进行的计算很少,但是CPU仍然需要处理以下事情:
(1)数据从存储系统调入到内存的解压计算。
(2)GPU计算前的数据预处理。
(3)在代码中写入并读取变量,执行指令如函数调用,创建小批量数据,启动到GPU的数据传输。
(4)GPU多卡并行计算前,每个核负责一块卡的所需要的数据并行切分处理和控制。
(5)增值几个变量、评估几个布尔表达式、在GPU或在编程里面调用几个函数——所有这些会取决于CPU核的频率,此时唯有提升CPU频率。
传统解决方式:CPU规格很随意,核数和频率没有任何要求。
3、GPU要求
如果你正在构建或升级你的深度学习系统,你最关心的应该也是GPU。GPU正是深度学习应用的核心要素——计算性能提升上,收获巨大。
主要任务:承担深度学习的数据建模计算、运行复杂算法。
传统架构:提供1~8块GPU。
4、内存要求
至少要和你的GPU显存存大小相同的内存。当然你也能用更小的内存工作,但是,你或许需要一步步转移数据。总而言之,如果钱够而且需要做很多预处理,就不必在内存瓶颈上兜转,浪费时间。
主要任务:存放预处理的数据,待GPU读取处理,中间结果存放。
深度学习需要强大的电脑算力,因此对电脑的硬件配置自然是超高的,那么现在普通的高算力电脑需要高配置硬件。