【测评】GPU训练机器学习模型哪家强?AWS、谷歌云、IBM等6大平台对比

简介: 使用官方数据和Credit,初创公司Rare Technologies最近发布了一个超大规模机器学习基准,对比了AWS、谷歌云、IBM等6家GPU硬件平台,从配置到训练时间、精度、价格等各方面。AWS和谷歌虽然整合性能好,但是性价比还是LearderGPU这样的新公司占优。

随着越来越多的现代机器学习任务都需要使用GPU,了解不同GPU供应商的成本和性能trade-off变得至关重要。

初创公司Rare Technologies最近发布了一个超大规模机器学习基准,聚焦GPU,比较了几家受欢迎的硬件提供商,在机器学习成本、易用性、稳定性、可扩展性和性能等方面的性能。

ecf580b0edbd969c91914a2a7ac2254cda1c6440

在6大GPU硬件平台上,执行Twitter情绪分类任务(大约150万条推文,4个时期),训练双向LSTM的成本。由上图可知,专用服务器是控制成本的最佳选择。

这项基准测试横向比较了以下硬件平台:亚马逊AWS EC2谷歌Google Cloud Engine GCEIBM SoftlayerHetznerPaperspace以及LeaderGPU,这些硬件提供商都在这项测试期间提供了credits和支持。基准发布时,微软Azure官方还没有回应,因此很遗憾没有纳入比较。

不过,这项测试还是涵盖各种不同类型的GPU平台:提供虚拟机的(AWS,GCE),裸机基础设施(Softlayer),专用服务器(Hetzner)和专门提供GPUaaS的(LeaderGPU,Paperspace),也算很全面。研究人员也表示,他们希望通过测试,看看高端GPU是否更真的值价。

先说结果,经过这个测试后他们发现:

a75140e86ffe3312158bff1caa50eb286c4fa2c3

*这些是多GPU实例的结果,使用multi_gpu_model的multi_gpu_model函数在所有GPU上训练模型,后来发现对多GPU利用率不足。

**由于上述原因,这些GPU模型仅使用多GPU种的其中一个进行训练。

+ Hzzner是按月收费,提供专用服务器。

基准设置:Twitter文本情绪分类任务

接下来,我们将详细讨论和比较所有的平台,以及这项测试的情况。

任务 这项基准使用的是情绪分类任务(sentiment classification task [1])。具体说,训练双向LSTM来对Twitter的推文做二元分类。算法的选择并不是很重要,作者Shiva Manne表示,他对这个基准测试的唯一真正要求,是这项任务是否应该是GPU密集型的。为了确保GPU的最大利用率,他使用了由CuDNN( CuDNNLSM层)支持的Keras快速LSTM实现。

数据集 Twitter情绪分析数据集(Twitter Sentiment Analysis Dataset [2]),包含1,578,627条分过类的推文,每行用“1”标记为积极情绪,“0”表示消极情绪。模型对90%(shuffled)数据进行了4个epoch的训练,剩下的10%用于模型评估。

Docker 为了可重复性,他们创建了一个Nvidia Docker镜像 ,其中包含重新运行此基准测试所需的所有依赖项和数据。Dockerfile和所有必需的代码可以在这个Github[3]库中找到。

订购和使用:LeaderGPU、AWS、Paperspace尤其适合初学者

在LeaderGPU和Paperspace上的订购过程非常顺畅,没有任何复杂的设置(settings)。与AWS或GCE相比,Paperspace和LeaderGPU的供应时间要稍长一些(几分钟)。

LeaderGPU,Amazon和Paperspace提供免费的深度学习机器图像(Deep Learning Machine Images),这些图像预安装了Nvidia驱动程序,Python开发环境和Nvidia-Docker,基本上立即就能启动实验。这让事情变得容易很多,尤其是对于那些只希望尝试机器学习模型的初学者。但是,为了评估定制实例满足个性化需求的难易程度,Manne从零开始(除了LeaderGPU),设置了所有的东西。在这个过程中,他发现了各家平台常见的一些问题,例如NVIDIA驱动与安装的gcc版本不兼容,或者在安装驱动之后,没有证据表明正在运行程序,但GPU的使用率却达到100%。

