大会|惊喜与挑战并行的NSDI 2017(4)
2017-04-27 编辑:
第二篇则是来自CMU的Gaia【11】,讨论如何设计系统来对基于全球分布(geo-distributed)的机器学习数据进行训练。现在很多全球化的服务,比如说搜索引擎,都是部署在世界各地的数据中心中就近服务世界各地的用户。数据中心内部一般都部署有低延迟高带宽的网络,而数据中心间的互联网(WANs)则可能很慢,直接在不同数据中心间的数据上训练机器学习模型,其训练过程会严重受限于数据中心间的网络,文章报告了高达53x的性能下降。这个工作通过解耦数据中心内部和外部的同步模型来优化性能,提出了一个新的一致性模型 (Approximate Synchronous Parallel) 来进一步的减少数据中心间的网络通信,并且保持机器学习模型的收敛率。这个工作和Google日前宣布的Federated Learning的工作都是旨在考虑互联网范围内机器学习模型的训练问题,后者将训练数据分散到成千上万的用户手机中,协同训练机器模型以提升模型质量,降低延迟。一方面数据中心间乃至普通互联网中的网络存在带宽低、延迟高、不稳定等问题,另一方面机器学习模型又具有一定程度的容忍错误和延迟更新的特性,这涉及到网络和机器学习算法的协同设计(co-design)的问题,非常的有趣。
第三篇是我们的工作TuX?2;(图学习)【12】,是一个为分布式机器学习设计的全新图计算引擎。
图计算是一个经典的问题,很多的图计算系统都专注为诸如PageRank这样的经典图计算问题优化,提供简单而并行无关的编程模型,并且可以在系统内部感知图结构进行系统层面优化,从而高性能地进行横向扩展,支持海量数据。我们的上一个工作,被录取在SoCC’15上的GraM【13】已经可以高效支持高达万亿(trillion)边数的超大规模图计算。
基于我们对于机器学习应用的思考,我们发现多种重要的机器学习算法都有内在的图结构模型。然而与图计算算法不同,机器学习算法并不是很适合用现有的图计算引擎来处理,原因可以分为两个层面,其一是缺乏对于重要机器学习概念的支持,例如小分批(mini-batch)和宽松的一致性模型,其二原有图模型过于简单并且在模型抽象上灵活性过低,从而为机器学习算法编程和高效执行都带来了问题。
有鉴于此,为了利用图计算的优势同时又解决上述的问题,我们提出了分布式机器学习系统——图学习TuX2 (Tu Xue Xi)。TuX2相比于传统的图计算引擎,在数据模型、调度模型、编程模型三个方面都做了关键的扩展,全新的图模型MEGA更是使得分布式图计算引擎在保持原有的高效性的同时拥有更多的灵活性,支持Mini-Batch和灵活一致性模型等关键的机器学习概念,并且更适合编写复杂的机器学习算法。
性能方面, 在高达640亿条边的大规模数据上的实验充分说明,TuX2相比当前最好的图计算引擎PowerGraph和PowerLyra都取得了超过一个数量级上的性能提升,这一成绩背后离不开我们的异质性(heterogeneity)图节点优化和新编程模型MEGA。而对比现有的两大机器学习系统,Petuum和ParameterServer,TuX2在大幅度减少代码量的同时带来了至少48%的性能提升,这主要是因为我们的图编程模型MEGA的高层次抽象以及图计算系统基于图结构优化。
要知道,大规模分布式机器学习模型的训练成为很多产品线的重要部分并且耗时良久,我们系统显著的性能提升(Efficiency)有效的节省了计算资源,而其扩展性(scalability)使得支持更大规模的数据成为可能。
我们的愿景是希望TuX2能够真正连接图计算和分布式机器学习两个研究领域,让更多的机器学习算法和优化能够很简单的在图计算引擎上实现,从而利用好众多的图结构优化技术来进行系统层面的优化,将两个领域的研究工作更好的结合在一起,为人工智能的未来服务。
作者简介
肖文聪,本科毕业于北京航空航天大学计算机学院,2014年加入北京航空航天大学与微软亚洲研究院的联合培养博士生项目,导师是北航的李未院士和微软亚洲研究院副院长周礼栋博士。研究方向是大规模分布式图计算和机器学习系统。
相关论文:
【1】Lapton:The Design, Implementation, and Deployment of a System to Transparently Compress Hundreds of Petabytes of Image Files for a File-Storage Service
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/horn
【2】mOS: A Reusable Networking Stack for Flow Monitoring Middleboxes
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/jamshed
【3】VFP: A Virtual Switch Platform for Host SDN in the Public Cloud
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/firestone
【4】Let It Flow: Resilient Asymmetric Load Balancing with Flowlet Switching
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/vanini
【5】Flowtune: Flowlet Control for Datacenter Networks
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/perry
【6】Curator: Self-Managing Storage for Enterprise Clusters
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/cano
【7】AdaptSize: Orchestrating the Hot Object Memory Cache in a Content Delivery Network
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/berger
【8】CherryPick: Adaptively Unearthing the Best Cloud Configurations for Big Data Analytics
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/alipourfard
【9】VideoStorm:Live Video Analytics at Scale with Approximation and Delay-Tolerance
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/zhang
【10】Clipper: A Low-Latency Online Prediction Serving System
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/crankshaw
【11】Gaia: Geo-Distributed Machine Learning Approaching LAN Speeds
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/hsieh
【12】Tux?2;: Distributed Graph Computation for Machine Learning
https://www.usenix.org/conference/nsdi17/technical-sessions/presentation/xiao
【13】GraM: scaling graph computation to the trillions
http://dl.acm.org/citation.cfm?id=2806849&CFID=926649994&CFTOKEN=39893429