Apache SINGA is an Apache Incubator project for setting up an open source machine learning library. It is a general distributed deep learning platform for training big deep learning models over large datasets. It is designed with an intuitive programming model based on the layer abstraction.
It supports feed-forward models including convolutional neural networks (CNN), energy models like Restricted Boltzmann machine (RBM) and recurrent neural networks (RNN). Many built-in layers are provided for users. It also supports different neural net partitioning schemes to correspond the training of large models, namely partitioning on batch dimension, feature dimension or hybrid partitioning.
Apache SINGA architecture is flexible. It allows users to customize the models according to their business requirements. It provides an easy to use programming model letting users implement their deep learning models and algorithms. It is has a scalable general architecture that improves training frameworks. Concurrent training frameworks improve the efficiency of one training iteration and non-parallel training frameworks improve the convergence rate. The users can run a hybrid framework that maximizes the scalability by trading off between efficiency and convergence rate.
SINGA: A Distributed Deep Learning Platform
Beng Chin Ooi, Kian-Lee Tan, Sheng Wang, Wei Wang, Qingchao Cai, Gang Chen, Jinyang Gao, Zhaojing Luo, Anthony K. H. Tung, Yuan Wang,Zhongle Xie, Meihui Zhang and Kaiping Zheng