【.com速译】分布式应用并不新鲜。随着ARPANET等计算机网络的出现,第一个分布式应用系统在50年前被开发出来。从那时起,开发人员利用分布式系统扩展应用程序和服务,包括大规模模拟、Web服务和大数据处理。在我20多年的职业生涯中,我在互联网、点对点网络、大数据和现在的机器学习等领域开发了分布式系统。然而就在不久之前,分布式应用程序还只是例外而非常态。即使在今天,大多数学校的本科生很少(如果有的话)从事涉及分布式应用程序的项目,但这种情况正在迅速改变。分布式应用程序将很快成为常态,而不是例外两大趋势正在推动这一转变:摩尔定律的终结和新机器学习应用程序的计算需求激增。这些趋势导致应用程序需求和单节点性能之间的差距迅速扩大,让我们别无选择,只能分发这些应用程序。摩尔定律是过去40年来推动计算机行业空前发展的摩尔定律已经走到尽头。根据摩尔定律,处理器性能每18个月翻一番。如今,它仅以同期10%到20%的速度增长。虽然摩尔定律可能已经失效,但对增加计算资源的需求并未停止。为了应对这一挑战,计算机架构师将注意力集中在制造以通用性换取性能的特定领域处理器上。仅针对特定领域的硬件是不够的,以牺牲通用性为代价针对特定工作负载优化特定领域的处理器。此类工作负载的一个很好的例子是深度学习,它几乎彻底改变了每个应用领域,包括金融服务、工业控制、医疗诊断、制造和系统优化。为了支持深度学习工作负载,许多公司都在竞相制造专用处理器,例如Nvidia的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倍。还要考虑ResNet50和ResNeXt101Instagram模型,这两个最先进的对象识别模型分别于2015年和2018年发布。两者训练时间之比达到了惊人的11000倍(ResNet50在58分钟内使用了16个NvidiaV100GPU,ResNetXt101在22天内使用了336个GPU)。这相当于每年增加22倍!这让摩尔定律相形见绌,后者每年仅增长1.6倍。这些需求与专用处理器能力之间不断扩大的差距让系统架构师别无选择,只能分配这些计算。最近,谷歌发布了TPUv2和v3pod,包含多达1,000个由高速网状网络连接的TPU。值得注意的是,尽管TPUv3pod的性能是TPUv2pod的8倍,但其中只有2倍来自更快的处理器,其余6倍来自TPUv3pod变得更加分布式,即处理器使用的pod比TPUv2多4倍。同样,Nvidia发布了两款分布式AI系统:DGX-1和DGX-2,分别配备8个GPU和16个GPU。此外,Nvidia最近收购了知名网络提供商Mellanox,以增强其数据中心GPU之间的连接性。2.调整变得更糟。你不会只训练一次模型。通常,模型的质量取决于各种超参数,例如层数、隐藏单元数和批量大小。寻找最佳模型通常需要在各种超参数设置中进行搜索,这个过程称为超参数调整,这可能非常昂贵。例如,RoBERTa是一种用于预训练NLP模型的可靠技术,它使用多达17个超参数。假设每个超参数至少有两个值,搜索空间由超过130,000个配置组成,探索这个空间(甚至部分)可能是计算密集型的。超参数调整任务的另一个例子是神经架构搜索,它通过尝试不同的架构并选择性能最佳的架构来自动设计人工神经网络。研究人员声称,即使是设计一个简单的神经网络也可能需要数十万个GPU计算日。3.模拟虽然深度神经网络模型通常可以利用专用硬件的进步,但并非所有机器学习算法都可以。特别是,强化学习算法涉及广泛的模拟。由于逻辑复杂,这些模拟在通用CPU上仍然表现最佳(它们仅使用GPU进行渲染),因此无法受益于硬件加速器的最新进展。例如,OpenAI在最近的一篇博文(https://openai.com/blog/openai-five/)中声称,它使用128,000个CPU核心和仅256个GPU(即CPU比GPU多500倍)来训练A在玩《Dota 2》游戏时打败粉丝的模型。虽然《Dota 2》只是一款游戏,但我们看到模拟越来越多地用于决策制定应用程序,该领域出现了多家初创公司,例如Pathmind、Prowler和Hash.ai。随着模拟器尝试更准确地模拟环境,复杂性会增加。这反过来又大大增加了强化学习的计算复杂度。摘要大数据和人工智能正在迅速改变我们所知的世界。尽管任何技术革命都伴随着危险,但我们看到了这场革命以十年前根本无法想象的方式改善我们生活的潜力。然而,为了兑现这一承诺,我们需要克服这些应用程序的需求与硬件功能之间迅速扩大的差距所带来的巨大挑战。为了弥补这一差距,我们只能分发这些应用程序。这需要新的软件工具、框架和课程来培训和帮助开发人员构建此类应用程序。这开创了一个激动人心的新计算时代。原标题:计算的未来是分布式的,作者:IonStoica
