同意吗?计算的未来是分布式!

编译作者: 布加迪 2020-03-04 08:00:00

【51CTO.com快译】分布式应用不是新鲜事。随着ARPANET等计算机网络的出现,第一批分布式应用系统在50年前就开发出来了。从那时起,开发人员利用分布式系统来扩展应用和服务,包括大规模模拟、Web服务和大数据处理。我在这20多年的职业生涯中开发过分布式系统,涉及互联网、对等网络、大数据和现在的机器学习等领域。

然而就在不久前,分布式应用还是例外,而不是常态。即使在今天,大多数学校的本科生也很少搞涉及分布式应用的项目(即便有的话),不过这种情况在迅速改变。

分布式应用很快将成为常态,而不是例外

推动这一转变的两大潮流是:摩尔定律终结和新的机器学习应用对计算需求激增。这些潮流导致应用需求和单节点性能之间的差距迅速拉大,这使得我们除了分发这些应用外别无选择。

摩尔定律已死

过去40年来推动计算机行业空前发展的摩尔定律已走到头。根据摩尔定律,处理器的性能每18个月翻番。而今天,它在同一时期仅以10%至20%的速度增长。

虽然摩尔定律可能已死,但对增加计算资源的需求并未停止。为了应对这一挑战,计算机架构师将注意力集中到制造以通用性换性能的针对特定领域的处理器上。

光有针对特定领域的硬件不够

针对特定领域的处理器以牺牲通用性为代价,对特定工作负载进行了优化。这类工作负载的典例是深度学习,深度学习彻底改变了几乎每个应用领域,包括金融服务、工业控制、医疗诊断、制造和系统优化等。

为了支持深度学习工作负载,许多公司竞相制造专用处理器,比如英伟达的GPU和谷歌的TPU。然而,虽然GPU和TPU等加速器带来了更强的计算能力,但它们实质上有助于延长摩尔定律的寿命,而不是从根本上提高改进的速度。

深度学习应用需求的三重打击

机器学习应用的需求正以惊人的速度增长。下面是三种典型的重要工作负载。

1. 训练

