TASO: optimizing deep learning computation with automatic generation of graph substitutions

TASO: optimizing deep learning computation with automatic generation of graph substitutions
复制标题

DOI:
10.1145/3341301.3359630
复制
发表时间:
2019-10
期刊:
Proceedings of the 27th ACM Symposium on Operating Systems Principles
影响因子:
--
通讯作者:
Zhihao Jia;Oded Padon;James J. Thomas;Todd Warszawski;M. Zaharia;A. Aiken
Zhihao Jia;Oded Padon;James J. Thomas;Todd Warszawski;M. Zaharia;A. Aiken
中科院分区:
其他
文献类型:
--
作者:
Zhihao Jia;Oded Padon;James J. Thomas;Todd Warszawski;M. Zaharia;A. Aiken

文献摘要

被引文献

相似文献

现有的深神经网络(DNN)框架通过使用人类专家手动设计的图形转换来优化DNN的计算图。由于定期引入新的DNN运算符,因此这种方法错过了可能的图表优化,并且很难扩展。我们提出了TASO,这是第一个自动生成图形替换的DNN计算图优化器。 TASO作为输入操作员规格列表,并使用给定的操作员作为基本构建块生成候选替代。所有生成的替代都使用自动定理供款对操作员规范进行正式验证。为了优化给定的DNN计算图,TASO执行了基于成本的回溯搜索,应用替换以查找优化的图,该图可以由现有DNN框架直接使用。我们对五个现实世界DNN体系结构的评估表明,TASO的表现优于现有的DNN框架高达2.8倍,同时需要减少人力的努力。例如,TensorFlow当前包含大约53,000行手动优化规则,而TASO所需的操作员规格仅为1,400行代码。
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.