为什么自建深度学习机器?因为比AWS便宜10倍啊!

Posted 机器之心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么自建深度学习机器?因为比AWS便宜10倍啊!相关的知识,希望对你有一定的参考价值。

选自Medium

机器之心编译

参与:王淑婷、李亚洲、思源


如果你用过或者正在考虑将 AWS/Azure/Google Cloud 用于机器学习,你就会知道 GPU 使用成本有多高。此外,开、关机器对自己的工作流也有极大的破坏。更好的选择是,自己搭建机器。这篇文章表明,自建机器要比租赁机器便宜 10 倍,也更容易使用。



建立一个可扩展的深度学习计算机 W/1 高档 GPU 只需要花费 3000 美元


我建的机器只花费了 3000 美元,下面是花费清单,包括一张 1080Ti(你可以多加 500 美元使用全新的 2080Ti 做机器学习,但注意要加上增压风机设计)、一个 12 核 CPU、64GB 的 RAM 和 1TB 的 M.2 SSD。你还可以在这台机器上多加 3 张 GPU。


为什么自建深度学习机器?因为比AWS便宜10倍啊!

税前 3000 美元的计算机零件。如果替换为更便宜的部件,你可以把总价压缩到 2000 美元。


自建机器要比在 AWS/EC2 上租机器便宜 10 倍,而且同样高性能


假设自建的机器(带有一张 GPU)三年内贬值到 0(非常保守了),下表显示,如果使用超过 1 年,即使包括电费,它也要比租赁机器便宜 10 倍。如果你有多年租约,亚马逊会打折。即便这样,折算下来自建还是要比亚马逊价便宜 4-6 倍。如果你一次签订多年租赁合约,支付几千至上万美元,那不妨考虑自建机器。如果自建的机器包含 4 块 GPU,1 年内成本要低 21 倍,更为可观。


为什么自建深度学习机器?因为比AWS便宜10倍啊!


自建机器与 AWS 租赁机器的成本对比。根据使用程度,一块 GPU 的机器要便宜 4-10 倍,4 块 GPU 的机器要便宜 9-21 倍。AWS 有租赁一年和租三年的折扣(分别便宜 35% 和 60%)。电力消耗假定为 0.2 美元每 kWh,一块 GPU 的机器消耗 1kW/h,4 块 GPU 机器消耗 2kW/h,且保守估计三年线性折旧整个自建机器。每多加一块 GPU,成本增加 700 美元(税前)。


自建机器有一些缺点,例如较慢的下载速度,因为并不是主干网,静态 IP 需要远程接入。一两年后,可能需要更新 GPU,但因为搭建时节约的成本非常可观,所以仍然很值。


如果你正准备使用 2080Ti 作为深度学习计器的计算引擎,那么它要多花 500 多美元,但对于单张 GPU 的机器来说,仍然要便宜 4-9 倍。云 GPU 机器价格大约为 3 美元/小时,即使不使用机器进行计算也要付费。


这种巨大的成本差异主要是因为 Amazon Web Services EC2(或者谷歌云与微软 Azure)的 GPU 费用太高,即 3 美元/小时或约为 2100 美元/月。在斯坦福,我使用云机器实现语义分割项目,账单需要 1000 美元。我也尝试使用谷歌云来做项目,账单高达到 1800 美元。这主要是因为我没仔细监控使用情况并按时关闭机器,唉~~


此外即使我们关闭了机器,同样还需要以每月每 GB 0.10 美元的价格支付储存费用,所以我每月需要支付 100 美元的费用来储存数据。


几个月内就回收成本


对于花 3000 美元搭建的单张 GPU 机器(1 kW/h),如果经常使用,我们在两月内就能达到不赚不赔。这并不表示我们仍拥有完整的计算机器,不会产生一点折旧,但搭建个人机器还是一个很明智的选择。此外,分析表明搭建 4 张 GPU 的机器能获利更多,因为常用的话我们可以在一个月内达到收支平衡(假定电费为 0.20/kWh)。


我们的 GPU 性能与 AWS 相当


