Goto

Collaborating Authors

 autosync



AutoSync: Learning to Synchronize for Data-Parallel Distributed Deep Learning

Neural Information Processing Systems

Synchronization is a key step in data-parallel distributed machine learning (ML). Different synchronization systems and strategies perform differently, and to achieve optimal parallel training throughput requires synchronization strategies that adapt to model structures and cluster configurations. Existing synchronization systems often only consider a single or a few synchronization aspects, and the burden of deciding the right synchronization strategy is then placed on the ML practitioners, who may lack the required expertise. In this paper, we develop a model-and resource-dependent representation for synchronization, which unifies multiple synchronization aspects ranging from architecture, message partitioning, placement scheme, to communication topology. Based on this representation, we build an end-to-end pipeline, AutoSync, to automatically optimize synchronization strategies given model structures and resource specifications, lowering the bar for data-parallel distributed ML. By learning from low-shot data collected in only 200 trial runs, AutoSync can discover synchronization strategies up to 1.6x better than manually optimized ones. We develop transfer-learning mechanisms to further reduce the auto-optimization cost -- the simulators can transfer among similar model architectures, among similar cluster configurations, or both. We also present a dataset that contains over 10000 synchronization strategies and run-time pairs on a diverse set of models and cluster specifications.




AutoSync: Learning to Synchronize for Data-Parallel Distributed Deep Learning

Neural Information Processing Systems

Synchronization is a key step in data-parallel distributed machine learning (ML). Different synchronization systems and strategies perform differently, and to achieve optimal parallel training throughput requires synchronization strategies that adapt to model structures and cluster configurations. Existing synchronization systems often only consider a single or a few synchronization aspects, and the burden of deciding the right synchronization strategy is then placed on the ML practitioners, who may lack the required expertise. In this paper, we develop a model- and resource-dependent representation for synchronization, which unifies multiple synchronization aspects ranging from architecture, message partitioning, placement scheme, to communication topology. Based on this representation, we build an end-to-end pipeline, AutoSync, to automatically optimize synchronization strategies given model structures and resource specifications, lowering the bar for data-parallel distributed ML.


Review for NeurIPS paper: AutoSync: Learning to Synchronize for Data-Parallel Distributed Deep Learning

Neural Information Processing Systems

Additional Feedback: Section 3.1 Equation (2) I believe p is missing in r {\Pi}_{i,k} . The example of 7 days and 2200 AWS credits saving should be given in the context of the full cost. In subsection'Search space evaluation' I don't understand how 42% for VGG16 and 28.5% can be considered as a large positive hit rate. They way I understand it it means 58% and 71.5% of the strategies were worst than hand-optimized baselines. Why no hit-rate in Figure 3? Table 3 would be more informative in terms of improvement measures.


Review for NeurIPS paper: AutoSync: Learning to Synchronize for Data-Parallel Distributed Deep Learning

Neural Information Processing Systems

The authors cast the task of parallel training as a learning problem, allowing data driven decisions to be made instead of the hand-crafted rules. The topic is relevant and the results are impactful. The comprehensive ablation studies performed to evaluate the system are also appreciated. Several aspects of the proposed system have room for improvement, both in terms of scope and quality. However, that doesn't seem to be a crucial problem with the paper but rather room for follow up works.


AutoSync: Learning to Synchronize for Data-Parallel Distributed Deep Learning

Neural Information Processing Systems

Synchronization is a key step in data-parallel distributed machine learning (ML). Different synchronization systems and strategies perform differently, and to achieve optimal parallel training throughput requires synchronization strategies that adapt to model structures and cluster configurations. Existing synchronization systems often only consider a single or a few synchronization aspects, and the burden of deciding the right synchronization strategy is then placed on the ML practitioners, who may lack the required expertise. In this paper, we develop a model- and resource-dependent representation for synchronization, which unifies multiple synchronization aspects ranging from architecture, message partitioning, placement scheme, to communication topology. Based on this representation, we build an end-to-end pipeline, AutoSync, to automatically optimize synchronization strategies given model structures and resource specifications, lowering the bar for data-parallel distributed ML.