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
Skoot is a lightweight python library of machine learning transformer classes that interact with scikit-learn and pandas.

Skoot is a lightweight python library of machine learning transformer classes that interact with scikit-learn and pandas. Its objective is to ex

Taylor G Smith 54 Aug 20, 2022
Datetimes for Humans™

Maya: Datetimes for Humans™ Datetimes are very frustrating to work with in Python, especially when dealing with different locales on different systems

Timo Furrer 3.4k Dec 28, 2022
Land Cover Classification Random Forest

You can perform Land Cover Classification on Satellite Images using Random Forest and visualize the result using Earthpy package. Make sure to install the required packages and such as

Dr. Sander Ali Khowaja 1 Jan 21, 2022
Markov bot - A Writing bot based on Markov Chain for Data Structure Lab

基于马尔可夫链的写作机器人 前端 用html/css完成 Demo展示(已给出文本的相应展示) 用户提供相关的语料库后训练的成果 后端 要完成的几个接口 解析文

DysprosiumDy 9 May 05, 2022
Napari sklearn decomposition

napari-sklearn-decomposition A simple plugin to use with napari This napari plug

1 Sep 01, 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
Houseprices - Predict sales prices and practice feature engineering, RFs, and gradient boosting

House Prices - Advanced Regression Techniques Predicting House Prices with Machine Learning This project is build to enhance my knowledge about machin

1 Jan 01, 2022
The unified machine learning framework, enabling framework-agnostic functions, layers and libraries.

The unified machine learning framework, enabling framework-agnostic functions, layers and libraries. Contents Overview In a Nutshell Where Next? Overv

Ivy 8.2k Dec 31, 2022
MasTrade is a trading bot in baselines3,pytorch,gym

mastrade MasTrade is a trading bot in baselines3,pytorch,gym idea we have for example 1 btc and we buy a crypto with it with market option to trade in

Masoud Azizi 18 May 24, 2022
Simple linear model implementations from scratch.

Hand Crafted Models Simple linear model implementations from scratch. Table of contents Overview Project Structure Getting started Citing this project

Jonathan Sadighian 2 Sep 13, 2021
Massively parallel self-organizing maps: accelerate training on multicore CPUs, GPUs, and clusters

Somoclu Somoclu is a massively parallel implementation of self-organizing maps. It exploits multicore CPUs, it is able to rely on MPI for distributing

Peter Wittek 239 Nov 10, 2022
MLBox is a powerful Automated Machine Learning python library.

MLBox is a powerful Automated Machine Learning python library. It provides the following features: Fast reading and distributed data preprocessing/cle

Axel 1.4k Jan 06, 2023
This project impelemented for midterm of the Machine Learning #Zoomcamp #Alexey Grigorev

MLProject_01 This project impelemented for midterm of the Machine Learning #Zoomcamp #Alexey Grigorev Context Dataset English question data set file F

Hadi Nakhi 1 Dec 18, 2021
This is an auto-ML tool specialized in detecting of outliers

Auto-ML tool specialized in detecting of outliers Description This tool will allows you, with a Dash visualization, to compare 10 models of machine le

1 Nov 03, 2021
InfiniteBoost: building infinite ensembles with gradient descent

InfiniteBoost Code for a paper InfiniteBoost: building infinite ensembles with gradient descent (arXiv:1706.01109). A. Rogozhnikov, T. Likhomanenko De

Alex Rogozhnikov 183 Jan 03, 2023
Python library for multilinear algebra and tensor factorizations

scikit-tensor is a Python module for multilinear algebra and tensor factorizations

Maximilian Nickel 394 Dec 09, 2022
A basic Ray Tracer that exploits numpy arrays and functions to work fast.

Python-Fast-Raytracer A basic Ray Tracer that exploits numpy arrays and functions to work fast. The code is written keeping as much readability as pos

Rafael de la Fuente 393 Dec 27, 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
A Lightweight Hyperparameter Optimization Tool 🚀

The mle-hyperopt package provides a simple and intuitive API for hyperparameter optimization of your Machine Learning Experiment (MLE) pipeline.

Robert Lange 137 Dec 02, 2022
TensorFlow Decision Forests (TF-DF) is a collection of state-of-the-art algorithms for the training, serving and interpretation of Decision Forest models.

TensorFlow Decision Forests (TF-DF) is a collection of state-of-the-art algorithms for the training, serving and interpretation of Decision Forest models. The library is a collection of Keras models

538 Jan 01, 2023