意外的是,在Paperspace低端实例(P6000)上运行Docker导致错误,这是由由Docker上的Tensorflow是由源优化(MSSE,MAVX,MFMA)构建的,而Paperspace实例不支持。在没有这些优化的情况下运行Docker可以解决这个问题。

至于稳定性,各家表现都很好,没有遇到任何问题。

成本:专用服务器是控制成本的最佳选择;更便宜的GPU性价比更高

不出所料,专用服务器是控制成本的最佳选择。这是因为Hetzner按月收费,这意味着每小时的价格非常低,而且这个数字是按比例分摊的。所以,只要你的任务足够多,让服务器不会闲着,选择专用服务器就是正确的

在虚拟机供应商中,Paperspace是明显的赢家。在低端GPU领域,在Paperspace上训练模型的价格比AWS便宜两倍($1.6 vs $3.3)。Paperspace进一步显示了,在高端GPU部分也有类似的成本效益模式。

刚才你可能已经看过这张图了,不过配合这里讨论的话题,再看一次:

83ef60cf0009691e709045eaa8ccb26a905d9054

基准测试结果:在各种GPU硬件平台上对Twitter情绪分类任务(大约150万条推文,4个时期)进行双向LSTM训练的成本。

在AWS和GCE之间,低端GPU是AWS稍贵($3.3 vs $2.4),但在高端GPU领域则反了过来($3.3 vs $3.4)。这意味着,选高端GPU,AWS可能更好,多付出的那部分价钱或许能收到回报

需要指出,IBM Softlayer和LeaderGPU看起来很贵,主要是由于其多GPU实例的利用率不足。这项基准测试使用Keras框架进行,因此多GPU实现的效率惊人地低,有时甚至比同一台机器上运行的单个GPU更差。而这些平台都不提供单个的GPU实例。在Softlayer上运行的基准测试使用了所有可用的GPU,使用multi_gpu_model的multi_gpu_model函数,而multi_gpu_model上的测试只使用了一个可用的GPU。这导致资源利用不足,产生了很多的额外成本。

另外,LeaderGPU提供了更强大的GPU GTX 1080 Ti和Tesla V100,价格却与GTX 1080和Tesla P100相同(每分钟)。在这些服务器上运行,肯定会降低整体成本。综上,LeaderGPU在图表中,低端GPU成本部分,实际上是相当合理的。如果你打算使用非Keras框架,更好地利用多个GPU时,记住这些很重要。

另外还有一个大趋势,更便宜的GPU比更贵的GPU性价比更高,这表明训练时间的减少,并不能抵消总成本的增加

使用Keras做多GPU训练模型:加速难以预测

既然也说到了使用Keras训练多GPU模型,就多说几句。

很多学术界和产业界人士非常喜欢使用像Keras这样的高级API来实现深度学习模型。Keras本身也很流行,接受度高,迭代更新也快,用户会以为使用Keras就不需要任何额外处理,能加快转换到多GPU模型。

但实际情况并非如此,从下图可以看出。

0c18aa6143096c5a475a4455dcaae1aec722905b

加速相当难以预测,与“双P100”服务器上的单GPU训练相比,“双GTX 1080”服务器显然有了加速,但多GPU训练却花费了更长的时间。这种情况在一些博客和Github issue中都有提出,也是Manne在调查成本过程中遇到的值得注意的问题。

模型精准度、硬件定价、现货测评及最新体验感受

模型精准度

我们在训练结束时对模型最终的精度做了完整性测试,从表1可以看出,底层硬件/平台对训练质量没有影响,基准设置正确。

硬件定价

GPU价格变化频繁,但目前AWS提供的K80 GPU(p2实例)起价为0.9美元/小时,以1秒为增量计费,而更强大且性能更高的Tesla V100 GPU(p3实例)起价为3.06美元/小时。数据传输、弹性IP地址和EBS优化实例等附加服务需要支付额外费用。 GCE是一种经济的替代方案,它可以按照0.45美元/小时和1.46美元/小时的价格分别提供K80和P100。这些收费以一秒为增量,并通过基于折扣的使用有可观的奖励。尽管与AWS不同,它们需要附加到CPU实例(n1-standard-1,价格为0.0475美元/小时)。

