ML Systems Dobuts¶
I've been working on a project of Machine Learning where I am using Docker to containerise my applications (frontend and backend). But I'm facing difficulties while using ML models in the containers.
Question
- How to train the model and also use MLFlow for model monitoring?
- I don't know how to integrate the ML models in the containers.
- Should I deploy my models in cloud and from there I can fetch the models for prediction?
- Should I add the models into the container from which I can easily make prediction?
MLFlow¶
In my project yt-watch-history
, I am using MLFlow (but not using it also) means I have written code to train the model with MLFlow but I can also train without it (and I always use this only).
Question
- Should I train the model using MLFLow or just do the model monitoring while Hyper-parameter Tuning?
Containers¶
What I am doing right now?¶
I am training the models before starting the container and after, training the models and starting I do predictions using those models by mounting the directories (where models are stored).
What should I have to do?¶
- I can train the model locally and deploy it on the cloud and then fetch and store* the model while prediction.
- I can containerise the model too with the codes which makes it easy to use and locate. But comes with many disadvantages like scalability, container's size, model availability/redundancy and more.
Databases¶
I have been using this as optional step because I never use database model training purpose. I prefer to fetch the data from database and store them into local files and then use them for all the steps.
How should I use them for model training?
- Should I always fetch data from databases for training?
- Should I fetch the data once and do all the required steps like data preprocessing, data transformation, features selection, model training and all?