教程 | 从硬件配置、软件安装到基准测试,1700美元深度学习机器构建指南 来源:机器之心 原标题:教程 | 从硬件配置、软件安装到基准测试,1700美元深度学习机器构建指南 选自Medium 作者:Slav 机器之心编译 参与:Quantum Cheese、Lj Linjing、蒋思源 在用了十年的 MacBook Airs 和云服务以后,我现在要搭建一个(笔记本)桌面了 几年时间里我都在用越来越薄的 MacBooks 来搭载一个瘦客户端(thin client),并已经觉得习以为常了。所以当我涉入深度学习(DL)领域后,我毫不犹豫的选择了当时最新的 Amazon P2 云服务。该云服务不需要预付成本,能同时训练很多个模型,并且还能让一个机器学习模型慢慢地训练自己。 但随着时间推移,AWS(亚马逊云服务)的账单逐渐越堆越高,即便我换成了便宜十倍的 Spot instances 也没用。而且我也没有同时训练过多个模型。在模型训练的时候,我会去吃午饭,锻炼等等,然后带着一个更清晰的头脑回来查看它。 但最终我模型的复杂度增加了,训练时间也变得更长。对一个刚完成两天训练的模型,我经常会忘记之前对它进行了哪些不同的操作。受到其他同行在 Fast.AI Forum 上讨论更好经验的激励,我决定买一个专用的深度学习盒子(DL box)放在家里。 最重要的原因就是能在进行模型的原型设计时节省时间,如果我们能训练地更快,反馈时间也会更短。这能让我们更容易的在头脑中建立起模型假设和结果之间的联系。 而且我也想省钱,我之前用的是亚马逊网络服务(AWS),它通过 Nvidia K80 的 GPU 来提供 P2 instances。最近 AWS 的费用达到了每月 60 到 70 美元,还有增长的趋势。并且要储存大型数据集也很贵,比如 ImageNet 这样的。 最后一点,我已经有 10 年没有一个(笔记本的)桌面了,想看看现在有什么变化(这里剧透一下:基本上没变化)。 下面是我的选择:从选择配件到基准测试。 目录 1. 选择配件 2. 把它们组装在一起 3. 软件设置 4. 基准测试 选择配件 对我来说合理的预算是两年云计算服务的成本。以我目前的情况来看,即 AWS 每月 70 美元的使用费,那么总预算应该在 1700 美元左右。 PC Part Picker 这个网站非常有帮助,可以帮你发现是否某些配件放在一起并不好用。 你可以在这里查看所有使用过的配件:https://pcpartpicker.com/list/T6wHjc GPU GPU 是整个机箱里最关键的部件了。它训练深度网络的速度更快,从而缩短反馈循环(的周期)。 GPU 很重要是因为:a) 深度学习中绝大部分计算都是矩阵运算,比如矩阵乘法之类。而用 CPU 进行这类运算就会很慢。b)当我们在一个典型的神经网络中进行成千上万个矩阵运算时,这种延迟就会累加(我们也会在后面的基准训练部分看到这一点)。而另一方面,GPU 就更方便了,因为能并行的运行所有这些运算。他们有很多个内核,能运行的线程数量则更多。GPU 还有更高的存储带宽,这能让它们同时在一群数据上进行这些并行计算。 我在几个 Nvidia 的芯片之间选择:GTX 1070 (360 美元), GTX 1080 (500 美元), GTX 1080 Ti (700 美元),以及 Titan X(1320 美元)。 在性能方面,GTX 1080 Ti 和 Titan X 较接近,粗略来看 GTX 1080 大约比 GTX 1070 快了 25%,而 GTX 1080 Ti 则比 GTX 1080 快乐 30% 左右。 Tim Dettmers 有一篇更好的关于选择深度学习 GPU 的文章,而且他还经常会在新的芯片上市后更新博文: 下面是选购 GPU 时需要考虑的事情: 品牌:这里没什么可说的,选 Nvidia 就对了。它们已经专注于机器学习很多年了,并且取得了成果。他们的统一计算设备架构(CUDA)工具包在这个领域里有着不可撼动的地位,所以它真的是深度学习从业者唯一的选择。 预算:Titan X 在这方面真的没有任何优势,因为它比同样性能的 1080 Ti 贵了 500 多美元。 一个还是多个:我考虑过用一堆 1070s 去替代(单个)1080 或 1080 Ti。这能让我在两个芯片上训练一个模型,或同时训练两个模型。目前在多个芯片上训练一个模型还有点麻烦,不过现在有所转机,因为 PyTorch 和 Caffe 2 提供了随着 GPU 数量几乎成线性提升的训练规模。另一个选择—同时训练两个模型似乎更有价值,但我决定现在先用一个强大的核心,以后再添加另一个。 内存:内存越大当然就越好了。更多的存储空间能让我们部署更大的模型,并且在训练时使用足够大的批量大小(这会对梯度流很有帮助)。 存储带宽:这能让 GPU 在更大的内存上运行。Tim Dettmers 指出这对于一个 GPU 来说是最重要的指标。 考虑到所有这些,我选择了 GTX 1080 Ti,主要是考虑到训练速度的激增。我计划很快再增加一个 1080 Ti。 CPU (责任编辑:本港台直播) |