University of Florida - DeepCloud Team Presents
Project Goals
Designs
DeepCloud has been developed using MERN stack – MongoDB, Express, React.js and Node.js. The frontend is developed using React.js. It utilizes the express framework and integrates with backend written using Node.js to make API calls. MongoDB is used as the database to store user and account information. We additionally use Cassandra DB to store information about Models (schema and usage details of which should be available in Backend related documents). We have used Webpack as bundler and Babel as loader for the frontend.
Key Components:
Docker - OS-level virtualization, container
Kubernetes - Automated container deployment, scaling, and management
Istio/Envoy – Microservices/Service Mesh
KubeFlow - making deployments of machine learning (ML) workflows on Kubernetes
MLflow - machine learning lifecycle including experimentation, reproducibility and deployment
Workflow
KubeFlow is implemented in our platform to facilitate multiple features.
User Workflow
Firstly, users or researchers launch a job to interact with DeepCloud - for example, selecting a model from Model Store or starting a deep learning Notebook. Secondly, Kubeflow manages the jobs created by DL Job Manager. Then, Kubernetes allocates resources for this job from local clusters or public cloud clusters and creates a Docker container to complete the task. Users or researchers only interact with DeepCloud in the first step of the workflow and DeepCloud will take charge of the rest steps for completing the job.
Features
The login component was updated to include Social Login using Google and GatorLink. This component consists two sub-components: Login and Register.
Features
Once uploaded these models can be viewed in the model store. The pre-trained model also has validation checks to check for file extensions which can be easily modified or updated incase we support other files in future.
1. Provide researchers the ability and platform to manage and distribute training and testing for Deep Learning.
2. Facilitate researchers the ability to deploy automated machine learning and distributed deep learning framework.
1. Support for users to provide compute resources in exchange for virtual currency (Blockchain). Use this currency across the platform.
2. Allow external users to access, contribute to the platform.
Project Demo