Paperspace在低成本的联盟中与GCE竞争,专用GPU有Quadro M4000,0.4美元/小时,也有2.3美元/小时的Tesla V100。除了惯常的小时费外,他们还要收取月租费(每月5美元),服务包括储存和维修。以毫秒为基础的论文空间账单,附加服务可以以补充成本获得。 Hetzner每月仅提供一台配备GTX 1080的专用服务器,并额外支付一次设置费用。

IBM Softlayer是市场上为数不多的每月和每小时提供带有GPU的裸机服务器的平台之一。它提供3个GPU服务器(包含特斯拉M60s和K80s),起价为2.8美元/小时。这些服务器具有静态配置,这意味着与其他云提供商相比,其定制可能性有限。以小时为单位的软计算结果也是非常糟糕的,而且对于短时间运行的任务而言可能更昂贵。

LeaderGPU是一个相对较新的玩家,它提供了多种GPU(P100s,V100s,GTX1080s,GTX1080Ti)的专用服务器。用户可以利用按秒计费的每小时或每分钟定价。服务器至少有2个GPU,最多8个GPU,价格从0.02欧元/分钟到0.08欧元/分钟。

现货/抢先实例

某些平台在其备用计算容量(AWS spot实例和GCE的抢先实例)上提供了显着的折扣(50%-90%),尽管它们随时可能意外终止。这会导致高度不可预测的训练时间,因为不能保证实例何时再次启动。对于可以处理这种终端但是有许多任务的应用程序来说,这很好,而时间限制的项目在这种情况下不会很好(特别是如果考虑浪费的劳动时间)。

在抢先实例上运行任务需要额外的代码来优雅地处理实例的终止和重新启动(检查点/将数据存储到永久磁盘等)。此外,价格波动可能导致成本在很大程度上取决于基准运行时的产能供求。这将需要多次运行来平均成本。鉴于在完成基准测试时所花的时间有限,我没有以现场/先发实例为基准。

体验评论

Paperspace似乎在性能和成本方面领先一步,尤其适合希望深度学习技术的实验在另一个基准测试中得出类似的结论。

专用服务器(如LeaderGPU提供的服务器)和裸机服务器(如Hetzner)适合考虑长期使用这些资源(doh)的用户。但请注意,由于在定制服务器方面灵活性较差,因此请确保您的任务具有高度的CPU / GPU密集度以真正感受物超所值。

像Paperspace和LeaderGPU这样的新玩家不应该被解雇,因为他们可以帮助削减大部分的成本。由于相关的惯性和转换成本,企业可能不愿意切换提供商,但这些小型平台绝对值得考虑。

AWS和GCE对于寻求与其他服务集成的用户来说是非常棒的选择(AI集成 - 亚马逊的Rekognition,Google的Cloud AI)。

除非你计划需要几天完成任务,否则坚持一个低端的单个GPU实例是最好的选择。

更高端的GPU运行更快,但实际上投资回报率更差。只有在较短的训练时间(较少的研发周期)比硬件成本更重要时,才应该选择这些方案。


原文发布时间为:2018-02-10

本文作者:Shiva Manne

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号

