TL;DR
This paper demonstrates that array-oriented languages can be used to create minimalistic, high-performance neural network implementations that outperform established frameworks like TensorFlow and PyTorch on GPU hardware.
Contribution
The authors introduce a compact, array language-based framework for neural networks that achieves superior speed and simplicity compared to traditional frameworks, emphasizing the benefits of array languages for ML.
Findings
Array language implementation is 2-3 times faster than TensorFlow and PyTorch.
The minimalistic framework is about 150 lines of code, hardware-agnostic and highly reusable.
Performance gains are achieved without external libraries, simplifying the ML stack.
Abstract
Modern machine learning frameworks are complex: they are typically organised in multiple layers each of which is written in a different language and they depend on a number of external libraries, but at their core they mainly consist of tensor operations. As array-oriented languages provide perfect abstractions to implement tensor operations, we consider a minimalistic machine learning framework that is shallowly embedded in an array-oriented language and we study its productivity and performance. We do this by implementing a state of the art Convolutional Neural Network (CNN) and compare it against implementations in TensorFlow and PyTorch --- two state of the art industrial-strength frameworks. It turns out that our implementation is 2 and 3 times faster, even after fine-tuning the TensorFlow and PyTorch to our hardware --- a 64-core GPU-accelerated machine. The size of all three CNN…
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.
