The Fuzzy Labs guide to the universe of open source MLOps

Overview

Open Source MLOps

This is the Fuzzy Labs guide to the universe of free and open source MLOps tools.

Contents

What is MLOps anyway?

MLOps (machine learning operations) is a discipline that helps people to train, deploy and run machine learning models successfully in production environments. Because this is a new and rapidly-evolving field, there are a lot of tools out there, and new ones appear all the time. If we've missed any, then please do raise a pull request!

Data version control

Just like code, data grows and evolves over time. Data versioning tools help you to keep track of these changes.

You might wonder why you can't just store data in Git (or equivalent). There are a few reasons this doesn't work, but the main one is size: Git is designed for small text files, and typical datasets used in machine learning are just too big. Some tools, like DVC, store the data externally, but also integrate with Git so that data versions can be linked to code versions.

  • DVC - one of the most popular general-purpose data versioning tools.
  • Delta Lake - data versioning for data warehouses.
  • LakeFS - Transform your object storage into a Git-like repository.
  • Git LFS - while this doesn't specialise in machine learning use-cases, it's another popular way to version datasets.

Experiment tracking

Machine learning involves a lot of experimentation. We end up training a lot of models, most of which are never intended to go into production, but represent progressive steps towards having something production-worthy. Experiment tracking tools are there to help us keep track of each experiment. What exactly do we need to track? typically this includes the code version, data version, input parameters, training performance metrics, as well as the final model assets.

Model training

Feature stores

Model deployment and serving

Model serving is the process of taking a trained model and presenting it behind a REST API, and this enables other software components to interact with a model. To make deployment of these model servers as simple as possible, it's commonplace to run them inside Docker containers and deploy them to a container orchestration system such as Kubernetes.

Model monitoring

Full stacks

More resources

Here are some more resources for MLOps, both open-source and proprietary.

