Terra: Imperative-Symbolic Co-Execution of Imperative Deep Learning Programs

01/23/2022
by   Taebum Kim, et al.
0

Imperative programming allows users to implement their deep neural networks (DNNs) easily and has become an essential part of recent deep learning (DL) frameworks. Recently, several systems have been proposed to combine the usability of imperative programming with the optimized performance of symbolic graph execution. Such systems convert imperative Python DL programs to optimized symbolic graphs and execute them. However, they cannot fully support the usability of imperative programming. For example, if an imperative DL program contains a Python feature with no corresponding symbolic representation (e.g., third-party library calls or unsupported dynamic control flows) they fail to execute the program. To overcome this limitation, we propose Terra, an imperative-symbolic co-execution system that can handle any imperative DL programs while achieving the optimized performance of symbolic graph execution. To achieve this, Terra builds a symbolic graph by decoupling DL operations from Python features. Then, Terra conducts the imperative execution to support all Python features, while delegating the decoupled operations to the symbolic execution. We evaluated the performance improvement and coverage of Terra with ten imperative DL programs for several DNN architectures. The results show that Terra can speed up the execution of all ten imperative DL programs, whereas AutoGraph, one of the state-of-the-art systems, fails to execute five of them.

READ FULL TEXT
research
12/04/2018

JANUS: Fast and Flexible Deep Learning via Symbolic Graph Execution of Imperative Programs

The rapid evolution of deep neural networks is demanding deep learning (...
research
10/01/2020

Symbolic Techniques for Deep Learning: Challenges and Opportunities

As the number of deep learning frameworks increase and certain ones gain...
research
12/11/2017

Cavs: A Vertex-centric Programming Interface for Dynamic Neural Networks

Recent deep learning (DL) models have moved beyond static network archit...
research
12/15/2021

torch.fx: Practical Program Capture and Transformation for Deep Learning in Python

Modern deep learning frameworks provide imperative, eager execution prog...
research
01/24/2022

Challenges in Migrating Imperative Deep Learning Programs to Graph Execution: An Empirical Study

Efficiency is essential to support responsiveness w.r.t. ever-growing da...
research
07/11/2023

DyCL: Dynamic Neural Network Compilation Via Program Rewriting and Graph Optimization

DL compiler's primary function is to translate DNN programs written in h...
research
04/18/2023

A Neural Lambda Calculus: Neurosymbolic AI meets the foundations of computing and functional programming

Over the last decades, deep neural networks based-models became the domi...

Please sign up or login with your details

Forgot password? Click here to reset