社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

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

机器之心 • 5 年前 • 319 次点击  

选自Medium

作者:Jeff Chen

机器之心编译

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


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



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


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


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


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


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



自建机器与 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。


如何开始搭建


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


地址如下:https://pcpartpicker.com/b/B6LJ7P


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


今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/RoHya2iCXh
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/24405
 
319 次点击