Comments
  • Data Catalogues

    Data Catalogues

    Just a short snippet on Data Catalogues. Almost started trying to build out a custom one because I didn't know they existed. Therefore feel it's important to make some noise about them.

    Open to feedback, can add more detail once I know if you guys think they fit the MLOps category. Only didn't put them under the Data Governance bin because those that focus on Data Discovery don't have so much to do with it. Happy to shuffle the content over though.

    opened by GeorgePearse 3
  • Add feathr (feature store by Linkedin)

    Add feathr (feature store by Linkedin)

    This PR adds Feathr

    About Feathr:

    Feathr is an open source enterprise-grade, high performance feature store, hosted in incubation in the LF AI & Data Foundation.

    @archena Please let me know if any changes are needed for the description.

    opened by SangamSwadiK 1
  • add new section for Model validation, with trubrics

    add new section for Model validation, with trubrics

    Hello, we have recently launched Trubrics and I'd love to add it to your great list!

    Trubrics helps Data Scientists validate their models, by providing them with a framework to write validations. Validations can be built purely with data science knowledge, or with feedback collected from business users on ML models.

    Thanks :grinning:

    opened by jeffkayne 1
  • Added MLEM and put description for CML

    Added MLEM and put description for CML

    Hello! We have a new MLOPs tool we'd love to add to the awesome-open-mlops!

    You can find the repo here: https://github.com/iterative/mlem Read the blog post: https://iterative.ai/blog/MLEM-release Watch the video: https://youtu.be/7h0fiZNwCnA

    Let me know if you need anything else or would like to collaborate in some way! Best regards...

    opened by mertbozkir 1
  • Added few notes on YDNBB, plus two more MIT-licensed repos

    Added few notes on YDNBB, plus two more MIT-licensed repos

    Added few hopefully interesting repos, all OS focused. I used monitoring for RecList even if (interestingly) is probably in his own category (with CheckList for example): "model testing", or something like that!

    opened by jacopotagliabue 1
  • Update the open source MLOps repo with data annotation

    Update the open source MLOps repo with data annotation

    Picked out the most interesting tools from this repo built by ZenML. Added a new section to our repo for data annotation. Include a link to ZenML’s repo as well.

    opened by osw282 1
  • chore: Add envd

    chore: Add envd

    I'd like to share envd with the community!

    envd is a machine learning development environment for data science and AI/ML engineering teams.

    🐍 No Docker, only Python - Focus on writing Python code, we will take care of Docker and development environment setup.

    🖨️ Built-in Jupyter/VSCode - First-class support for Jupyter and VSCode remote extension.

    ⏱️ Save time - Better cache management to save your time, keep the focus on the model, instead of dependencies.

    ☁️ Local & cloud - envd integrates seamlessly with Docker so that you can easily share, version, and publish envd environments with Docker Hub or any other OCI image registries.

    🔁 Repeatable builds & reproducible results - You can reproduce the same dev environment on your laptop, public cloud VMs, or Docker containers, without any change in setup.

    Signed-off-by: Ce Gao [email protected]

    opened by gaocegege 1
  • Adds a section for model registries

    Adds a section for model registries

    👋 Hello!

    This PR adds a new section for model registries and I've added both ML Flow and modelstore to it. Disclosure: I'm the author of the latter.

    When reading through the other sections, I saw that this might overlap slightly with experiment tracking, which is described as:

    What exactly do we need to track? typically this includes the code version, data version, input parameters, training performance metrics, as well as the final model assets.

    Happy to change this around as you see fit.

    Thank you for considering this contribution 🙏

    opened by nlathia 1
  • Adds Hamilton and feature engineering section

    Adds Hamilton and feature engineering section

    Hamilton was created to help wrangle a feature engineering code base. It forces decoupling of feature transform logic from materialization, and results in code that is always unit testable, reusable, and documentation friendly.

    I didn't see an appropriate section to add it, so I created a feature engineering section - putting it in feature stores wouldn't be the right place.

    opened by skrawcz 1
  • Image Analysis Tools

    Image Analysis Tools

    I've synced the forks. I have no idea why my previous data catalogue addition is listed again as a new change? Will correct that if anyone can tell me where I've gone wrong.

    I've hit my limit of GitHub lists so will be making greater use of this repo. Adding in image analysis tools (fiftyone - the dominant player, and dendromap - looks very powerful).

    Will add links, and try to get round to adding descriptions for data catalogues soon

    opened by GeorgePearse 1
  • Deepchecks library

    Deepchecks library

    Deepchecks is open source tool for testing and validating machine learning models and data. The 3 checks supported in different phases of ML pipeline are

    • Data Integrity (between ingestion and preprocessing step)
    • Train-Test Validation (Distribution and Methodology Checks) (between preprocessing and training step)
    • Model Performance Evaluation (evaluation step)
    opened by dudeperf3ct 0
Releases(v0.1.0-alpha)
  • v0.1.0-alpha(Dec 13, 2021)

    Initial release of the Awesome Open Source MLOps list.

    • Data version control
    • Experiment tracking
    • Model training
    • Feature stores
    • Model deployment and serving
    • Model monitoring
    • Full stacks
    Source code(tar.gz)
    Source code(zip)
Owner
Fuzzy Labs
MLOps done right
Fuzzy Labs
SageMaker Python SDK is an open source library for training and deploying machine learning models on Amazon SageMaker.

SageMaker Python SDK SageMaker Python SDK is an open source library for training and deploying machine learning models on Amazon SageMaker. With the S

Amazon Web Services 1.8k Jan 01, 2023
Predict profitability of trades based on indicator buy / sell signals

Predict profitability of trades based on indicator buy / sell signals Trade profitability analysis for trades based on various indicators signals: MAC

Tomasz Porzycki 1 Dec 15, 2021
Predicting Baseball Metric Clusters: Clustering Application in Python Using scikit-learn

Clustering Clustering Application in Python Using scikit-learn This repository contains the prediction of baseball metric clusters using MLB Statcast

Tom Weichle 2 Apr 18, 2022
Automatic extraction of relevant features from time series:

tsfresh This repository contains the TSFRESH python package. The abbreviation stands for "Time Series Feature extraction based on scalable hypothesis

