JSDoop and TensorFlow.js: Volunteer Distributed Web Browser-Based Neural Network Training
arXiv:1910.07402 · doi:10.1109/ACCESS.2019.2950287
Abstract
In 2019, around 57\% of the population of the world has broadband access to the Internet. Moreover, there are 5.9 billion mobile broadband subscriptions, i.e., 1.3 subscriptions per user. So there is an enormous interconnected computational power held by users all around the world. Also, it is estimated that Internet users spend more than six and a half hours online every day. But in spite of being a great amount of time, those resources are idle most of the day. Therefore, taking advantage of them presents an interesting opportunity. In this study, we introduce JSDoop, a prototype implementation to profit from this opportunity. In particular, we propose a volunteer web browser-based high-performance computing library. JSdoop divides a problem into tasks and uses different queues to distribute the computation. Then, volunteers access the web page of the problem and start processing the tasks in their web browsers. We conducted a proof-of-concept using our proposal and TensorFlow.js to train a recurrent neural network that predicts text. We tested it in a computer cluster and with up to 32 volunteers. The experimental results show that training a neural network in distributed web browsers is feasible and accurate, has a high scalability, and it is an interesting area for research.
References in corpus (10)
- Communication-Efficient Learning of Deep Networks from Decentralized Data
- Deep Compression: Compressing Deep Neural Networks with Pruning, Trained Quantization and Huffman Coding
- OpenML: networked science in machine learning
- Deep Gradient Compression: Reducing the Communication Bandwidth for Distributed Training
- Towards Federated Learning at Scale: System Design
- TernGrad: Ternary Gradients to Reduce Communication in Distributed Deep Learning
- Sparse Communication for Distributed Gradient Descent
- TensorFlow.js: Machine Learning for the Web and Beyond
- Asynchronous Distributed Genetic Algorithms with Javascript and JSON
- Two-Bit Networks for Deep Learning on Resource-Constrained Embedded Devices