Amazon DSSTNE: Deep Scalable Sparse Tensor Network Engine

  •        0

DSSTNE (pronounced "Destiny") is an open source software library for training and deploying recommendation models with sparse inputs, fully connected hidden layers, and sparse outputs. Models with weight matrices that are too large for a single GPU can still be trained on a single host. DSSTNE has been used at Amazon to generate personalized product recommendations for our customers at Amazon's scale.

It is designed for production deployment of real-world applications which need to emphasize speed and scale over experimental flexibility.
Its features include:

  • Multi-GPU Scale: Training and prediction both scale out to use multiple GPUs, spreading out computation and storage in a model-parallel fashion for each layer.
  • Large Layers: Model-parallel scaling enables larger networks than are possible with a single GPU.
  • Sparse Data: DSSTNE is optimized for fast performance on sparse datasets, common in recommendation problems. Custom GPU kernels perform sparse computation on the GPU, without filling in lots of zeroes.

https://github.com/amzn/amazon-dsstne

Tags
Implementation
License
Platform

   




Related Projects

OpenCog - Framework to build Artificial Intelligence Programs


The OpenCog Framework is a platform to build and share artificial intelligence programs. It includes components for procedural and declarative knowledge representation (AtomSpace), task scheduling (CogServer), AI algorithm containers (MindAgents), connectors to instant messaging and virtual world systems, and other components. MindAgents and other add-ons explore a wide variety of AI techniques including evolutionary program learning (MOSES), natural language processing, and others.

HyperGraphDB - Database for Storing Strongly-Typed Hypergraphs


HyperGraphDB is a general purpose, open-source data storage mechanism based on a powerful knowledge management formalism known as directed hypergraphs. While a persistent memory model designed mostly for Knowledge management, Artificial Intelligence and Semantic web projects, it can also be used as an embedded object-oriented database for Java projects of all sizes. It could also be used as graph database or as (non-SQL) relational database.

Snort-AI


Objective of SnortAI project is create a family of Snort plug-ins based on Artificial Intelligence (AI) technologies (i.e. Artificial Neural Networks or Fuzzy Logic) to detect different kinds of hostile traffic.

Handwritten Number Recognition


A handwritten number recognition system was developed by using image processing and neural network technique. The system was developed in Java. Other applications which make use of image processing and neural network technique will be published too.

Java Neural Network Framework Neuroph


Neuroph is lightweight Java Neural Network Framework which can be used to develop common neural network architectures. Small number of basic classes which correspond to basic NN concepts, and GUI editor makes it easy to learn and use.

Taskcoach - Todo manager to keep track of personal tasks and todo lists


Task Coach is a simple open source todo manager to keep track of personal tasks and todo lists. It is designed for composite tasks, and also offers effort tracking, categories, notes and more. Tasks have a subject, description, priority, start date, due date, a completion date and an optional reminder. Tasks can recur on a daily, weekly or monthly basis. Tasks and notes can be assigned to user-defined categories.

Bayesian Network Classifiers in Java


jBNC is a Java toolkit for training, testing, and applying Bayesian Network Classifiers. Implemented classifiers have been shown to perform well in a variety of artificial intelligence, machine learning, and data mining applications.

AIStockBot


AIStockBot aims to become the greatest Technical and Fundamental Stock Analysis program using different approaches including Artificial Intelligence. It strives to recommend stocks better than you.

Feed-forward neural network for python


ffnet is a fast and easy-to-use feed-forward neural network training solution for python. Many nice features are implemented: arbitrary network connectivity, automatic data normalization, very efficient training tools, network export to fortran code.

Open Pandora's Box


Pandora is an artificial intelligent web based bot written in Java. Pandora is a component based AI architecture including, database memory, XML, voice, voice rec, chat, IRC, HTTP, Wiktionary, Freebase, consciousness, language, GUI, applet, web, jsp, Android