Blue Yonder GmbH 7k Jan 06, 2023
(3D): LeGO-LOAM, LIO-SAM, and LVI-SAM installation and application

SLAM-application: installation and test (3D): LeGO-LOAM, LIO-SAM, and LVI-SAM Tested on Quadruped robot in Gazebo ● Results: video, video2 Requirement

EungChang-Mason-Lee 203 Dec 26, 2022
easyNeuron is a simple way to create powerful machine learning models, analyze data and research cutting-edge AI.

easyNeuron is a simple way to create powerful machine learning models, analyze data and research cutting-edge AI.

Neuron AI 5 Jun 18, 2022
Predico Disease Prediction system based on symptoms provided by patient- using Python-Django & Machine Learning

Predico Disease Prediction system based on symptoms provided by patient- using Python-Django & Machine Learning

Felix Daudi 1 Jan 06, 2022
pure-predict: Machine learning prediction in pure Python

pure-predict speeds up and slims down machine learning prediction applications. It is a foundational tool for serverless inference or small batch prediction with popular machine learning frameworks l

Ibotta 84 Dec 29, 2022
This is the code repository for LRM Stochastic watershed model.

LRM-Squannacook Input data for generating stochastic streamflows are observed and simulated timeseries of streamflow. their format needs to be CSV wit

1 Feb 14, 2022
Lightning ⚡️ fast forecasting with statistical and econometric models.

Nixtla Statistical ⚡️ Forecast Lightning fast forecasting with statistical and econometric models StatsForecast offers a collection of widely used uni

Nixtla 2.1k Dec 29, 2022
Backtesting an algorithmic trading strategy using Machine Learning and Sentiment Analysis.

Trading Tesla with Machine Learning and Sentiment Analysis An interactive program to train a Random Forest Classifier to predict Tesla daily prices us

Renato Votto 31 Nov 17, 2022
Course files for "Ocean/Atmosphere Time Series Analysis"

time-series This package contains all necessary files for the course Ocean/Atmosphere Time Series Analysis, an introduction to data and time series an

Jonathan Lilly 107 Nov 29, 2022
A collection of Machine Learning Models To Web Api which are built on open source technologies/frameworks like Django, Flask.

Author Ibrahim Koné From-Machine-Learning-Models-To-WebAPI A collection of Machine Learning Models To Web Api which are built on open source technolog

Ibrahim Koné 2 May 24, 2022
scikit-fem is a lightweight Python 3.7+ library for performing finite element assembly.

scikit-fem is a lightweight Python 3.7+ library for performing finite element assembly. Its main purpose is the transformation of bilinear forms into sparse matrices and linear forms into vectors.

Tom Gustafsson 297 Dec 13, 2022
Real-time stream processing for python

Streamz Streamz helps you build pipelines to manage continuous streams of data. It is simple to use in simple cases, but also supports complex pipelin

Python Streamz 1.1k Dec 28, 2022
A machine learning model for Covid case prediction

CovidcasePrediction A machine learning model for Covid case prediction Problem Statement Using regression algorithms we can able to track the active c

VijayAadhithya2019rit 1 Feb 02, 2022
Simple Machine Learning Tool Kit

Getting started smltk (Simple Machine Learning Tool Kit) package is implemented for helping your work during data preparation testing your model The g

Alessandra Bilardi 1 Dec 30, 2021
A comprehensive set of fairness metrics for datasets and machine learning models, explanations for these metrics, and algorithms to mitigate bias in datasets and models.

AI Fairness 360 (AIF360) The AI Fairness 360 toolkit is an extensible open-source library containg techniques developed by the research community to h

1.9k Jan 06, 2023
Tutorials, examples, collections, and everything else that falls into the categories: pattern classification, machine learning, and data mining

**Tutorials, examples, collections, and everything else that falls into the categories: pattern classification, machine learning, and data mining.** S

Sebastian Raschka 4k Dec 30, 2022
Data from "Datamodels: Predicting Predictions with Training Data"

Data from "Datamodels: Predicting Predictions with Training Data" Here we provid

Madry Lab 51 Dec 09, 2022