据OpenAI的一篇著名博文(https://openai.com/blog/ai-and-compute)介绍,自2012年以来,获得最先进的机器学习结果所需的计算量大约每3.4个月翻番。这相当于每18个月增加近40倍,比摩尔定律还要多20倍!因此,即使摩尔定律还没有终结,它仍远远满足不了这些应用的要求。

这种爆炸性的增长并非仅限于深奥的机器学习应用,比如AlphaGo。类似的趋势也适用于主流应用领域,比如计算机视觉和自然语言处理。不妨考虑两个最先进的神经机器翻译(NMT)模型:2014年的seq2seq模型和2019年针对数百亿个句子对的预训练方法。两者所需的计算资源之比超过5000倍。这相当于每年增加5.5倍。同样不妨考虑ResNet 50与ResNeXt 101 Instagram模型,这两个最先进的对象识别模型分别于2015年和2018年发布。两者的训练时间之比达到惊人的11000倍(ResNet 50使用16个英伟达V100 GPU用时58分钟,ResNetXt 101使用336个GPU用时22天)。这相当于每年增加22倍!这使摩尔定律相形见绌,摩尔定律每年增长仅1.6倍。

这些需求与专用处理器的功能之间的差距日益拉大,系统架构师除了分发这些计算别无选择。最近,谷歌发布了TPU v2和v3 pod,含有多达1000个通过高速网状网络连接的TPU。值得关注的是,虽然TPU v3 pod的功能是TPU v2 pod的8倍,但其中只有2倍来自更快的处理器,其余的6倍来自TPU v3 pod变得更分布式,即使用的处理器比TPU v2 pod多4倍。同样,英伟达发布了两个分布式AI系统:分别是搭载8个GPU和16个GPU的DGX-1和DGX-2。此外,英伟达最近收购了知名网络供应商迈络思,以增强其数据中心中GPU之间的连接性。

2. 调整

情况变得更糟。你不会只训练一次模型。通常,模型的质量取决于各种超参数,比如层数、隐藏单元数量和批大小。找到最佳模型常常需要在各种超参数设置之间进行搜索,这个过程就叫超参数调整,开销可能很大。比如说,RoBERTa是用于预训练NLP模型的可靠技术,它使用的超参数多达17个。假设每个超参数至少有两个值,搜索空间由13万多个配置组成,探索这些空间(哪怕是部分探索)可能需要大量的计算资源。

超参数调整任务的另一个例子是神经架构搜索,它尝试不同的架构,并选择性能最佳的架构,从而使人工神经网络的设计实现自动化。研究人员声称,即使设计一个简单的神经网络也可能需要数十万个GPU计算日。

3. 模拟

虽然深度神经网络模型常常可以利用专用硬件方面的进步,但并非所有机器学习算法都可以。尤其是,强化学习算法涉及大量模拟。由于复杂的逻辑,这些模拟仍然在通用CPU上执行最好(它们将GPU仅用于渲染),因此无法得益于硬件加速器的最新进步。比如说,OpenAI在最近的一篇博文(https://openai.com/blog/openai-five/)中声称,使用128000个CPU核心和仅仅256个GPU(即CPU比GPU多500倍)来训练玩《Dota 2》游戏时能击败爱好者的模型。

虽然《Dota 2》只是个游戏,但我们看到模拟日益用在决策应用领域中,这个领域出现了几家新兴公司,比如Pathmind、Prowler和Hash.ai。由于模拟器试图更准确地对环境建模,复杂性随之增加。这又大大增强了强化学习的计算复杂性。

小结

大数据和AI在迅速改变我们所知道的世界。虽然任何技术革命都存在危险,但我们看到这场革命大有潜力以十年前根本无法想象的方式改善我们的生活。然而要兑现这一承诺,我们需要克服这些应用的需求与硬件功能之间迅速拉大的差距所带来的巨大挑战。为了缩小这个差距,我们只能分发这些应用。这需要新的软件工具、框架和课程来培训和帮助开发人员构建这类应用。这开启了一个新的、令人兴奋的计算时代。

原文标题:The Future of Computing is Distributed,作者:Ion Stoica

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

计算机 互联网 技术
上一篇:三部委:加快AI领域研究生培养,抢占世界科技前沿 下一篇:科学家利用AI成功发现能消灭“超级细菌”的强大新型抗生素
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

疫情后的自动驾驶,发展有了更明确的方向!

疫情给了自动驾驶向大众介绍自己的机会,同时也让自己更加看清了自己的发展。那么在看清之后,行业将朝着怎样的方向前进呢?

林中易木 ·  2天前
人脸识别技术应用的法律规制

如何促进、保障和规范新兴技术的发展及其在商业、公益、社会治理等领域的应用,是推进国家治理体系和治理能力现代化进程中的关键议题,某种程度上决定着这一政治进程的成效。

中国社会科学网 ·  2天前
“阿凡达”式脑-脑接口性能提升 2-3 个数量级

脑-脑接口这一概念,看过科幻电影《阿凡达》的人可能有点印象。在电影中,地球上的人可以通过脑对脑的直接信息传递,远程控制潘多拉星上经基因改造的蓝色类人生物 Na'vi 族。

付静 ·  3天前
物联网无人机如何为城市消毒

贵州省黔南州应急管理局公布消息称,已在近期出动直升机在贵州省黔南州都匀市进行消杀病毒作业。

佚名 ·  3天前
人工智能编程有助于人类制造更多智能机器吗?

技术日新月异的当下,人工智能编程日益成熟,它的发展能有助于人类制造更多智能机器吗?程序合成是指基于规范自动生成程序的概念。它不同于程序验证。程序验证依赖于正式的证明来证实程序按照正式的规范运行。

读芯术 ·  3天前
人工智能能否跨越意识鸿沟?

笔者将在本文探讨整个社会对人工智能的认知误区,并将其与专业研究人员和计算机科学家眼中的人工智能进行对比分析。

读芯术 ·  4天前
2020 新的自动驾驶技术报告出炉!

对于自动驾驶的技术进展,WEVOLVER 发布的《2020 自动驾驶技术报告》进行了全面的阐释。

肖漫 ·  4天前
如何开始使用人工智能

人工智能行业专家为企业如何部署人工智能并获得竞争优势提供了建议和指导。

James Maguire ·  4天前
Copyright©2005-2020 51CTO.COM 版权所有 未经许可 请勿转载