TASO: optimizing deep learning computation with automatic generation of graph substitutions
Proceedings of the 27th ACM Symposium on Operating Systems Principles, 2019•dl.acm.org
Existing deep neural network (DNN) frameworks optimize the computation graph of a DNN
by applying graph transformations manually designed by human experts. This approach
misses possible graph optimizations and is difficult to scale, as new DNN operators are
introduced on a regular basis. We propose TASO, the first DNN computation graph optimizer
that automatically generates graph substitutions. TASO takes as input a list of operator
specifications and generates candidate substitutions using the given operators as basic …
by applying graph transformations manually designed by human experts. This approach
misses possible graph optimizations and is difficult to scale, as new DNN operators are
introduced on a regular basis. We propose TASO, the first DNN computation graph optimizer
that automatically generates graph substitutions. TASO takes as input a list of operator
specifications and generates candidate substitutions using the given operators as basic …
Existing deep neural network (DNN) frameworks optimize the computation graph of a DNN by applying graph transformations manually designed by human experts. This approach misses possible graph optimizations and is difficult to scale, as new DNN operators are introduced on a regular basis.
We propose TASO, the first DNN computation graph optimizer that automatically generates graph substitutions. TASO takes as input a list of operator specifications and generates candidate substitutions using the given operators as basic building blocks. All generated substitutions are formally verified against the operator specifications using an automated theorem prover. To optimize a given DNN computation graph, TASO performs a cost-based backtracking search, applying the substitutions to find an optimized graph, which can be directly used by existing DNN frameworks.
Our evaluation on five real-world DNN architectures shows that TASO outperforms existing DNN frameworks by up to 2.8X, while requiring significantly less human effort. For example, TensorFlow currently contains approximately 53,000 lines of manual optimization rules, while the operator specifications needed by TASO are only 1,400 lines of code.
ACM Digital Library