Machine learning models come in many forms and cater to many use cases, and the proliferation of machine learning over the past decade has happened in three stages. First, there were breakthroughs in deep learning and the complementary emergence of cloud computing and big data. The second stage has been the creation and standardization of tools and frameworks for machine learning development. And most recently the deployment and in-life support of machine learning has come to the fore. But is this enough, or is there something missing?
Machine learning’s incremental rise draws parallels to that of software applications. In the seventies, eighties and much of the nineties, many could see the potential of computers and software, but it was not until we had standardized operations systems and integrated development environments—as well as rich languages, libraries, and frameworks—that software applications could truly multiply, and impact our lives to the extent that they have today.
The storied advances in convolutional and recurrent neural networks were followed by the emergence of all the tools needed to make machine learning a reality. Data management and analytics, data exploration, feature engineering and model training have all become solved problems. We have seen a standardization around languages like Python and machine learning libraries and frameworks like Tensorflow, Keras and Pytorch.
It appeared to many that deployment was the final frontier to be addressed. While the other steps in a machine learning development process are the job of data engineers and data scientists, it took software and dev ops engineers to bring a model to production. But this problem too has been cracked as the machine learning community standardizes around containers and Kubernetes that fit nicely into the prevailing microservices-based architecture of modern applications. The complexity of deployment has been abstracted away for data scientists, and they now have more control of their models as they move into production.
Many companies have consolidated all these capabilities into a single unified machine learning platform that starts with data analytics all the way to model deployment and management. Uber’s Michelangelo and Google’s TFX are examples of internal machine learning platforms at large companies, and now there are commercial platforms available, like AWS Sagemaker and Microsoft’s Azure ML, so that any company can benefit from a fully integrated machine learning development kit.
So there we have it, the problem is solved and machine learning can now become as ubiquitous and transformative as we have all been told it would be. But why, then, Is Gartner telling us that only 4% of Chief Information Officers (CIO’s) have implemented AI? Maybe it is just a lag, maybe all these new tools just need time to gain the required adoption, or maybe there is another piece of the puzzle missing.
The problem is, machine learning models do not solve any problems by themselves. They get an input and they produce an output; but where do these models get their input from, and who or what acts on the output? It would be great if we could build data pipelines that fed all of our models the data they need from all of the sources of digitized data (applications, documents, websites), but this simply is not feasible. And when the model produces an output, what is consuming it? Am I going to have to build new software or extensions to my existing application to act on the output of every model I produce?
The hype that machine learning has garnered over the last several years is justified, because it has transformative potential for businesses, but it is not an end in and of itself; it is simply a means. Whether you want machine learning to offer predictive insights for humans to act upon, or to automate tasks previously performed by humans, the models are not enough. The first three stages of the machine learning revolution have already taken place. For the fourth, machine learning needs an operationalization mechanism; something into which you can easily insert your model so that it solves a real business problem. When machine learning finds that mechanism, we will finally see the proliferation of real enterprise scale AI.