Publications

Detailed Information

Unifying Imperative and Symbolic Deep Learning Execution : 명령형과 심볼릭 그래프 기반 딥러닝 수행 방식의 통합

DC Field Value Language
dc.contributor.advisor전병곤-
dc.contributor.author정은지-
dc.date.accessioned2021-11-30T02:41:35Z-
dc.date.available2021-11-30T02:41:35Z-
dc.date.issued2021-02-
dc.identifier.other000000165877-
dc.identifier.urihttps://hdl.handle.net/10371/175434-
dc.identifier.urihttps://dcollection.snu.ac.kr/common/orgView/000000165877ko_KR
dc.description학위논문 (박사) -- 서울대학교 대학원 : 공과대학 컴퓨터공학부, 2021. 2. 전병곤.-
dc.description.abstractThe rapid evolution of deep neural networks is demanding deep learning (DL) frameworks not only to satisfy the requirement of quickly executing large computations, but also to support straightforward programming models for quickly implementing and experimenting with complex network structures. However, existing frameworks fail to excel in both departments simultaneously, leading to diverged efforts for optimizing performance and improving usability.
This thesis presents systems to unify two existing paradigms in current deep learning frameworks, symbolic and imperative, to achieve the performance and programmability at the same time. First we present Janus, a system that combines the advantages from both sides by transparently converting an imperative DL program written in Python, the de-facto scripting language for DL, into an efficiently executable symbolic dataflow graph. Janus can convert various dynamic features of Python, including dynamic control flow, dynamic types, and impure functions, into elements of a symbolic dataflow graph.
Next, we propose Terra, an imperative-symbolic co-execution framework for imperative DL programs. As the usability of deep learning (DL) framework is getting more important, the imperative programming model has become an essential part of recent DL frameworks. However, optimizing individual operations in imperative programs has limited opportunities compared to optimizing them as a group in a symbolic graph format. Still, existing approaches that convert imperative DL programs into optimized symbolic graphs cannot provide a general solution due to their limited program coverage. Terra decouples the actual computation of DL operations from imperative programs and converts the DL operations into an optimized graph. Then the optimized graph and the skeleton imperative program are executed at the same time in a complementary manner to each other, so that we can achieve high performance of optimized graph execution while supporting the whole semantics of the original imperative program.
Among various DL models, we additionally delve into recursive neural networks (TreeNNs), which are important yet highly challenging to be represented as DL graphs. We introduce new DL abstractions, SubGraph and InvokeOp, which naturally capture any tree- or graph-like structure of the input data as DL graph elements. Then, we present our underlying system that supports the automatic differentiation of the abstractions and efficiently executes TreeNNs by running InvokeOps in parallel.
We implemented a system using the proposed Janus architecture, which additionally exploits recursive DL abstractions. Our evaluation show that Janus can achieve fast DL training by exploiting the techniques imposed by symbolic graph-based DL frameworks, while maintaining the simple and flexible programmability of imperative DL frameworks at the same time.
-
dc.description.tableofcontentsChapter 1 Introduction 1
1.1 Motivation 1
1.2 Challenges 2
1.3 Contribuiton 2
1.4 Organization 4
Chapter 2 Background 5
2.1 Symbolic Graph Definition and Execution 5
2.2 Imperative Graph Definition and Execution 6
2.3 Executionmodelsof Imperative Programs 6
2.3.1 Python-oriented approaches 7
2.3.2 Graph-oriented approaches 8
Chapter 3 Speculative Graph Generation and Execution 10
3.1 Motivation 10
3.1.1 Challenges in Graph Generation 10
3.1.2 Related Works 14
3.2 Proposed Solution: Speculative Graph Generation and Execution 16
3.3 Janus System Design 17
3.3.1 Fast Path for Common Cases 19
3.3.2 Accurate Path for Rare Cases 20
3.4 Symbolic Graph Generation 21
3.4.1 Graph Generation Basics 22
3.4.2 Dynamic Features 24
3.4.3 Python Syntax Coverage 32
3.4.4 Imperative-Only Features 32
3.5 Implementation 34
3.6 Evaluation 35
3.6.1 Experimental Setup 35
3.6.2 Model Convergence 38
3.6.3 Training Throughput 39
3.7 Summary 43
Chapter 4 Imperative-Symbolic Co-Execution 44
4.1 Motivation 44
4.1.1 Limitations of Existing Approaches 44
4.1.2 Motivating Example 46
4.1.3 Proposing Solution 46
4.2 Terra Overview 47
4.3 System Design 49
4.3.1 Graph Merging 49
4.3.2 Inter-runner Communication 49
4.3.3 Graph Validation 50
4.4 Implementation 50
4.5 Evaluation 50
4.5.1 Experiment Setup 50
4.5.2 Performance 52
4.6 Summary 54
Chapter 5 Graph Generation for Recursive Networks 55
5.1 Introduction 55
5.2 Motivation 57
5.2.1 Embedded Control Flow Frameworks and Their Limitations 57
5.2.2 Example:Tree LSTM 60
5.2.3 Recursion in Embedded Control Flow Frameworks 61
5.3 Programming Model 63
5.3.1 Unitof Recursion:SubGraph 63
5.3.2 Recursion in Dataflow Graphs: InvokeOp 65
5.3.3 Tree LSTM with SubGraphs & InvokeOps 66
5.4 System Design 68
5.4.1 Graph Execution 68
5.4.2 Graph Backpropagation 72
5.5 Implementation 75
5.6 Evaluation 78
5.6.1 Experimental Setup 79
5.6.2 Throughput and Convergence Time 80
5.6.3 Analysis of Recursive Graphs: Parallelization 83
5.6.4 Comparison with Folding 86
5.7 Related Work 89
5.8 Summary 92
Chapter 6 Conculsion and Future Work 94
6.1 Conclusion 94
6.2 Future Work 95
6.2.1 Lightweight Imperative Runtime 96
6.2.2 Alternative Languages for Deep Learning 96
-
dc.format.extentxiv, 95-
dc.language.isoeng-
dc.publisher서울대학교 대학원-
dc.subjectimperative-
dc.subjectsymbolic-
dc.subjectdeep learning framework-
dc.subject.ddc621.39-
dc.titleUnifying Imperative and Symbolic Deep Learning Execution-
dc.title.alternative명령형과 심볼릭 그래프 기반 딥러닝 수행 방식의 통합-
dc.typeThesis-
dc.typeDissertation-
dc.contributor.AlternativeAuthorEunji Jeong-
dc.contributor.department공과대학 컴퓨터공학부-
dc.description.degreeDoctor-
dc.date.awarded2021-02-
dc.identifier.uciI804:11032-000000165877-
dc.identifier.holdings000000000044▲000000000050▲000000165877▲-
Appears in Collections:
Files in This Item:

Altmetrics

Item View & Download Count

  • mendeley

Items in S-Space are protected by copyright, with all rights reserved, unless otherwise indicated.

Share