Skip to main content

UpTrain - ML Observability and Retraining Framework

Project description

uptrain

An open-source framework to observe ML applications, built for engineers

Docs - Try it out - Discord Community - Bug Report - Feature Request

PRs Welcome Docs Community Website Open In Colab

https://user-images.githubusercontent.com/43818888/229681912-a1d9733d-0c41-4be1-83cf-408d5271518e.mp4

Read this in other languages: English language German language Chinese language Hindi language Spanish language French language Japanese language Russian language

UpTrain is an open-source, data-secure tool for ML practitioners to observe and refine their ML models by monitoring their performance, checking for (data) distribution shifts, and collecting edge cases to retrain them upon. It integrates seamlessly with your existing production pipelines and takes minutes to get started ⚡.

Key Features 💡

  • Data Drift Checks - Identify distribution shifts in your model inputs.
  • Performance Monitoring - Track the performance of your models in realtime and get degradation alerts.
  • Embeddings Support - Specialized dashboards to understand model-inferred embeddings.
  • Edge Case Signals - User-defined signals and statistical techniques to detect out-of-distribution data-points.
  • Data Integrity Checks - Checks for missing or inconsistent data, duplicate records, data quality, etc.
  • Customizable metrics - Define custom metrics that make sense for your use case.
  • Automated Retraining - Automate model retraining by attaching your training and inference pipelines.
  • Model Bias - Track bias in your ML model's predictions.
  • AI Explainability - Understand relative importance of multiple features on predictions.
  • Data Security - Your data never goes out of your machine.
  • Slack Integration - Get alerts on Slack.
  • Realtime Dashboards - To visualize your model's health live.

🚨Coming soon🚨

  • Label Shift - Identify drifts in your predictions. Specially useful in cases when ground truth is unavailable.
  • Model confidence interval - Confidence intervals for model predictions
  • Advanced drift detection techniques - Outlier-based drift detection methods
  • Advanced feature slicing - Ability to slice statistical properties
  • Kolmogorov-Smirnov Test - For detecting distribution shifts
  • Prediction Stability - Filter cases where model prediction is not stable.
  • Adversarial Checks - Combat adversarial attacks

And more.

Get started 🙌

You can quickly get started with Google Colab here.

To run it in your machine, follow the steps below:

Install the package through pip:

pip install uptrain

Run your first example:

git clone git@github.com:uptrain-ai/uptrain.git
cd uptrain/examples
pip install jupyterlab
jupyter lab

For a quick walkthrough of how UpTrain works, check out our quickstart tutorial.

UpTrain in action 🎬

One of the most common use cases of ML today is language models, be it text summarization, NER, chatbots, language translation, etc. UpTrain provides ways to visualize differences in the training and real-world data via UMAP clustering of text embeddings (inferred from BERT). Following are some replays from the UpTrain dashboard.

AI Explainability out-of-the-box

umap_gif

Live Model Performance Monitoring and Data Integrity Checks

perf_gif perf_gif

UMAP Dimensionality Reduction and Visualization

umap_gif

Edge-case Collection for Finetuning the Model later

perf_gif

Why UpTrain 🤔?

Machine learning (ML) models are widely used to make critical business decisions. Still, no ML model is 100% accurate, and, further, their accuracy deteriorates over time 😣. For example, Sales prediction becomes inaccurate over time due to a shift in consumer buying habits. Additionally, due to the black box nature of ML models, it's challenging to identify and fix their problems.

UpTrain solves this. We make it easy for data scientists and ML engineers to understand where their models are going wrong and help them fix them before others complain 🗣️.

UpTrain can be used for a wide variety of Machine learning models such as LLMs, recommendation models, prediction models, Computer vision models, etc.

We are constantly working to make UpTrain better. Want a new feature or need any integrations? Feel free to create an issue or contribute directly to the repository.

Meme

License 💻

This repo is published under Apache 2.0 license, with the exception of the ee directory which will contain premium features requiring an enterprise license in the future. We're currently focused on developing non-enterprise offerings that should cover most use cases by adding more features and extending to more models. We also working towards adding a hosted offering - contact us if you are interested.

Stay Updated ☎️

We are continuously adding tons of features and use cases. Please support us by giving the project a star ⭐!

Provide feedback (Harsher the better 😉)

We are building UpTrain in public. Help us improve by giving your feedback here.

Contributors 🖥️

We welcome contributions to UpTrain. Please see our contribution guide for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

uptrain-0.1.2.tar.gz (73.8 kB view details)

Uploaded Source

Built Distribution

uptrain-0.1.2-py3-none-any.whl (103.6 kB view details)

Uploaded Python 3

File details

Details for the file uptrain-0.1.2.tar.gz.

File metadata

  • Download URL: uptrain-0.1.2.tar.gz
  • Upload date:
  • Size: 73.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for uptrain-0.1.2.tar.gz
Algorithm Hash digest
SHA256 567914e6136968c9bdf687a04d42220883d95ac23e5fb958a1ef53dc423d8095
MD5 3b49114e413acd401e392b512e50de7f
BLAKE2b-256 07291cd41be1cd7364cf1a8f591978cab98bdd2c36585719dc588f75956050fd

See more details on using hashes here.

File details

Details for the file uptrain-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: uptrain-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 103.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.16

File hashes

Hashes for uptrain-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 1086a15fd3d1464739c5444bcc5825e2f7f4e1067bf481407be91e39237851d7
MD5 c255eebaefa5be6f21bc0a86f1160705
BLAKE2b-256 a36c0190571ac1cd6549e705dbb2825f4158f549355fb846e524da50fa1e24bc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page