All Projects → fuzzylabs → awesome-open-mlops

fuzzylabs / awesome-open-mlops

Licence: Apache-2.0 license
The Fuzzy Labs guide to the universe of open source MLOps

Projects that are alternatives of or similar to awesome-open-mlops

Boostaroota
A fast xgboost feature selection algorithm
Stars: ✭ 165 (-45.72%)
Mutual labels:  datascience, machinelearning
kedro-airflow-k8s
Kedro Plugin to support running pipelines on Kubernetes using Airflow.
Stars: ✭ 22 (-92.76%)
Mutual labels:  machinelearning, mlops
Datacamp Python Data Science Track
All the slides, accompanying code and exercises all stored in this repo. 🎈
Stars: ✭ 250 (-17.76%)
Mutual labels:  datascience, machinelearning
Ai Series
📚 [.md & .ipynb] Series of Artificial Intelligence & Deep Learning, including Mathematics Fundamentals, Python Practices, NLP Application, etc. 💫 人工智能与深度学习实战,数理统计篇 | 机器学习篇 | 深度学习篇 | 自然语言处理篇 | 工具实践 Scikit & Tensoflow & PyTorch 篇 | 行业应用 & 课程笔记
Stars: ✭ 702 (+130.92%)
Mutual labels:  datascience, machinelearning
awesome-conformal-prediction
A professionally curated list of awesome Conformal Prediction videos, tutorials, books, papers, PhD and MSc theses, articles and open-source libraries.
Stars: ✭ 998 (+228.29%)
Mutual labels:  datascience, machinelearning
Datastream.io
An open-source framework for real-time anomaly detection using Python, ElasticSearch and Kibana
Stars: ✭ 814 (+167.76%)
Mutual labels:  datascience, machinelearning
ml-book
Codice sorgente ed Errata Corrige del mio libro "A tu per tu col Machine Learning"
Stars: ✭ 16 (-94.74%)
Mutual labels:  datascience, machinelearning
Metaflow
🚀 Build and manage real-life data science projects with ease!
Stars: ✭ 5,108 (+1580.26%)
Mutual labels:  datascience, mlops
k3ai
A lightweight tool to get an AI Infrastructure Stack up in minutes not days. K3ai will take care of setup K8s for You, deploy the AI tool of your choice and even run your code on it.
Stars: ✭ 105 (-65.46%)
Mutual labels:  datascience, mlops
comet-for-mlflow
Comet-For-MLFlow Extension
Stars: ✭ 48 (-84.21%)
Mutual labels:  datascience, machinelearning
Code
Compilation of R and Python programming codes on the Data Professor YouTube channel.
Stars: ✭ 287 (-5.59%)
Mutual labels:  datascience, machinelearning
RcppDynProg
Dynamic Programming implemented in Rcpp. Includes example partition and out of sample fitting applications.
Stars: ✭ 13 (-95.72%)
Mutual labels:  datascience, machinelearning
Notebooks Statistics And Machinelearning
Jupyter Notebooks from the old UnsupervisedLearning.com (RIP) machine learning and statistics blog
Stars: ✭ 270 (-11.18%)
Mutual labels:  datascience, machinelearning
Data Umbrella Scikit Learn Sprint
Jun 2020 scikit-learn sprint
Stars: ✭ 93 (-69.41%)
Mutual labels:  datascience, machinelearning
Ludwig
Data-centric declarative deep learning framework
Stars: ✭ 8,018 (+2537.5%)
Mutual labels:  datascience, machinelearning
Around Dataengineering
A Data Engineering & Machine Learning Knowledge Hub
Stars: ✭ 257 (-15.46%)
Mutual labels:  infrastructure, datascience
Data-Science-and-Machine-Learning-Resources
List of Data Science and Machine Learning Resource that I frequently use
Stars: ✭ 19 (-93.75%)
Mutual labels:  datascience, machinelearning
python
Python codes from tutorials on the Data Professor YouTube channel
Stars: ✭ 51 (-83.22%)
Mutual labels:  datascience, machinelearning
mlops-case-study
MLOps Case Study
Stars: ✭ 23 (-92.43%)
Mutual labels:  datascience, mlops
gan deeplearning4j
Automatic feature engineering using Generative Adversarial Networks using Deeplearning4j and Apache Spark.
Stars: ✭ 19 (-93.75%)
Mutual labels:  datascience, machinelearning

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! (but please ensure it meets the definitions of open source below).

