Overview

"Train an NLP Model Using Decentralized Computing"

The goal of this project is to design a tool that will allow training machine learning models to be streamlined. By using the DeDLOC library, we will be able to allow users to donate some of their computing power such that UDRI can train models quickly, without relying on one single computer.
Once we have trained our own natural language processing model using DeDLOC, we will create a GUI that will let UDRI employees train models. Once these models are made, admins will be able to monitor them and analyze their accuracy and overall effectiveness.
We also will be conducting research on whether or not the DeDLOC library poses any security threats, and if UDRI could actually implement this tool in-house.

overview

Figure 1. - Centralized Versus Decentralized Computing for Machine Learning

High-level Requirements

Impact

- Research and evaluate DeDLOC for usability and security
- Use DeDLOC to train a machine learning model
- Build a tool with DeDLOC integration
- Document every process
Normally when creating/training an AI you use high performance computers that continuously run until the training is done. But creating an NLP model using decentralized code will make it easier to train AIs for machine learning, as anyone with a computer could assist in training. Those assisting in training can disconnect or connect whenever they would like, and they wouldn't even need high performing equipment/parts to assist.

Diagrams

overview

Figure 2. - This is a simple diagram explaining the training process of the model, using hivemind and how they average the loss between peers. Also, each peer is given different batches of the training data.

overview

Figure 3. - This is an overview of our tool using hivemind and the general workflow required of initial users, and subsequent users.

Team 8

wesam

Wesam Haddad

Computer Science '22
Concentration in
AI and Data Science

quan

Quan Nguyen

Computer Science '22
Concentration in
Cyber Defense

shara

Shara Shrestha

Computer Information
Systems + Spanish '22
Concentration in
Software Engineering
and Cyber Defense

cole

Cole Weslow

Computer Science '22
Concentration
in Cyber Defense

Support

ian

Ian Cannon

UDRI, AF Researcher
Mentor

colin

Colin Leong

UDRI, ML Researcher
Mentor

rebecca

K. Rebecca Servaites

UDRI, Computer Engineer
Mentor

phu

Phu H. Phung

UD, Dept. of Computer Science
Professor

CPS 490: Capstone I

Messenger App: ENVi

The ENVi Messenger Application has created an easier way to communicate with others from various distances.
ENVi has many background capabilities like
- Seperate Chat UI for Group and Private Chat
- Database Storage
- Register Account
- Login/logout security
- Data Validation for Login
With attractive user features, such as
- Private and group chat functionality
- Display seen status
- Display type status
- Multiplayer Snake game
- Embedded Youtube videos
- Autocomplete feature
- 'ENTER' to send message and clear data
- Help functions

CPS490

Project Management

Demo

A live demo of the DeDLOCK Tool.
YouTube URL:
https://youtu.be/cwLx4p5KiEI

Project Documentation

Use Cases

usecase

Figure 4. - Use Case Diagram for Distributing Computing Tool
Donate Percentage of Computer's Power
- Actor: User and Admin
- User Story: Users can donate CPU power to training models
- Use Case Description: Any user will be able to allocate a percentage of their CPU power to help train a machine learning model over a distributed system
Setup Experiment as Coordinator
- Actor: User and Admin
- User Story: Users can setup experiments as coordinators
- Use Case Description: Any user will be able to create their own machine learning model to train and act as the central computer in the experiment

Link to Other Public Experiments
- Actor: User and Admin
- User Story: Users and Admins can connect to other experiments
- Use Case Description: Any User will be able to search through a catalogue of open experiments and choose which ones to connect with
View Results and Analytics of Training Model
- Actor: User and Admin
- User Story: Users and Admins can view their results and analytics of their trained models
- Use Case Description: After training is complete they will be able to check the accuracy and stats of their trained model and use the new model

Manage All Public Experiments
- Actor: Admin
- User Story: Admins can access and manage all public experiments
- Use Case Description: Any user that creates an experiment, an admin can access it and look at it's information
Monitor Models via Weights & Biases
- Actor: Admin
- User Story: Admins can monitor all training models using tools like Weights & Biases
- Use Case Description: Admins will be able to monitor all training models so that they can see the progress of everything