In order to effectively create machine learning and deep learning models, you need large amounts of data, a way to clean the data and perform feature engineering on it, and a way to train models on your data in a reasonable amount of time. Next, you need a way to deploy your models, monitor their drift over time, and retrain them if necessary.
You can do all of this on-premises if you have invested in compute resources and accelerators such as GPUs, but you may find that if your resources are adequate, they are also idle most of the time. On the other hand, sometimes it can be more cost effective to run the entire pipeline in the cloud, using large amounts of compute resources and accelerators as needed, and then releasing them.
The major cloud providers – as well as a number of minor clouds – have made considerable efforts to develop their machine learning platforms to support the whole machine learning life cycle, from planning a project to maintaining a model in production. How do you determine which of these clouds will meet your needs? Here are 12 features every end-to-end machine learning platform should provide, with notes on which clouds provide them.