Building Blocks of Raven Distribution Framework

Kailash Ahirwar
RavenProtocol
Published in
3 min readMay 1, 2021

--

Raven Distribution Framework(RDF) is our suite of libraries to train machine learning/deep learning models in a decentralized and distributed manner. It can be used to perform statistical operations also. Most importantly, it facilitates the faster and cheaper training of ML/DL models on browser nodes. With RDF, we aim to build an ecosystem and accelerate the development of the fundamentals.

Let’s explore the libraries:

RavCom is a common library that contains various methods to interact with the databases like MySQL, Redis, PostgreSQL, and others. It is a common library used in most of our libraries.

Op is the fundamental unit of RDF. RavOp is our library to work with ops. You can create ops, interact with ops, and create scalars and tensors. RavOp is a crucial building block of the framework. It can be used to write various algorithms, formulas, and mathematical calculations.

RavSock is the second most crucial building block of the framework. It sits between the developer(who create ops and write algorithms) and the contributor who contribute the idle computing power. It facilitates the efficient distribution of ops and the efficient merging of results.

  • RavML — Machine Learning Library

RavML is the machine learning library based on RavOp. It contains implementations of various machine learning algorithms like ordinary least squares, linear regression, logistic regression, KNN, Kmeans, Mini batch Kmeans, Decision Tree classifier, and Naive Bayes classifier. These algorithms can be used out of the box. We are constantly working on new algorithms and looking for enthusiasts to contribute.

  • RavViz — Visualization Library

RavViz is the visualization library. While training models, it is crucial to understand how your model is doing. In RavViz, you can see:

  1. Progress of models
  2. Ops and their values
  3. Graphs and their ops

RavJS is the Javascript library to calculate various ops on the browser node. We support 100+ ops for now and constantly adding new ops. Currently, we are taking TensorflowJS’s help to calculate ops and very soon will be working on our own library.

  • Most of the ops are based on TensorflowJS because of its support for thousands of operations.

Inviting all AI/ML developers to contribute:

Visit our website:

Follow us on Twitter:

Join our community on Telegram:

Join Raven Dev Community on Discord:

--

--

Kailash Ahirwar
RavenProtocol

Artificial Intelligence Research | Author - Generative Adversarial Networks Projects | Co-founder - Raven Protocol | Mate Labs