All Projects → rdspring1 → Lsh_deeplearning

rdspring1 / Lsh_deeplearning

Licence: apache-2.0
Scalable and Sustainable Deep Learning via Randomized Hashing

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Lsh deeplearning

Arraymancer
A fast, ergonomic and portable tensor library in Nim with a deep learning focus for CPU, GPU and embedded devices via OpenMP, Cuda and OpenCL backends
Stars: ✭ 793 (+832.94%)
Mutual labels:  parallel-computing
Openacc Users Group
Stars: ✭ 57 (-32.94%)
Mutual labels:  parallel-computing
Parallelly
R package: parallelly - Enhancing the 'parallel' Package
Stars: ✭ 70 (-17.65%)
Mutual labels:  parallel-computing
Sos
Sandia OpenSHMEM is an implementation of the OpenSHMEM specification over multiple Networking APIs, including Portals 4, the Open Fabric Interface (OFI), and UCX. Please click on the Wiki tab for help with building and using SOS.
Stars: ✭ 34 (-60%)
Mutual labels:  parallel-computing
Queso
QUESO is a C++ library for doing uncertainty quantification. QUESO stands for Quantification of Uncertainty for Estimation, Simulation and Optimization.
Stars: ✭ 50 (-41.18%)
Mutual labels:  parallel-computing
Openmp Examples
openmp examples
Stars: ✭ 64 (-24.71%)
Mutual labels:  parallel-computing
Appiumtestdistribution
A tool for running android and iOS appium tests in parallel across devices... U like it STAR it !
Stars: ✭ 764 (+798.82%)
Mutual labels:  parallel-computing
Quinoa
Adaptive computational fluid dynamics
Stars: ✭ 78 (-8.24%)
Mutual labels:  parallel-computing
Ray Tracing Iow Rust
Ray Tracing in One Weekend written in Rust
Stars: ✭ 57 (-32.94%)
Mutual labels:  parallel-computing
Lsf Python Api
Location for the LSF Python wrapper for controlling all things LSF
Stars: ✭ 69 (-18.82%)
Mutual labels:  parallel-computing
Parallel Programming Coursera
Assignments and Quizzes submitted by me.
Stars: ✭ 35 (-58.82%)
Mutual labels:  parallel-computing
Geatpy
Evolutionary algorithm toolbox and framework with high performance for Python
Stars: ✭ 990 (+1064.71%)
Mutual labels:  parallel-computing
Pelagia
Automatic parallelization (lock-free multithreading thread) tool developed by Surparallel Open Source.Pelagia is embedded key value database that implements a small, fast, high-reliability on ANSI C.
Stars: ✭ 1,132 (+1231.76%)
Mutual labels:  parallel-computing
Mmc
Mesh-based Monte Carlo (MMC)
Stars: ✭ 22 (-74.12%)
Mutual labels:  parallel-computing
Parenchyma
An extensible HPC framework for CUDA, OpenCL and native CPU.
Stars: ✭ 71 (-16.47%)
Mutual labels:  parallel-computing
Pyopencl
OpenCL integration for Python, plus shiny features
Stars: ✭ 790 (+829.41%)
Mutual labels:  parallel-computing
Pwrake
Parallel Workflow extension for Rake, runs on multicores, clusters, clouds.
Stars: ✭ 57 (-32.94%)
Mutual labels:  parallel-computing
Schwimmbad
A common interface to processing pools.
Stars: ✭ 82 (-3.53%)
Mutual labels:  parallel-computing
Parallel
This project now lives on in a rewrite at https://gitlab.redox-os.org/redox-os/parallel
Stars: ✭ 1,181 (+1289.41%)
Mutual labels:  parallel-computing
P4pdes
C and Python examples from my book on using PETSc to solve PDEs
Stars: ✭ 67 (-21.18%)
Mutual labels:  parallel-computing

Scalable and Sustainable Deep Learning via Randomized Hashing

Look for major updates around ICLR 2018 deadline this November!

Abstract

Current deep learning architectures are growing larger in order to learn from complex datasets. These architectures require giant matrix multiplication operations to train millions of parameters. Conversely, there is another growing trend to bring deep learning to low-power, embedded devices. The matrix operations, associated with the training and testing of deep networks, are very expensive from a computational and energy standpoint. We present a novel hashing-based technique to drastically reduce the amount of computation needed to train and test neural networks. Our approach combines two recent ideas, Adaptive Dropout and Randomized Hashing for Maximum Inner Product Search (MIPS), to select the nodes with the highest activation efficiently. Our new algorithm for deep learning reduces the overall computational cost of the forward and backward propagation steps by operating on significantly fewer nodes. As a consequence, our algorithm uses only 5% of the total multiplications, while keeping within 1% of the accuracy of the original model on average. A unique property of the proposed hashing-based back-propagation is that the updates are always sparse. Due to the sparse gradient updates, our algorithm is ideally suited for asynchronous, parallel training, leading to near-linear speedup, as the number of cores increases. We demonstrate the scalability and sustainability (energy efficiency) of our proposed algorithm via rigorous experimental evaluations on several datasets.

Future Work

  1. Implement a general LSH framework for GPUs with API support for TensorFlow, PyTorch, and MXNet
  2. Build Scalable One-Shot Learning using Locality-Sensitive Hashing [https://github.com/RUSH-LAB/LSH_Memory]
  3. Demonstrate Tera-Scale machine learning on a single machine using our algorithm, tailored for sparse, high-dimensional datasets (See Netflix VectorFlow)

References

  1. Scalable and Sustainable Deep Learning via Randomized Hashing (KDD 2017 - Oral)
  2. Efficient Class of LSH-Based Samplers
  3. Learning to Remember Rare Events
  4. Netflix VectorFlow
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].