原文链接:【测评】GPU训练机器学习模型哪家强?AWS、谷歌云、IBM等6大平台对比

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
相关文章
|
16天前
|
机器学习/深度学习 数据采集 人工智能
构建高效机器学习模型的五大技巧
【4月更文挑战第7天】 在数据科学迅猛发展的今天,机器学习已成为解决复杂问题的重要工具。然而,构建一个既精确又高效的机器学习模型并非易事。本文将分享五种提升机器学习模型性能的有效技巧,包括数据预处理、特征工程、模型选择、超参数调优以及交叉验证。这些方法不仅能帮助初学者快速提高模型准确度,也为经验丰富的数据科学家提供了进一步提升模型性能的思路。
|
21天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型的最佳实践
【4月更文挑战第3天】在数据驱动的时代,构建高效的机器学习模型已成为解决复杂问题的关键。本文将探讨一系列实用的技术策略,旨在提高模型的性能和泛化能力。我们将从数据预处理、特征工程、模型选择、超参数调优到集成学习等方面进行详细讨论,并通过实例分析展示如何在实践中应用这些策略。
16 1
|
1天前
|
机器学习/深度学习 数据采集 人工智能
构建高效机器学习模型的最佳实践
【4月更文挑战第23天】在数据驱动的时代,机器学习已成为创新的核心动力。本文深入探讨了构建高效机器学习模型的关键步骤,包括数据预处理、特征工程、模型选择、训练技巧以及性能评估。通过实例分析与经验总结,旨在为从业者提供一套实用的技术指南,帮助他们在复杂数据环境中提升模型的准确性和泛化能力。
|
6天前
|
机器学习/深度学习 存储 算法
PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
PYTHON集成机器学习:用ADABOOST、决策树、逻辑回归集成模型分类和回归和网格搜索超参数优化
26 7
|
6天前
|
机器学习/深度学习 算法 数据处理
构建自定义机器学习模型:Scikit-learn的高级应用
【4月更文挑战第17天】本文探讨了如何利用Scikit-learn构建自定义机器学习模型,包括创建自定义估计器、使用管道集成数据处理和模型、深化特征工程以及调优与评估模型。通过继承`BaseEstimator`和相关Mixin类,用户可实现自定义算法。管道允许串联多个步骤,而特征工程涉及多项式特征和自定义变换。模型调优可借助交叉验证和参数搜索工具。掌握这些高级技巧能提升机器学习项目的效果和效率。
|
8天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从特征工程到模型调优
【4月更文挑战第16天】 在数据驱动的时代,机器学习已成为解决复杂问题的关键工具。本文旨在分享一套实用的技术流程,帮助读者构建高效的机器学习模型。我们将重点讨论特征工程的重要性、选择合适算法的策略,以及通过交叉验证和网格搜索进行模型调优的方法。文章的目标是为初学者提供一个清晰的指南,同时为有经验的实践者提供一些高级技巧。
|
8天前
|
机器学习/深度学习 人工智能 分布式计算
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
R和Python机器学习:广义线性回归glm,样条glm,梯度增强,随机森林和深度学习模型分析
13 0
|
14天前
|
机器学习/深度学习 JavaScript 前端开发
机器学习模型部署:使用Python和Vue搭建用户友好的预测界面
【4月更文挑战第10天】本文介绍了如何使用Python和Vue.js构建机器学习模型预测界面。Python作为机器学习的首选语言,结合Vue.js的前端框架,能有效部署模型并提供直观的预测服务。步骤包括:1) 使用Python训练模型并保存;2) 创建Python后端应用提供API接口;3) 利用Vue CLI构建前端项目;4) 设计Vue组件实现用户界面;5) 前后端交互通过HTTP请求;6) 优化用户体验;7) 全面测试并部署。这种技术组合为机器学习模型的实用化提供了高效解决方案,未来有望更加智能和个性化。
|
18天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据预处理到模型优化
【4月更文挑战第6天】本文聚焦于机器学习模型的开发流程,旨在提供一套系统的方法论以构建出更高效的模型。我们将深入探讨数据预处理的重要性,特征工程的策略,以及如何通过交叉验证和超参数调优来提升模型性能。文章不仅涉及理论分析,还包括了实际案例的代码实现,为读者呈现一个从数据处理到模型部署的完整蓝图。
14 0
|
19天前
|
机器学习/深度学习 数据采集 算法
构建高效机器学习模型:从数据预处理到模型优化
【4月更文挑战第5天】 在机器学习领域,构建一个高效的模型并非易事。它涉及多个阶段,包括数据预处理、特征工程、模型选择、训练以及最终的评估和优化。本文深入探讨了如何通过精确的数据预处理技巧和细致的特征工程来提升模型性能,同时介绍了几种常见的模型优化策略。我们的目标是为读者提供一套实用的指导方案,帮助他们在面对复杂数据集时能够有效地构建和调整机器学习模型。