谷歌重拳开放Cloud TPU:GPU最强对手上线,Jeff Dean十条推文全解读
Jeff Dean连发十条推特,全面解读Cloud TPU
1. 谷歌已为那些想访问高速加速器来训练机器学习模型的人们,推出了Cloud TPU的beta版。详细细节可参见博客:
https://cloudplatform.googleblog.com/2018/02/Cloud-TPU-machine-learning-accelerators-now-available-in-beta.html?m=1
2. 通过谷歌云VM,这些装置通过TensorFlow编程模型提供180 tflops的计算能力。
3. 很多研究员和工程师都遇到机器学习计算受限问题,我们认为Cloud TPU将成为一个极好的解决方案。例如:一个Cloud TPU能在24小时内训练ResNet-50模型达到75%的精度。
4.拥有早期访问权限的用户看起来很开心。投资公司Two Sigma的CTO Alfred Spector说:“我们发现,将TensorFlow工作负载转移到TPU上,极大降低了编程新模型的复杂性,并且缩短了训练时间。”
5.共享出行公司Lyft软件总监Anantha Kancherla说,“自从使用谷歌Cloud TPU,我们被它的速度惊呆了。以前需要花几天的事情,现在几小时就能完成。”
6. 如Resnet,MobileNet,DenseNet和SqueezeNet(物体分类),RetinaNet(对象检测)和Transformer(语言建模和机器翻译)等模型实现可以帮助用户快速入门:
https://github.com/tensorflow/tpu/tree/master/models/official
7、Cloud TPU最初在美国相关区域提供,价格是每小时6.5美元。
8、你可以填表请求Cloud TPU配额
9.《纽约时报》记者Cade Metz今天对此作了报道"Google Makes Its Special A.I. Chips Available to Others"(谷歌将其专用AI芯片普及化)
10.尽管我们已在内部使用了一段时间,让外部用户也能用上Cloud TPU是谷歌很多人员工作的成果,包括谷歌云、数据中心、平台小组、谷歌大脑、XLA团队,和许多其他同事。
谷歌Cloud TPU测试版开放,数量有限,每小时6.5美元
即日起,Cloud TPU在谷歌云(GCP)上推出了beta版,帮助机器学习专家更快速训练和运行模型。
Cloud TPU是谷歌设计的硬件加速器,为加速、拓展特定tensorflow机器学习workload而优化。每个TPU里内置了四个定制ASIC,单块板卡的计算能力达每秒180 teraflops,高带宽内存有64GB。这些板卡既能单独使用,也可通过超高速专用网络连接从而形成“TPU pod”。谷歌将于今年通过谷歌云供应这种更大的超级计算机。
-
谷歌设计Cloud TPU是为了给TensorFlow的workload提供差异化性能,并让机器学习工程师和研究人员更快速地进行迭代。例如:
你能通过可控制及可自定义的GoogleCompute Engine VM,对联网的Cloud TPU进行交互与专有的访问权限,无需等待工作在共享计算集群(shared compute cluster )上排队。 - 你能在一夜之间在一组CloudTPU上训练出同一模型的若干变体,次日将训练得出最精确的模型部署到生产中,无需等几天或几周来训练关键业务机器学习模型。
- 只需要一个Cloud TPU,根据教程(https://cloud.google.com/tpu/docs/tutorials/resnet),一天之内就能在ImageNet上把ResNet-50模型训练到基准精度,成本低于200美元。
传统上,给定制ASIC和超级计算机编程需要非常深厚的专业知识。而现在,你可以用高级TensorFlow API对Cloud TPU编程。谷歌还将一组高性能Cloud TPU模型实现进行了开源,帮您立即上手,包括:
- ResNet-50及其他图像分类模型
- 机器翻译和语言建模的Transformer
- 物体检测的RetinaNet
Google在博客中说,经过对性能和收敛性的不断测试,这些模型都达到了标准数据集的预期精度。
以后,Google会逐渐推出更多模型实现。不过,想要探险的机器学习专家也可以用他们提供的文档和工具,自行在Cloud TPU上优化其他TensorFlow模型。
现在开始用Cloud TPU,等到今年晚些时候Google推出TPU pod的时候,训练的时间-精度比能得到惊人的提升。
为了节省用户的时间和精力,谷歌持续对性能和收敛性不断测试,模型都达到了标准数据集的期望精度。
经过发展,谷歌将对更多模型实现进行开源。具有冒险精神的机器学习专家或许可以用谷歌提供的文档和工具,自己在Cloud TPU上优化其他TensorFlow模型。
现在开始使用Cloud TPU,当谷歌在今年晚些时候推出TPU pod后,客户可以因为时间到精确度的显著提高而获得极大的收益。正如我们在NIPS 2017上宣布的那样,ResNet-50和Transformer训练时间在完整的TPU pod上从大半天下降到不到30分钟,无需更改代码。
投资管理公司Two Sigma的CTO Alfred Spector对谷歌Cloud TPU的性能和易用性做出了如下评价。
“我们决定把我们的深度学习研究的重点放在云上,原因有很多,但主要是为了获得最新的机器学习基础设施,Google Cloud TPU是支持深度学习创新、技术快速发展的一个例子,我们发现将TensorFlow工作负荷转移到TPU上,大大降低了编程新模型的复杂性和训练时间,从而提高了工作效率。使用Cloud TPU代替其他加速器集群,我们能够专注于构建自己的模型,不用在管理集群复杂的通信模式上分散注意力。”
、、、、
Cloud TPU还简化了计算和管理ML计算资源:
- 为团队提供最先进的ML加速,并根据需求的变化动态调整容量(capacity)。
- 剩下设计、安装和维护具有专门的电源、散热、网络和存储要求的on-site ML计算群集所需的资金、时间和专业知识,受益于谷歌多年来在大规模、紧密集成的ML基础设施的经验。
- 无需安装驱动程序,Cloud TPU全部预配置完成
- 享受所有Google云服务同样复杂的安全机制和实践的保护。
共享出行公司Lyft的软件总监Anantha Kancherla表示,“自从使用Google Cloud TPU以来,我们对其速度印象非常深刻,以前通常需要几天,而现在可能需要几个小时。深度学习正成为使自动驾驶车辆得以运行的软件的中坚力量。”
在Google Cloud上,谷歌希望为客户提供最适合每个机器学习工作负载的云,并将与Cloud TPU一起提供各种高性能CPU(包括Intel Skylake)和GPU(包括NVIDIA Tesla V100)。
目前,Cloud TPU的数量有限,使用费用为每小时6.50美元。
云端机器学习性能大PK,谷歌Cloud TPU或将破局
随着谷歌Cloud TPU的发布,谷歌在云端提供机器学习的服务进一步增强。亚马逊机器学习、微软Azure机器学习和Google Cloud AI是三种领先的机器学习即服务(MLaaS),允许在很少或没有数据科学专业知识的情况下进行快速模型培训和部署。
以下是亚马逊、微软和谷歌主要机器学习即服务平台的主要概况对比:
亚马逊机器学习服务有两个层面:Amazon ML的预测分析和数据科学家的SageMaker工具。
用于预测分析的亚马逊机器学习是市场上最自动化的解决方案之一,该服务可以加载来自多个来源的数据,包括Amazon RDS,Amazon Redshift,CSV文件等。所有数据预处理操作都是自动执行的:该服务标识哪些字段是分类的,哪些是数字的,并且不要求用户选择进一步数据预处理的方法(降维和白化)。
Amazon ML的预测能力限于三种选择:二元分类、多类分类和回归。也就是说,这个Amazon ML服务不支持任何无监督的学习方法,用户必须选择一个目标变量在训练集中标记它。并且,用户不需要知道任何机器学习方法,因为亚马逊在查看提供的数据后自动选择它们。
这种高度自动化水平既是亚马逊ML使用的优势也是劣势。如果您需要全自动但有限的解决方案,该服务可以满足您的期望。如果没有,那就是SageMaker工具。
亚马逊SageMaker和基于框架的服务:
SageMaker是一个机器学习环境,通过提供快速建模和部署工具来简化同行数据科学家的工作。例如,它提供了Jupyter(一款创作笔记本),用于简化数据浏览和分析,而无需服务器管理。亚马逊还有内置算法,针对分布式系统中的大型数据集和计算进行了优化。
如果不想使用这些功能,则可以通过SageMaker利用其部署功能添加自己的方法并运行模型。或者可以将SageMaker与TensorFlow和MXNet深度学习库集成。
通常,亚马逊机器学习服务为经验丰富的数据科学家和那些只需要完成工作而不深入数据集准备和建模的人提供足够的自由。对于那些已经使用亚马逊环境并且不打算转移到另一家云提供商的公司来说,这将是一个不错的选择。
Microsoft Azure机器学习:
Azure机器学习的目的是为新手和经验丰富的数据科学家建立一个强大的场景。微软的ML产品名单与亚马逊的产品相似,但就现在而言,Azure在现成算法方面似乎更为灵活。
ML Studio是主要的MLaaS包。几乎Azure ML Studio中的所有操作都必须手动完成。这包括数据探索、预处理、选择方法和验证建模结果。
使用Azure完成机器学习需要一些学习曲线。另一方面,Azure ML支持图形界面以可视化工作流程中的每个步骤。也许使用Azure的主要好处是可以使用各种算法。 Studio支持大约100种解决分类(二元+多分类)、异常检测、回归、推荐和文本分析的方法。值得一提的是,该平台有一个聚类算法(K-means)。
Azure ML的另一大部分是Cortana Intelligence Gallery。它是由社区提供的机器学习解决方案的集合,供数据科学家探索和重用。 Azure产品是从机器学习入手并将其功能引入新员工的强大工具。
Google预测API
数据科学家的机器学习引擎和高度自动化的Google预测API。不幸的是,谷歌预测API最近已被弃用,谷歌将在2018年4月30日取消插件。
Predicion API类似于Amazon ML。它的简约方法缩小到解决两个主要问题:分类(二元和多类)和回归。训练好的模型可以通过REST API接口进行部署。
谷歌没有公布哪些算法被用于绘制预测,也没有让工程师自定义模型。另一方面,Google的环境最适合在紧迫的期限内进行机器学习,并且早期推出ML计划。但是这个产品似乎并没有Google所期望的那么受欢迎,使用Prediction API的用户将不得不使用其他平台来“重新创建现有模型”。
预测API的高度自动化是以灵活性为代价的。Google ML Engine正好相反。它迎合了经验丰富的数据科学家,并建议使用TensorFlow的云基础设施作为机器学习驱动程序。因此,ML Engine原则上与SageMaker非常相似。
TensorFlow是另一个Google产品,它是一个开源的机器学习库,包含各种数据科学工具,而不是ML-as-a-service。它没有可视化界面,TensorFlow的学习曲线会非常陡峭。
似乎Azure目前在MLaaS市场上拥有功能最多的工具集。它涵盖了大多数与ML相关的任务,为构建自定义模型提供了一个可视化界面,并且为那些不想用裸手掌握数据科学的人提供了一组可靠的API。但是,它仍然缺乏亚马逊的自动化能力。
除了成熟的平台之外,开发者还可以使用高级API。 这些都是在训练有素的模型下的服务,API不需要机器学习专业知识。 目前,这三家厂商的API大致可分为三大类:
1)文本识别,翻译和文本分析
2)图像+视频识别和相关分析
3)其他,包括特定的未分类服务
除了文字和语音外,亚马逊、微软和谷歌还提供用于图像和视频分析的通用API。
尽管图像分析与视频API密切相关,但许多视频分析工具仍在开发或测试版本中。 例如,Google建议对各种图像处理任务提供丰富的支持,但绝对缺乏微软和亚马逊已经提供的视频分析功能。