This repository contains a curated list of awesome open source libraries that will help you deploy, monitor, version, scale, and secure your production machine learning 🚀
You can keep up to date by watching this github repo to get a summary of the new production ML libraries added every month via releases 🤩
Additionally, we provide a search toolkit that helps you quickly navigate through the toolchain.
Please review our CONTRIBUTING.md requirements when submitting a PR to help us keep the list clean and up-to-date - thank you to the community for supporting its steady growth 🚀
10 Min Video Overview
This 10 minute video provides an overview of the motivations for machine learning operations as well as a high level overview on some of the tools in this repo. This newer video covers the an updated 2024 version of the state of MLOps.
Want to receive recurrent updates on this repo and other advancements?
You can join the Machine Learning Engineer newsletter. Join over 70,000 ML professionals and enthusiasts who receive weekly curated articles & tutorials on production Machine Learning.
Also check out the Awesome Production GenAI List, where we aim to map a curated list of awesome open source libraries to deploy, monitor, version and scale your generative artificial intelligence applications and systems.
Main Content
AutoML
AIDE - AIDE is an open-source ML engineering agent that uses a tree search algorithm to autonomously explore, implement, and evaluate solution strategies for machine learning tasks.
AutoGluon - Automated feature, model, and hyperparameter selection for tabular, image, and text data on top of popular machine learning libraries (Scikit-Learn, LightGBM, CatBoost, PyTorch, MXNet).
Katib - A Kubernetes-based system for Hyperparameter Tuning and Neural Architecture Search.
keras-tuner - Keras Tuner is an easy-to-use, distributable hyperparameter optimisation framework that solves the pain points of performing a hyperparameter search. Keras Tuner makes it easy to define a search space and leverage included algorithms to find the best hyperparameter values.
Optuna - Optuna is an automatic hyperparameter optimisation software framework, particularly designed for machine learning.
OSS Vizier - OSS Vizier is a Python-based service for black-box optimisation and research, one of the first hyperparameter tuning services designed to work at scale.
Perpetual - A gradient boosting machine that doesn't need hyperparameter optimization, with a simple budget parameter to control model complexity.
tsfresh - Automatic extraction of relevant features from time series.
Computation and Communication Optimisation
Accelerate - Accelerate abstracts exactly and only the boilerplate code related to multi-GPU/TPU/mixed-precision and leaves the rest of your code unchanged.
Adapters - Adapters is a unified library for parameter-efficient and modular transfer learning.
Cache-DiT - Cache-DiT is built on top of Diffusers and supports nearly all DiTs, providing hybrid cache acceleration (DBCache, TaylorSeer, SCM, etc.) and comprehensive parallelism optimizations including Context Parallelism, Tensor Parallelism, and hybrid 2D/3D parallelism, with compatibility for compilation, CPU offloading, and quantization.
Colossal-AI - A unified deep learning system for big model era, which helps users to efficiently and quickly deploy large AI model training and inference.
Composer - Composer is a PyTorch library that enables you to train neural networks faster, at lower cost, and to higher accuracy.
CuDF - Built based on the Apache Arrow columnar memory format, cuDF is a GPU DataFrame library for loading, joining, aggregating, filtering, and otherwise manipulating data.
CuML - cuML is a suite of libraries that implement machine learning algorithms and mathematical primitives functions that share compatible APIs with other RAPIDS projects.
CuPy - An implementation of NumPy-compatible multi-dimensional array on CUDA. CuPy consists of the core multi-dimensional array class, cupy.ndarray, and many functions on it.
DEAP - A novel evolutionary computation framework for rapid prototyping and testing of ideas. It seeks to make algorithms explicit and data structures transparent. It works in perfect harmony with parallelisation mechanisms such as multiprocessing and SCOOP.
DeepEP - DeepEP is a communication library tailored for Mixture-of-Experts (MoE) and expert parallelism (EP). It provides high-throughput and low-latency all-to-all GPU kernels, which are also known as MoE dispatch and combine. The library also supports low-precision operations, including FP8.
DGL - DGL is an easy-to-use, high performance and scalable Python package for deep learning on graphs.
DLRover - DLRover makes the distributed training of large AI models easy, stable, fast and green.
Dask - Distributed parallel processing framework for Pandas and NumPy computations.
DeepSpeed - DeepSpeed is a deep learning optimization library that makes distributed training and inference easy, efficient, and effective.
FlagGems - FlagGems is a high-performance general operator library implemented in OpenAI Triton. It builds on a collection of backend neutral kernels that aims to accelerate LLM training and inference across diverse hardware platforms.
Flashlight - A fast, flexible machine learning library written entirely in C++ from the Facebook AI Research and the creators of Torch, TensorFlow, Eigen and Deep Speech.
Flax - A neural network library and ecosystem for JAX designed for flexibility.
GPUStack - GPUStack is an open-source GPU cluster manager for running AI models.
Hivemind - Decentralized deep learning in PyTorch.
Jax - Composable transformations of Python+NumPy programs: differentiate, vectorize, JIT to GPU/TPU, and more.
Kompute - Blazing fast, lightweight and mobile phone-enabled Vulkan compute framework optimized for advanced GPU data processing usecases.
Liger Kernel - Liger Kernel is a collection of Triton kernels designed specifically for LLM training.
LightGBM - LightGBM is a gradient boosting framework that uses tree based learning algorithms.
MLX - MLX is an array framework for machine learning on Apple silicon.
Modin - Speed up your Pandas workflows by changing a single line of code.
NVIDIA TensorRT - TensorRT is a C++ library for high-performance inference on NVIDIA GPUs and deep learning accelerators.
Nevergrad - Nevergrad is a gradient-free optimisation platform.
Norse - Norse aims to exploit the advantages of bio-inspired neural components, which are sparse and event-driven - a fundamental difference from artificial neural networks.
Numba - A compiler for Python array and numerical functions.
Optimum - Optimum is an extension of Transformers and Diffusers, providing a set of optimization tools enabling maximum efficiency to train and run models on targeted hardware while keeping things easy to use.
PEFT - Parameter-Efficient Fine-Tuning (PEFT) methods enable efficient adaptation of pre-trained language models (PLMs) to various downstream applications without fine-tuning all the model's parameters.
PaddlePaddle - PaddlePaddle is a framework to perform large-scale deep network training, using data sources distributed across hundreds of nodes.
PyG - PyG (PyTorch Geometric) is a library built upon PyTorch to easily write and train Graph Neural Networks (GNNs) for a wide range of applications related to structured data.
PyTorch Lightning - PyTorch Lightning pretrains, finetunes and deploys AI models on multiple GPUs, TPUs with zero code changes.
PyTorch - PyTorch is a library to develop and train neural network based deep learning models.
Ray - Ray is a flexible, high-performance distributed execution framework for machine learning.
SetFit - SetFit is an efficient and prompt-free framework for few-shot fine-tuning of Sentence Transformers.
Sonnet - Sonnet is a library built on top of TensorFlow 2 designed to provide simple, composable abstractions for machine learning research.
Streaming - A Data Streaming Library for Efficient Neural Network Training.
Что это такое?Тщательно отобранный, поддерживаемый сообществом каталог open source-библиотек для production-машинного обучения: инструменты для развёртывания, мониторинга, версионирования, масштабирования и защиты ML-систем, разбитые более чем на 25 разделов с комментариями.
Так это инструмент, который можно установить, или список для чтения?Это список для чтения, а не программа: README, где каждая запись ссылается на проект с кратким описанием в одну строку. Устанавливать ничего не нужно — каталог просматривают, чтобы подобрать библиотеки для своего ML-стека.
Какие инструменты AutoML там перечислены?Около двадцати — AIDE (ML-агент для инженерных задач, который ищет стратегии решения с помощью tree search), AutoGluon, auto-sklearn, Autokeras, EvalML, FLAML, Optuna, TPOT, а также Katib для подбора гиперпараметров в Kubernetes, и не только они.
Что там есть для ускорения обучения и инференса в больших масштабах?Раздел Computation and Communication Optimisation: DeepSpeed и Ray для распределённого обучения, Colossal-AI для больших моделей, NVIDIA TensorRT для инференса на GPU, плюс варианты под конкретное железо вроде cuDF и Apple-silicon MLX.
Проекту важны приватность и ответственный ИИ или только масштаб?И то, и другое: рядом с разделом Explainability & Fairness есть отдельный раздел Privacy & Safety, а в темах репозитория значатся privacy-preserving ML и responsible AI.