/Auto-ML

An automated machine learning model generator built using Google Cloud Services.

Primary LanguageJavaScriptMIT LicenseMIT

AutoMate-ML

Google Cloud Kubernetes Terraform Docker GitHub Actions

Python TensorFlow

Figma React Next JS FastAPI

The AutoMate Architecture

image

Contributors

Contributor
Most Used Frameworks/Tools Notable Contributions
Rawan Mahdi
Rawan Mahdi
Project Manager & DevOps
Google Cloud TerraformGitHub Actions
*Mohammed Abed
Mohammed Abed
Full-stack Developer
React FastAPI Terraform
Raymond Tao
Raymond Tao
Backend Developer
React FastAPI Docker
Nicole Sorokin
Nicole Sorokin
Fullstack Developer
React Next JS
Austin Bennett
Austin Bennett
Cloud Architect & Fullstack Developer
Kubernetes GitHub Actions React Next JS FastAPI
Laeek Ahmed
Laeek Ahmed
Full Stack Developer
Kubernetes Google Cloud Docker FastAPI React

About the Project

Automation has been making its way into all industries and services, including machine learning! Automating the training and development of models makes machine learning more accessible to user's with little to no background in ML. It takes the user's task, uses a training dataset to fit and tune models to the desired model metrics, and returns a functioning classification model to the user. Google Cloud provides an AutoML service (which we will be taking major inspiration from), and they define it as below:

"AutoML enables developers with limited machine learning expertise to train high-quality models specific to their business needs. Build your own custom machine learning model in minutes."

Project Challenges

Below is a list of challenges that we'll try to address over the course of our project, after developing our MVP. Some of them reflect industry level challenges involving ML services. They may show up as features/issues throughout our project, depending on what stage we're at.

  • Distinguish our service from Google Cloud's AutoML
    • make the UI so user-friendly that little to no background in ML is needed to produce a model using our service
  • Maintain user's data privacy
    • if cloud training is used, how is the model and the data it was trained on protected on it's journey from cloud to customer
    • secure storage of user's inputted training dataset
  • Address common AutoML challenges such as the tendency to overfit when optimizing accuracy through models
  • Build our own automated model training service using PyTorch, i.e. implement the service from scratch - this will require members to have knowledge in ML and familiarity with PyTorch
  • Incorporate Federated Learning: this is related to maintaining user privacy with cloud training. Federated learning has been a hot topic in ML so it'd be great for us as devs to get our hands on it. Check out this comic made by google to learn a bit more about the benefits of federated learning. Read this google blog post to learn more if you're interested