Open source tooling for data-centric AI on unstructured data
Data-centric AI (DCAI) is a development paradigm for ML-based solutions. The term was coined by Andrew Ng who gave the following definition:
Data-centric AI is the practice of systematically engineering the data used to build AI systems.
At Renumics, we believe DCAI is an important puzzle piece for building real-world AI systems that generate value. We like the following definition:
Data-centric AI means to improve training datasets systematically and iteratively by leveraging information from trained ML models.
Tools that can be efficiently used in day-to-day applications are the most important ingredient for the DCAI paradigm. This curated link collection is intended to help you discover useful open source tools for your data-centric AI workflows.
We include useful tools that have an open-source license and are actively maintained in this collection. All tools mentioned are useful for building DCAI workflows on unstructured data (e.g. images, audio, video, time-series, text).
We also collect workflow snippets into a data-centric AI playbook that show how typical tasks can be solved with open source tooling.
In order to keep a useful focus and to prevent duplicate work, we exclude some topics from this list such as tooling for tabular data, dedicated labeling tools, MLOps tooling as well as research papers. Please check out the further reading section to find awesome lists for these topics.
Do you think something is missing? Please help contribute to this list by contacting us or adding a pull request.
- Data versioning
- Embeddings and pre-trained models
- Visualization and interaction
- Outlier and noise detection
- Explainability
- Active learning
- Uncertainty quantification
- Bias and fairness
- Observability and monitoring
- Augmentation and synthetic data
- Security and robustness
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
Data version control (DVC) | Data Version Control or DVC is a command line tool and VS Code Extension to help you develop reproducible machine learning projects. | |||
deeplake | Data Lake for Deep Learning. Build, manage, query, version, & visualize datasets. | |||
Pachyderm | Pachyderm β Automate data transformations with data versioning and lineage. | |||
Delta Lake | An open-source storage framework that enables building a Lakehouse architecture. | |||
lakeFS | lakeFS is an open-source tool that transforms your object storage into a Git-like repository. |
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
towhee | Towhee is a framework that is dedicated to making neural data processing pipelines simple and fast. | |||
Tensorflow Hub | TensorFlow Hub is a repository of reusable assets for machine learning with TensorFlow. | |||
Huggingface transformers | State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX. | |||
Lightly | Lightly is a computer vision framework for self-supervised learning. |
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
Renumics Spotlight | Curation tool for unstructured data that connects your stack to the data-centric AI ecosystem. | |||
FiftyOne | The open-source tool for building high-quality datasets and computer vision models. | |||
refinery | The data scientist's open-source choice to scale, assess and maintain natural language data. | |||
Argilla | Argilla helps domain experts and data teams to build better NLP datasets in less time. | |||
Xtreme1 | Xtreme1 is the world's first open-source platform for multisensory training data. | |||
YData Profiling | YData Profiling is a python package to perform Exploratory Data Analysis (EDA) for tabular and time-series data. |
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
Cleanlab | Cleanlab facilitates machine learning with messy, real-world data by providing clean labels for robust training and flagging errors in your data. | |||
PyOD | PyOD | A Comprehensive and Scalable Python Library for Outlier Detection (Anomaly Detection) | ||
TODS | An full-stack automated time-series outlier detection system. | |||
Alibi Detect | Algorithms for outlier, adversarial and drift detection. |
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
SHAP | A game theoretic approach to explain the output of any machine learning model. | |||
Alibi | Alibi is an open source Python library aimed at machine learning model inspection and interpretation. | |||
LIME | LIME | Explaining the predictions of any machine learning classifier. | ||
Captum | Model interpretability and understanding for PyTorch. |
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
modAL | A modular active learning framework for Python. | |||
Bayesian Active Learning (Baal) | Library to enable Bayesian active learning in your research or labeling work. |
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
Uncertainty Toolbox | A Python toolbox for predictive uncertainty quantification, calibration, metrics, and visualization. | |||
MAPIE | A scikit-learn-compatible module for estimating prediction intervals. |
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
AIF360 | The AI Fairness 360 toolkit helps to detect and mitigate bias in machine learning models throughout the AI application lifecycle. | |||
Fairlearn | A Python package to assess and improve fairness of machine learning models. |
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
Arize-Phoenix | Arize-Phoenix is a Python library for ML observability (monitoring + root-cause analysis) for tabular, CV, NLP, and LLM models. | |||
Deepchecks | Deepchecks is a Python package for comprehensively validating your machine learning models and data with minimal effort. | |||
Evidently | An open-source framework to evaluate, test and monitor ML models in production. | |||
langfuse | Open source observability and analytics for LLM applications. | |||
langkit | An open-source toolkit for monitoring Large Language Models (LLMs). |
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
Albumentations | Fast image augmentation library and an easy-to-use wrapper around other libraries. | |||
Gretel Synthetics | Synthetic data generators for structured and unstructured text, featuring differentially private learning. | |||
SDV | Synthetic Data Generation for tabular, relational and time series data. | |||
YData Synthetic | YData Synthetic is a python package to generate synthetic tabular and time-series data by leveraging state-of-the-art generative models. |
Logo | Name | Description | Popularity | License |
---|---|---|---|---|
CleverHans | An adversarial example library for constructing attacks, building defenses, and benchmarking both. | |||
Adversarial Robustness Toolbox | Python Library for Machine Learning Security - Evasion, Poisoning, Extraction, Inference - Red and Blue Teams. | |||
Foolbox | Foolbox is a Python library that lets you easily run adversarial attacks against machine learning models like deep neural networks. | |||
Giskard | The testing framework for ML models, from tabular to LLMs. | |||
LLM-Guard | The Security Toolkit for LLM Interactions. | |||
guardrails | Adding guardrails to large language models. |
Name | Data type | Description | Notebook |
---|---|---|---|
Understand distributions | image | Use the Huggingface transformers library to compute image embeddings and explore the dataset based on the similarity map and additional metdata. |
Name | Data type | Description | Notebook |
---|---|---|---|
Detect duplicates | agnostic | Use the Annoy library to detect nearest neighbors in the embedding space and inspect data points that are duplicates / near duplicates. | |
Detect outliers | agnostic | Use the Cleanlab library to compute outlier scores based on model output (embeddings, probabilities) and inspect outlier candidates. | |
Detect image issues | image | Use the Cleanvision library to extrapact typical image issues (brightness, blurr, aspect ratio, SNR and duplicates) and identify critical segments through manual inspection. |
Name | Data type | Description | Notebook |
---|---|---|---|
Find label inconsistencies | agnostic | Use the Cleanlab library to compute label error flags based on model probabilities and manually inspect critical data segments. |
Name | Data type | Description | Notebook |
---|---|---|---|
Detect leakage | agnostic | Use nearest neighbor distances to identify candidates for data leakage and manual inspect them |
Name | Data type | Description | Notebook |
---|---|---|---|
Inspect decision boundaries | agnostic | Compute a decision boundary score based on certainty ratios and inspect the results in a scatter plot. |
Name | Data type | Description | Notebook |
---|---|---|---|
Detect data drift | agnostic | Compute the cosine distance of the k-nearest neighbor in the embedding space as the drift distance and inspect critical segments. |
In order to keep a useful focus and to prevent duplicate work, we excluded some topics from this list. Read more about them here:
- DCAI tools for tabular data. There is an awesome list for that maintained by the Ydata team.
- Labeling tools. Although labeling is part of the DCAI workflow, we refer to the awesome list of the ZenML team on that topic.
- MLOps tooling. We exclude all topics that are clearly out of the DCAI scope and refer to established MLOps awesome lists for these tools.
- Research papers. We focus on industrial-ready open source tooling, check out this list for a research-oriented view on DCAI.