[공지사항]을 빙자한 안부와 근황 
Show more

Daily Arxiv

This is a page that curates AI-related papers published worldwide.
All content here is summarized using Google Gemini and operated on a non-profit basis.
Copyright for each paper belongs to the authors and their institutions; please make sure to credit the source when sharing.

Speculative Automated Refactoring of Imperative Deep Learning Programs to Graph Execution

Created by
  • Haebom

Author

Raffi Khatchadourian, Tatiana Castro V elez, Mehdi Bagherzadeh, Nan Jia, Anita Raja

Outline

This paper presents an automated refactoring technique for improving the efficiency of deep learning (DL) systems. Existing deferred execution-based DL frameworks have excellent scalability, but they have the disadvantages of being error-prone, unintuitive, and difficult to debug. On the other hand, eager execution is easy to develop, but slow to execute. In this paper, we propose a technique to automatically identify and refactor parts of eager execution-based DL codes that can be efficiently executed based on graphs. This is implemented using static implicit tensors and side-effect analysis based on Python, and uses keyword-based predictive analytics to address uncertainty due to the dynamic nature of Python. This technique, implemented as a PyDev Eclipse IDE plugin, was evaluated on 19 DL projects (132 KLOC), and achieved an average speedup of 2.16x by refactoring 326 out of 766 candidate functions (42.56%). There was almost no difference in model accuracy.

Takeaways, Limitations

Takeaways:
We present an automated refactoring technique that can improve the performance of DL code in an eager-running manner.
Determining the feasibility of efficient graph-based execution using Python-based static analysis techniques.
The effectiveness of the technique is verified through experimental results targeting actual DL projects.
Achieves an average speedup of 2.16x with little impact on model accuracy.
Limitations:
Due to the dynamic nature of Python, there are limits to the accuracy of static analysis, and some parts rely on predictive analysis.
The analysis target is limited to Python-based DL code.
The size and diversity of projects used in the evaluation may be limited.
Additional validation may be needed on the accuracy of predictive analytics based on specific keywords.
👍