全球旧事资料 分类
”,而后三者都是“Pascal架构”。他们的价格也是逐渐升高,需要根据自己的资本选择合适的GPU。总之“一个好的GPU可以将你的训练时间从几周缩减成几天”。
CPU:作为一个高速的串行处理器,常用来作为“控制器”使用,用来发送和接收指令,解析指令等。深度学习为什么需要CPU?最主要的原因是:由于GPU内部结构的限制,使得它比较适合进行高速的并行运算,而并不适合进行快速的指令控制,而且许多的数据需要在GPU和CPU之间进行存取,这就需要用到CPU,因为这是它的强项。内存条:主要进行CPU和外设之间的数据交换,它的存取速度要比硬盘快好几倍,但是价格比较昂贵,通常会和容量成正比。通常选择16GB,如果有足够的资金,可以考虑购买一个32GB的内存,这会在训练较大的模型时展现它的优势。主板:用来组装电路的PCB板,对于深度学习来讲,最重要的就是内存和PCIE的卡槽,
集群深度学习
在模型并行化(modelparallelism)方法里,分布式系统中的不同机器负责单个网络模型的不同部分例如,神经网络模型的不同网络层被分配到不同的机器。
f在数据并行化(dataparallelism)方法里,不同的机器有同一个模型的多个副本,每个机器分配到数据的一部分,然后将所有机器的计算结果按照某种方式合并。
假设有一个多GPU集群系统。我们可以在同一台机器上采用模型并行化(在GPU之间切分模型),在机器之间采用数据并行化。
何时使用分布式深度学习
分布式的深度学习并不总是最佳的选择,需要视情况而定。分布式训练并不是免费由于同步、数据和参数的网络传输等,分布式系统相比单机训练要多不少额外的必要开销。若要采用分布式系统,我们则希望增添机器带来的收益能够抵消那些必要开销。而且,分布式系统的初始化(比如搭建系统和加载数据)和超参数调优也比较耗时。因此,我们的建议非常简单:继续用单机训练网络模型,直到训练时间过长。
有两种原因可能导致网络模型的训练时间过长:网络规模太大或是数据量太大。事实上,若这两者不匹配(大模型配小数据,小模型配大数据)这可能导致欠拟合和过拟合都将导致最终训练得到的模型缺少泛化能力。
fr
好听全球资料 返回顶部