What counts as open source?

In deciding what to include in this list we apply 3 criteria.

👮‍ Fits the definition

Rather than invent our own definition, we defer to the Open Source Initiative's definition of open source. The OSI have laid out a set of clear and unambiguous requirements for something to be considered free and open source.

Open source license

So it follows that any OSI-approved license is acceptable, with examples including the various Apache, GPL, and BSD licenses. But this also means there are licenses that we don't include, such as the increasingly-popular Server Side Public License; to understand why, see the OSI's writeup on the subject.

🔋 Batteries included

We only list tools that are fully-functional and able to stand on their own. Some vendors offer limited open source versions of their tools, but ultimately those vendors want to guide you towards a SaaS offering. Sometimes there's a genuinely open-source client, but a proprietary server, meaning that the tool is not truly stand-alone. Everything in this collection comes complete with "batteries included".

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.

Name License Description
DVC Apache 2.0 One of the most popular general-purpose data versioning tools.
Delta Lake Apache 2.0 Data versioning for data warehouses.
LakeFS Apache 2.0 Transform your object storage into a Git-like repository.
Git LFS MIT Not specialised in machine learning use-cases, but 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.

Name License Description
Sacred MIT
Tensorboard Apache 2.0
Guild.AI Apache 2.0
MLFlow Apache 2.0
Kedro Apache 2.0 A Python framework for creating reproducible, maintainable and modular data science code.

Model training

Name License Description
MLFlow Apache 2.0
Kubeflow Apache 2.0 The machine learning toolkit for kubernetes
Metaflow Apache 2.0
envd Apache 2.0 The machine learning development environment for data science and AI/ML engineering teams.

Model registries

Model registries are used to track the lifecycle of trained machine learning models.

Name License Description
MLFlow Apache 2.0 The ML Flow model registry allows you to store, annotate, discover, and manage models in a central repository.
modelstore Apache 2.0 A Python library for versioning, storing, and tracking ML model artefacts across several different types of storage.

Workflows

Name License Description
CML Apache 2.0

Feature stores

Name License Description
Feast Apache 2.0 A complete open source feature store.
Hopsworks AGPL-3.0 A feature store, feature engineering, and more.

Feature Engineering

Name License Description
Hamilton BSD-3 CC A way to organize, curate, and scale your feature transform code.

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.

Name License Description
Seldon Core Apache 2.0 Turn your models into microservices to run on Kubernetes
BentoML Apache 2.0
Bodywork AGPL-3.0
KServe Apache 2.0

Model monitoring

Monitoring means making sure that each deployed model is both functioning, and producing sensible results. We don't just want to check for errors in the traditional sense, but also for things like drift and signs of bias in the predictions and decisions that come from a model.

Name License Description
Evidently Apache 2.0
Boxkite ML Apache 2.0
Alibi Detect (by Seldon) Apache 2.0
whylogs Apache 2.0 whylogs allows users to generate data profiles, statistical summaries of data, that can be used as logs for an AI observability platform.

Full stacks

Name License Description
Open MLOps MIT
You Don't Need a Bigger Boat MIT
ZenML Apache 2.0 An extensible, open-source MLOps framework to create production-ready machine learning pipelines.

Governance

Name License Description
Bailo Apache 2.0 Managing the lifecycle of machine learning to support scalability, impact, collaboration, compliance and sharing.

More resources

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].