Beyond a single GPU, you can set up coordinated networks of CPUs and GPUs to solve bigger problems in less time. Unless you train deep learning models year-round and have a huge capital budget, you might find that renting time on a cloud with GPUs to be your most cost-effective option. Several deep learning frameworks, including CNTK, MXNet and TensorFlow, support parallelized computation with CPUs and GPUs, and have demonstrated reasonable scaling coefficients (~85% in one test) for networks of very large virtual machine (VM) instances with capable GPUs. You can find these frameworks and more already installed into VM instances with GPU support on the major cloud providers.
Your ML models outperform your statistical models
Your simple statistical models set the bar for your work with machine learning and deep learning. If you can’t raise the bar with a given model, then you should either tune it or try a different approach. Once you know what you’re doing, you can set up trainings for many models in parallel under the control of a hyperparameter tuning algorithm, and use the best results to guide the next stage of your process.
You are able to deploy predictive models
Ultimately, you are going to want to apply your trained models in real time. Depending on the application, the prediction may run on a server, in a cloud, on a personal computer or on a phone. The deep learning frameworks offer various options for embedding their models into web and mobile apps. Amazon, Google and Microsoft have all demonstrated the practicality of this by producing consumer devices and smartphone apps that understand speech.
You are able to update your models periodically
If you’ve trained your own model on your data, you may find that the model’s error rates (false positives and true negatives) increase over time. That’s basically because the data drifts over time: your sales patterns change, your competition changes, styles change and the economy changes. To accommodate this effect, most deep learning frameworks have an option for retraining the old model on your new data and replacing the predictive service with the new model. If you do this on a monthly basis you should be able to stay on top of the drift. If you can’t, your model will eventually become too stale to be reliable.
To return to our initial questions, do you know what you want to predict or detect? Do you have enough data to analyze to build predictive models? Do you have the people and tools you need to define and train models? Do you already have statistical or physical models to give you a baseline for predictions?
Sign up for CIO Asia eNewsletters.