机器学习深度学习云GPU资源与对比


相信和我一样,有很多刚入门学习ML、DL的亲们都会遇到一个问题,那就是没有足够的算力去跑自己的网络。而自己去买一块显卡可能又成本太高。在我研究了数天,尝试了各种云资源之后,现在终于总结出低成本高效的云服务了。
本来想在这篇文章的标题加上“新手”两字的,但是实际上即使是高手也同样可以很好的使用到这些资源。


这次我介绍和对比的资源主要来自于以下几个平台

  • 微软Azure云

  • 谷歌GCP

  • 淘宝GPU机器

  • 美团云

(想看结论的亲们可以直接拉到最下面)


微软Azure云

Azure在国内并不是特别出名,而且国内的Azure也很坑(Azure分中国版和国际版),我们此次说的是国际版的Azure。

在国际版的Azure中,可以申请试用,这需要你有一张Visa或者MasterCard的信用卡。申请试用后可以在一个月内使用200美刀的额度,而且一个月后还可以继续使用Azure的免费服务。
https://azure.microsoft.com/zh-cn/free/

在这时,我们会发现,虽然有额度,但是有的区域的虚拟机是无法创建的,而可以创建的VM中好像没有GPU的机器。实际上是有的,只是藏得比较深。不过Azure的配额是可以通过反馈提交申请的,似乎也没有什么额外要求。下图是申请在东南亚区使用NV系列虚拟机成功后的邮件。

最终通过配额增加申请

显卡型号 单精度浮点 价格 位置
P100 | 10.6T | 1848 | 美国中南部
M60 | 9.7T | 894 | 美国东部2
K80 | 8.74T | 736 | 美国东部2

如果使用额度的话,看这样子是不是还可以,能跑几天?但是有个关键点,以上的单精度浮点运算能力并不是这个机器真实的运算能力。微软卖的是显卡核芯,双芯卡会被拆成两台机器来卖。比如如果选择的是K80的机器,实际单精度浮点性能只有4.111T

选择Azure时,配置上也有坑。如果选择的是普通的Windows或Linux系统,上面是不会预置任何东西的。Python、CUDA、CuDNN、甚至显卡驱动都要你自己装。但是在可选系统里其实是有已经配置好的系统可选的。打个比方,我可以在“新建”→“搜索”里搜索“tensorflow”。

Azure上完成配置的系统

在这里,搜索到的结果就是一些可选项,点进去就可以了。在后面的步骤中,和创建其他VM是一致的。


谷歌GCP

在网络上,如果仔细搜一搜,能找到不少推荐使用谷歌的GCP。GCP是一个很好的平台,但还是有不少坑。

首先,申请GCP的免费试用,同样需要Visa或者MasterCard。申请后,可以在一年内使用300美刀的额度。GCP的额度比起Azure的额度要好得多。GCP产品的平均价格比Azure低了一个档次,由于抢占式实例(先给你用着,有别人要就把你的关了,一次最多能开机24小时)的存在,更加高配的GPU虚拟机价格只有Azure的三分之一。在这里不得不提一下AWS,AWS本人并没有亲自使用过,由于它的申请步骤非常繁琐,而且给出的虚拟机配置参数在我能查到资料范围内不高,性价比也比较低,是除了BAT的云服务外最低的,因此没有尝试AWS。
https://console.cloud.google.com/freetrial

这里有个小问题,那就是没有Visa卡或MasterCard也同样有机会使用到300刀额度。解决方案是上淘宝买一个,价格是200块。我一开始就是在淘宝买的,也因此踏入了另一个坑

淘宝买的GCP账号是真的,也确实有300刀的额度,你也确实可以花它。问题却出在配额上。你这个免费账号是无法使用GPU机器的,因为你的GPU配额是0。当你在“IAM和管理”→“配额”中尝试增加配额的时候,GCP会发一封邮件给你,对于我们来说的有用信息是我们需要跟着它的步骤预付款,每个GPU额度35美刀,预付款后回复这封邮件,它会在24-48小时内处理。

如果没有Visa或MasterCard,是无法完成预付款的。那么你就只能使用CPU机器。没关系,CPU机器其实很便宜,对于初学者来说,CPU的性能其实也能一定程度上满足需求,而且CPU的价格比GPU要便宜得多。

