Overview of the different approaches to putting Machine Learning (ML) models in production
There are different approaches to putting models into productions, with benefits that can vary dependent on the specific use case. Take for example the use case of churn prediction, there is value in having a static value already that can easily be looked up when someone calls a customer service, but there is some extra value that could be gained if, for specific events, the model could be re-run with the newly acquired information.
There are generally different ways to both train and serve models into production:
- Train: one-off, batch and real-time/online training
- Serve: Batch, Realtime (Database Trigger, Pub/Sub, web-service, inApp)
Each approach has its own set of benefits and tradeoffs that need to be considered.
One-off Training
Models don’t necessarily need to be continuously trained in order to be pushed to production. Quite often, a model can be just trained ad-hoc by a data-scientist and pushed to production until its performance deteriorates enough that they are called upon to refresh it.