Welcome
mlops is an open-source tool for tracking & monitoring machine learning models.
Table of Contents
Introduction
End-to-end machine learning projects require long-term lifecycles during which different models are evaluated, with various hyperparameters or data representations. Then, out of all the experiments, a final model must be selected for deployment in the production environment. There are some solutions available to manage the model creation process, such as mlflow or neptune.ai. However, none of them support the functionality of monitoring a deployed model in production.
As a part of the mlops project, we aim to create a ready-to-use tool for professionals in the Machine Learning industry allowing them not only to manage experiments during model creation process (tracking module), but also monitoring a deployed model working on real-world production data (monitoring module) with an option to setup email alerts using MailGun (email alerts module).
Technologies
Application consist of two main components:
- Main application (client + server) written in React and FastAPI, which you can run using Docker.
- Python package for communication with the application.
Additionally, we use mongoDB database for storing tracking module data.
Installation & usage
To install the application locally, you need to have docker and docker-compose installed on your machine. Then, you can run the following command:
docker-compose up
After that you can access the application at http://localhost:3000.
To install the python package make sure you have Python >=3.9 installed on your machine. Then, you can install the package using pip:
pip install mlops-ai
Examples
The main end-to-end notebook that presents key features of the package can be found here. Some other example notebooks are also provided inside the library/tests/notebooks
directory.
License
Distributed under the open-source Apache 2.0 License. See LICENSE
for more information.
Contact
Project authors are (in alphabetical order):
- Paweł Łączkowski (front-end)
- Kacper Pękalski (back-end, library)
- Jędrzej Rybczyński (back-end, library)
- Kajetan Szal(back-end, library)
Feel free to contact us in case of any questions or suggestions.
References
This project was created as a final BE project of Computer Science course at Faculty of Mathematics and Computer Science of Adam Mickiewicz University.
To-Do
Application is still under development. Here is a list of features we plan to implement in the future:
- Add support for the whole monitoring module
- Add support for email alerts
- AWS EC2 integration
- Add support for multiple users (optionally)