Device Placement Optimization with Reinforcement Learning
The past few years have witnessed a growth in size and computational requirements for training and inference with neural networks. Currently, a common approach to address these requirements is to use a heterogeneous distributed environment with a mixture of hardware devices such as CPUs and GPUs. Importantly, the decision of placing parts of the neural models on devices is often made by human experts based on simple heuristics and intuitions. In this paper, we propose a method which learns to optimize device placement for TensorFlow computational graphs. Key to our method is the use of a sequence-to-sequence model to predict which subsets of operations in a TensorFlow graph should run on which of the available devices. The execution time of the predicted placements is then used as the reward signal to optimize the parameters of the sequence-to-sequence model. Our main result is that on Inception-V3 for ImageNet classification, and on RNN LSTM, for language modeling and neural machine translation, our model finds non-trivial device placements that outperform hand-crafted heuristics and traditional algorithmic methods.
Code (1)
Tasks
Language ModelingLanguage ModellingMachine Translationreinforcement-learningReinforcement LearningReinforcement Learning (RL)TranslationMethods 이 논문이 사용한 방법론
Similar Papers 제목 키워드 기반
Spotlight: Optimizing Device Placement for Training Deep Neural Networks
Training deep neural networks (DNNs) requires an increasing amount of computation resources, and it becomes typical to use a mixture of GPU and CPU devices. Due to the heterogeneity of these devices, a recent challe…
CPUGPUreinforcement-learningReinforcement Learning+1Post: Device Placement with Cross-Entropy Minimization and Proximal Policy Optimization
Training deep neural networks requires an exorbitant amount of computation resources, including a heterogeneous mix of GPU and CPU devices. It is critical to place operations in a neural network on these devices in an op…
CPUGPUReinforcement LearningA Structure-Aware Framework for Learning Device Placements on Computation Graphs
Computation graphs are Directed Acyclic Graphs (DAGs) where the nodes correspond to mathematical operations and are used widely as abstractions in optimizations of neural networks. The device placement problem aims to id…
CPUgraph partitioningGraph Representation Learningreinforcement-learning+1Placement Optimization with Deep Reinforcement Learning
Placement Optimization is an important problem in systems and chip design, which consists of mapping the nodes of a graph onto a limited set of resources to optimize for an objective, subject to constraints. In this pape…
Deep Reinforcement Learningreinforcement-learningReinforcement LearningReinforcement Learning (RL)A Hierarchical Model for Device Placement
We introduce a hierarchical model for efficient placement of computational graphs onto hardware devices, especially in heterogeneous environments with a mixture of CPUs, GPUs, and other computational devices. Our method …
Deep Reinforcement LearningMachine TranslationmodelReinforcement Learning+2