We present Rhino, a system for accelerating tensor programs with automatic parallelization on AI platform for real production environment. It transforms a tensor program written for a single device into an equivalent distributed program that is capable of scaling up to thousands of devices with no user configuration. Rhino firstly works on a semantically independent intermediate representation of tensor programs, which facilitates its generalization to unprecedented applications. Additionally, it implements a task-oriented controller and a distributed runtime for optimal performance. Rhino explores on a complete and systematic parallelization strategy space that comprises all the paradigms commonly employed in deep learning (DL), in addition to strided partitioning and pipeline parallelism on non-linear models. Aiming to efficiently search for a near-optimal parallel execution plan, our analysis of production clusters reveals general heuristics to speed up the strategy search. On top of it, two optimization levels are designed to offer users flexible trade-offs between the search time and strategy quality. Our experiments demonstrate that Rhino can not only re-discover the expert-crafted strategies of classic, research and production DL models, but also identify novel parallelization strategies which surpass existing systems for novel models.
翻译:我们介绍Rhino,这是一个在AI平台上为真实生产环境自动平行加速高压程序并自动平行运行的系统;它将一个为单一设备编写的高压程序转换成一个同等的分布式程序,能够推广到数千个没有用户配置的装置;Rhino首先研究高压程序在语义上独立的中间代表器,促进将其普遍化为前所未有的应用;此外,它执行一个面向任务的控制器,并分配最佳性能的运行时间;Rhino探索一个完整和系统化的平行战略空间,其中包括深层学习中常用的所有模式(DL),此外还有非线性模型的倾斜分割和编织平行主义。为了有效地寻找近乎最佳的平行执行计划,我们对生产组的分析揭示了加速战略搜索的一般偏重性。此外,它设计了两个优化级别,为用户提供了在搜索时间和战略质量之间灵活取舍。我们的实验表明,Rhino不仅能够重新发现经典、研究和生产DL模型的专家设计战略,而且还能够确定新颖的平行战略。