与云 Nvidia V100 GPU(使用新一代 Volta 技术)相比,我们价值 700 刀的 Nvidia 1080 Ti 以 90% 的速度运行。这是因为云 GPU 在实例和 GPU 之间的 IO 速度很慢,所以尽管理论上来说,V100 可能要快个 1.5-2 倍,但实际上 IO 会拖慢其速度。因为我们采用的是 M.2 SSD,所以 IO 在我们的电脑上运行速度非常快。


V100 的显存也更大,有 16 个 G,不过如果你把批大小设置得小一点,模型效率提高一点,那么显存只有 11 个 G 也没什么关系。


跟在线租赁上一代 Nvidia K80(更便宜,1 美元/每小时)相比,我们的 1080 Ti 比它强多了,训练速度就提高了 4 倍。在基准测试中,我发现它快了 3-4 倍(我将在随后的帖子中说明如何进行基准测试)。每块 K80 GPU 的显存有 12 个 G,这是相比于 11GB 1080 Ti 的一个小优势。


AWS 价格昂贵,因为亚马逊只能使用更贵的 GPU


数据中心比较昂贵的一个原因是:他们使用的不是 Geforce 1080 Ti。根据合同,英伟达禁止在数据中心使用 GeForce 和 Titan 卡。所以亚马逊和其他供应商不得不使用 8500 多刀的数据中心版 GPU,因此他们给出的租赁价格也高。


自己搭建比购买强


首先,我们得决定是买一台电脑还是自己搭建比较好,但是自己搭建要便宜个 40-50% 呢。自己搭建的话,预制的计算机器至少需要花费 5000 刀,推荐的两个产品是 MITXPC Deep Learning DevBox 和 The MITXPC MWS-X299MDL CUDA Workstation。


实际上我们并不必要买成品的服务站。自己搭建电脑比较难的一步是找到适合机器学习的部件,并确保它们能好好工作。关于这个我接下来会说明。构建计算机机身并不难,第一次上手的人 6 小时之内可以完成,而专业人员则一小时不到。


自己搭建可以利用大降价来购买零件!


每年新一代硬件出来之后,旧的硬件就会降价。比如,当 AMD 出了 Threadripper 2 CPU,它的 1920X 处理器价格从 800 刀降到了 400 刀。因此,降价的时候你可以立马采取行动,这会省下不少钱。


自行搭建允许我们选择零部件


因为能选择零部件,我们可以扩展到 4 块 GPU,或者使用其它方法优化计算系统。我查看了一些现成的搭建方法,有的并不能扩展到 4 块 GPU,或者并不能进一步提升系统性能。这些方法存在一些问题,例如一块 CPU 不会有 36+的 PCIe 线程、主板在物理上插不了 4 块 GPU、电源功率低于 1400W 且 CPU 的核心数少于 8 等。


我个人认为普通的电脑机箱看起来非常丑陋,因此我们同样要确保零附件具有设计美感。例如确保噪声低和附件对机器学习有帮助等,因为 SATA3 SSD 的读写速度为 600MB/sec,而 M.2 PCIe SSD 快了 5 倍,并达到了 3.4GB/sec。


如何开始搭建


在下一篇博客中,我将讨论怎么选择组件来搭建自己的电脑。如果你想抢先开始搭建,可以查看我公开的零件清单和价格,然后着手定制。



2018AIIA人工智能开发者大会将于2018年10月15日到16日在苏州国际博览中心举办。点击阅读原文链接报名。

以上是关于为什么自建深度学习机器?因为比AWS便宜10倍啊!的主要内容,如果未能解决你的问题,请参考以下文章

机器学习竞赛中,为什么GBDT往往比深度学习更有效?

哪里可以便宜地托管小型 GPU 机器学习 API

AWS CTO:解读首选 MXNet 做为 AWS 的深度学习框架的原因

使用Amazon AWS搭建GPU版tensorflow深度学习环境

用不到1000美元攒一台深度学习用的超快的电脑:继续深度学习和便宜硬件的探奇!

如何在AWS运行Jupyter Notebook