深度学习机器配置

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

深度学习机器配置

方案一:配置一个“本地服务器”–通俗来说就是一台“高配”电脑。

优点:比较自由,不受约束。

缺点:价格昂贵,需要考虑金钱问题。(配置一台初级的深度学习主机大概需要左右)

适用情况:

1)你本人有充足的的资金;

2)需要发表论文,多次训练自己的Model;

3)尝试运行别人的Model;

4)想要从事深度学习领域的研究;

方案二:配置一台自己的“云服务器主机”

优点:可以按照项目的需要选择合适的配置,比较灵活。

缺点:针对个人来讲,价格还是比较贵的。

适用情况:

1)由于项目的需要,需要使用到深度学习,需要训练Model;

2)初创企业

注:根据我个人的了解,当前云服务器的计费方式主要有两种:按时计费、按月计费和按年计费。国内有的公司提供了相应的GPU服务器和FPGA服务器平台,但是还处于测试阶段。

方案三:配置一个“深度学习集群”

优点:更快更高效的获得自己的Model,即加快开发的效率;

缺点:对于个人来讲不太现实,一般是大公司的选择;

适用情况:

1)具有雄厚基金的大公司,如BAT等都有自己的深度学习集群平台和自己的深度学习框架;2)深度学习领域的初创公司;以上就是3种训练Model的方式,下面我将会给出一些有用的云服务器连接,感兴趣的同学可以自己探索。

百度AI云服务器,支持PaddelPaddel和Tensorflow

腾讯云服务器,支持GPU云服务器和FPGA云服务器,后者处于内测阶段

阿里云服务器,支持GPU云服务器和FPGA云服务器,后者处于内测阶段

华为机器学习云服务器

微软云服务器,国内不支持GPU服务器,北美支持

联众集群,一个专业的GPU集群解决方案提供商

配置深度学习主机

要配置一台深度学习主机,需要选择合适的CPU、GPU、内存条、固态硬盘、电源、散热、机箱、主板等(最好支持PICE,应用于多GPU的其概况下)。

GPU:即图像处理单元,最为一个并行处理器,起初是专门用来处理图像的,但是由于大数据的驱动,如今的它已经广泛的应用到了多个领域中,包括“深度学习”“智能驾驶”“VR”等。

由于它可以利用多个线程来进行高速的矩阵运算,而深度学习中会涉及到很多的矩阵运算。这正是它的用武之地。因此选择一个合适的GPU变得“至关重要”。

深度学习中常用的GPU包括:GTX960,GTX970,GTX1080,TiTan x,GTX1080Ti等,以上的GPU都属于GeForce系列,进行“单浮点运算”,都是一些比较新的型号具有很强的性能,按照以上的顺序性能依次提升,最主要的改变是在“架构和SM(线程个数)”方面,960,970都属于“Maxwell架构”,而后三者都是“Pascal架构”。他们的价格也是逐渐升高,需要根据自己的资本选择合适的GPU。总之“一个好的GPU可以将你的训练时间从几周缩减成几天”。

CPU:作为一个高速的串行处理器,常用来作为“控制器”使用,用来发送和接收指令,解析指令等。

深度学习为什么需要CPU?

最主要的原因是:由于GPU内部结构的限制,使得它比较适合进行高速的并行运算,而并不适合进行快速的指令控制,而且许多的数据需要在GPU和CPU之间进行存取,这就需要用到CPU,因为这是它的强项。

内存条:主要进行CPU和外设之间的数据交换,它的存取速度要比硬盘快好几倍,但是价格比较昂贵,通常会和容量成正比。通常选择16GB,如果有足够的资金,可以考虑购买一个32GB的内存,这会在训练较大的模型时展现它的优势。

主板:用来组装电路的PCB板,对于深度学习来讲,最重要的就是内存和PCIE的卡槽,集群深度学习

在模型并行化(model parallelism )方法里,分布式系统中的不同机器负责单个网络模型的不同部分——例如,神经网络模型的不同网络层被分配到不同的机器。

在数据并行化(data parallelism )方法里,不同的机器有同一个模型的多个副本,每个机器分配到数据的一部分,然后将所有机器的计算结果按照某种方式合并。

假设有一个多GPU集群系统。我们可以在同一台机器上采用模型并行化(在GPU之间切分模型),在机器之间采用数据并行化。

何时使用分布式深度学习

分布式的深度学习并不总是最佳的选择,需要视情况而定。

分布式训练并不是免费——由于同步、数据和参数的网络传输等,分布式系统相比单机训练要多不少额外的必要开销。若要采用分布式系统,我们则希望增添机器带来的收益能够抵消那些必要开销。而且,分布式系统的初始化(比如搭建系统和加载数据)和超参数调优也比较耗时。因此,我们的建议非常简单:继续用单机训练网络模型,直到训练时间过长。

有两种原因可能导致网络模型的训练时间过长:网络规模太大或是数据量太大。事实上,若这两者不匹配(大模型配小数据,小模型配大数据)这可能导致欠拟合和过拟合—— 都将导致最终训练得到的模型缺少泛化能力。

相关文档
最新文档