如果你有Visa或MasterCard的卡,把卡添加到你的付款项然后选择支付即可。比如我要申请2个GPU的配额,那我就付70美刀。下图是通过GPU配额增加申请的结果。

最终通过GPU配额增加申请

一般来说,一张信用卡只能给一个账户激活免费额度。如果有长期GPU需求的其实可以在淘宝上买,用自己的卡去预付款,然后把自己的卡解绑。等额度用完了,就可以买下一个账户了。只用一个显卡的话,相当于用445RMB买到了335美刀的GCP产品,其实还是蛮划算的。

GCP创建虚拟机

GCP的机器和Azure的机器一样,都是按照核芯来卖。实际上2个核芯才能算是一个完整的显卡


淘宝GPU机器

淘宝上出租GPU机器用于ML和DL的并没有特别多家,他们的机器时常是处于缺货的状态。显卡是你需要什么显卡、要几个显卡就给你插多少在机器上。价格相比BAT的云服务低了很多,性能高了不少。然而相比Azure的免费、GCP的半免费来算,还是比较贵的。一个小时几块钱,一个月低配的几百,高配的上千。
(淘宝的链接就不用给了吧……)

如果没有什么更好的选择,淘宝上租赁GPU机器也未尝不是一个好办法。不过由于灵活性的问题,淘宝上的GPU机器应该更适合于已经完成小规模测试,需要跑大规模数据的那种情况。可以把这个GPU机器的价值最大化。

淘宝搜索GPU租用

短期租赁淘宝GPU机器并不划算, 这种机器比较适合长时间大规模数据的运行。


美团云

最好的要放在最后,这是一个定律。不得不说,在我尝试过的这几种方案中,美团云的服务是最好的。并不是有意给美团云打广告,我也没有领5毛(每条1元,括号内删除)。但美团云无论在价格还是配置上都能完全碾压前面几种方案。

美团云对于ML、DL的开发者来说,有两种产品可以使用。
1. GPU主机
2. 深度学习平台

这两者其实都很好理解,GPU主机就是带GPU的VM。而深度学习平台则是把你的代码、模型、数据集等放到云端去跑。实际上也有一些其他平台推出了这样的服务,但最关键的一点是,美团云的深度学习平台现在是免费的!我也不知道这个免费会持续多久,但即使开始收费,相信价格也会远低于其他平台,因为GPU主机就是一个例子。而且这个深度学习平台不用申请,没有前置需求。

目前的GPU主机是M60核心,在美团云的两个数据中心都有。与Azure、GCP一样都是按照核心卖的,因此单精度性能只有4T多。一颗核心的价格是1.16RMB/时(刚刚计算的)。美团云的机器也是经常性的缺货。用完了一定要删除机器,否则会继续扣费!可以保留镜像备份下次用。关于使用美团云,网上有一些教程,这里给出一个官方的教程链接。http://blog.csdn.net/leceall/article/details/78550795

美团云创建GPU云主机

深度学习平台是使用P40,每个单独的节点最多能使用4张显卡,最多能使用4个节点,但总量最多可以在一个任务里使用8张显卡。每张显卡都是完整的P40,有12T单精度和24G显存,可以胜任几乎全部的任务。平台支持Tensorflow和Caffe。使用这个深度学习平台的方法还是稍微有些复杂的。我同样贴一个官方教程的链接。http://blog.csdn.net/leceall/article/details/78550642

有些亲可能觉得麻烦就懒得用了,实际上这个是绝对值得使用的。在官方的文档中,列举了详细的使用方法和例程,各位亲一定要仔细看。因为之前我需要使用pandas,而官方镜像没有,我自己折腾了半天,最后发现可以自己配置镜像。所有碰到问题一定要仔细看文档。https://www.mtyun.com/doc/products/ai/dls/introduction

关于使用hdfs的文件,官方给出的是一语带过的用gfile模块。关于gfile的使用在百度上是搜不到的,TF官方给出的资料有的地方也有问题,很容易误解,Google可以搜到使用范例。我也给出一条加载文件的替换代码。

f=open('record5.csv')   #使用自带的open读入数据
df=pd.read_csv(f)     #读入数据

#以上替换为

f=tf.gfile.FastGFile(FLAGS.data_dir, "r")   #使用gfile无阻塞读入数据
df=pd.read_csv(f)     #读入数据

