On-the-fly Operation Batching in Dynamic Computation Graphs
Graham Neubig, Yoav Goldberg, Chris Dyer

TL;DR
This paper introduces an algorithm for automatic operation batching in dynamic neural network frameworks, enabling efficient on-the-fly batching that simplifies development and achieves high performance comparable to manual batching.
Contribution
The paper presents a novel batching algorithm implemented in DyNet that automatically batches operations during execution, reducing developer effort and improving efficiency in dynamic neural networks.
Findings
Achieves throughput similar to manual batching.
Provides speedups over single-instance learning.
Effective on complex architectures that are hard to batch manually.
Abstract
Dynamic neural network toolkits such as PyTorch, DyNet, and Chainer offer more flexibility for implementing models that cope with data of varying dimensions and structure, relative to toolkits that operate on statically declared computations (e.g., TensorFlow, CNTK, and Theano). However, existing toolkits - both static and dynamic - require that the developer organize the computations into the batches necessary for exploiting high-performance algorithms and hardware. This batching task is generally difficult, but it becomes a major hurdle as architectures become complex. In this paper, we present an algorithm, and its implementation in the DyNet toolkit, for automatically batching operations. Developers simply write minibatch computations as aggregations of single instance computations, and the batching algorithm seamlessly executes them, on the fly, using computationally efficient…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Neural Network Applications · Machine Learning and Data Classification · Advanced Graph Neural Networks