具体的使用方法就请各位看官方教程和文档以及自己摸索吧。可能一开始运行会失败很多很多次,各位可以查看log输出来定位问题所在。

我的美团云深度学习平台面板


总结

在看了这四种方法后,相信大家也已经有了一些自己的想法,但我还是来做一个总结吧,从各个方面来对这四个方法进行评分。

评价分析图

就是这样了,希望能帮到大家!
谢谢!

  • 17
    点赞
  • 88
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: 深度学习和机器学习是相关但不同的概念。机器学习是一类算法的统称,其中包括深度学习。深度学习是机器学习的一类,它使用深层神经网络来解决问题,在计算机视觉、语音识别、自然语言处理等领域取得了很好的效果。而机器学习还包括其他类型的算法,如决策树、随机森林、K近邻等。总之,深度学习是一种特殊的机器学习方法,在处理高维、大规模、高复杂度数据时有很好的性能,但对于一些简单的问题,其他的机器学习算法也可能是合适的。 ### 回答2: 深度学习和机器学习是现代人工智能领域中两种常见的技术方法,它们在解决问题和处理数据方面有许多共同之处,同时也存在一些区别和特点。 首先,深度学习和机器学习都是通过算法让机器从数据中获取知识或经验,并且在大规模数据集上进行训练和优化。它们可以处理各种类型的数据,如图像、音频、文本等。 机器学习是一种更广义的概念,它的目标是让机器通过学习从数据中提取模式或规律,并将这些模式应用于新数据。机器学习方法包括了许多不同的技术,如决策树、支持向量机和随机森林等。相比于深度学习,机器学习更加简单,易于理解和实现,且在小规模数据集上具有良好的效果。 深度学习是机器学习的一个子领域,它使用多层神经网络模型来模拟人脑的神经网络结构。相比于机器学习,深度学习具有更强大的学习能力,可以自动地从原始数据中学习到更高层次的抽象特征,并实现更复杂的任务,如图像分类、物体识别和自然语言处理等。然而,深度学习需要更大的计算资源和更多的训练数据,且模型的可解释性较差。 总结来说,机器学习相对简单,适用于小规模数据集和对模型可解释性要求较高的问题;而深度学习则更适合于处理复杂的大规模数据集和需要高度自动化学习能力的问题。在实际应用中,我们可以根据具体的问题以及资源和数据的情况,选择适合的学习方法来解决。 ### 回答3: 深度学习和机器学习都是人工智能领域的重要分支,它们在许多方面有相似之处,同时也有一些明显的优劣势。 首先,机器学习是一种利用统计和算法来让计算机系统通过数据自动学习和改进的方法。它的优点在于,它可以从大量的数据中学习出规律和模式,从而做出准确的预测和决策。机器学习方法相对简单,实现成本低,适用于很多领域,广泛应用于自然语言处理、图像识别、推荐系统等等。 然而,机器学习也存在一些限制。首先,对于复杂的问题,机器学习模型可能需要大量的数据和运算资源才能获得良好的性能。其次,机器学习方法常常需要手动提取特征,这也称为特征工程,这个过程比较繁琐且需要专业知识。最后,机器学习很大程度上依赖于人工构建的特征集合,对于新领域或者不清楚特征该如何选择的问题,机器学习方法的性能可能受限。 相比之下,深度学习是一种更强大和灵活的机器学习方法。它模仿了人类大脑的结构和功能,通过构建深层神经网络来处理数据。深度学习可以自动学习特征,并且能够处理更加复杂的问题,如自然语言处理、图像和语音识别等。此外,深度学习具有良好的扩展性,可以通过增加网络的深度和复杂度来提高性能。 然而,深度学习也有一些不足之处。首先,深度学习需要大量的训练数据,而且训练一个深层网络可能需要昂贵的计算资源。其次,深度学习的模型解释性较差,即很难解释模型的决策过程。最后,深度学习的训练过程较为复杂,需要调整许多超参数,并且容易受到过拟合的影响。 综上所述,深度学习相较于机器学习在处理复杂问题和提高性能方面具有优势,但其训练成本较高且模型解释能力较弱。机器学习虽然在实现简单和特征工程方面更加灵活,但在处理复杂问题和自动学习方面相对有限。在实际应用中,我们需要根据具体问题的要求和数据的特点选择合适的方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值