Building Successful Machine Learning Foundations in Enterprises—A Practitioner’s Viewpoint
In the digital communities that we live in, storage is virtually free and our garrulous species is generating and storing data like never before. And, with exponentially increasing computing power and newer chip architectures, Machine Learning (ML) has emerged as a powerful technique for building models over Big Data to predict outcomes. So, first and foremost, we must acknowledge that it is application rather than theory that has pitchforked ML to the centrestage of human imagination.
ML has its roots in the study of pattern recognition and computational learning theory in AI. Many of the theories that have made Neural Networks the proverbial silver bullet for some and the weapon of mass annihilation of organic intelligence for others, had already been developed in 1960s and 70s. So amidst all the hype, entertaining TV debates and fictionalised-non-fiction narratives on AI/ML, business establishments must keep in mind that in order to ride the waves of this extraordinary technology, they must tie their strategy to the ground reality and focus on building the foundation for a strong AI/ML across the organisation.
As a practitioner, what I have observed, is that ML projects adhere to the 90–90 rule (The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time). This is because the algorithms and models that form the brain of the system are not the bottlenecks in most applications. The bottleneck, actually is the availability of 1) adequate and sanitised data, 2) suitable infrastructure and appropriate platform 3), right skills and 4) executive sponsorship.
With the above in context, here, I believe, are the three focus areas for building a successful and productive AI/ML foundation in any organisation:
#1 Executive Sponsorship and Management Strategy: Adopting AI/ML in the enterprise would essentially mean weaving it into the fabric of the corporate culture. This wouldn’t be possible without executive sponsorship. While it’s fashionable to hurl banalities like “Data is the new Gasoline”, “AI is electricity”, “Build Living Systems”, and so on and so forth, however, what is important is backing the narrative with affirmative action on the ground that would include:
a. Plan for a special AI/ML unit and attract the right talent with skills encompassing technology and business.
b. Have designated AI evangelists and champions with the goal of democratising AI across the organisation. The AI narrative should be as much inward focused as outward. Effective training programmes are essential. Partnering with MOOCs like Udacity and Coursera would immensely help.
c. Prioritise AI projects with clear business value articulation to ensure that they do not devolve into science projects but into business solutions creating competitive edge. The distribution of valuable and scarce resources must be driven by the priority.
d. Set short term goals that are clearly measurable and preferably single metrics for each ML program to evaluate progress.
e. Model Owners are critical to eventual and continued success of any programme and they must have well-defined roles and responsibilities.
f. Outsourcing: Some of the work related to data engineering and DevOps/SRE may be outsourced to concentrate resources towards achieving the business goals.
#2 Enabling Infrastructure and Platform: Storage capacity, computation power and software tools are the three keys that have triggered the current wave of AI/ML success. So, building a flexible and developer-friendly platform over an appropriate scalable infrastructure, should be the first priority. As any experienced ML architect would say, the eventual success of an ML programme would largely depend on having proper infrastructure in place not only for build and deploy but for maintenance and monitoring as well. A DevOps/SRE approach is essential for the project life cycle.
a. Data Storage: The ability to collect, store and quickly access large volumes of data is absolutely essential for the success of any ML project. Personalised experience that users are now demanding wouldn’t be possible without the ability to store and analyse petabytes of data. Deep Learning algorithms are data hungry and more data would mean higher precision. Good news is that the data storage costs have gone down significantly with time and the introduction of solid-state storage and falling RAM prices are reducing latencies and increasing storage capacities. Organisations must have a robust and scalable plan for data storage.
b. Computation Power: The ability to process the collected data in reasonable amount of time is another essential ingredient in a successful ML recipe. The general purpose GPUs that were first introduced in 2006 primarily for graphic processing have become the vehicle on which state-of-the-art ML algorithms ride. Although the rapid improvements in GPUs and co-processors rarely attract as much attention as the innovations in ML algorithms, any enterprise level ML strategy must be tuned with the cutting edge of hardware and ensure that appropriate hardware is being used even when on third-party managed cloud. In many cases, these chips may make all the difference between having a delighted as against an ambivalent user. Just to cite some examples, Apple introduced its custom built “neural engine” along with its A11 chip with the intention of becoming the platform of choice for AI products; Microsoft has introduced Brainwave, a new system for an easy distribution of ML systems; Google has also thrown in its hat in the hardware game with its Pixel Visual coprocessor.
c. Software Tools: Unlimited storage and brute computation power would be of little value unless appropriate software is made available and there’s plenty to choose from. Most of these tools are Open Source and must be made accessible to as many developers in the organisation as possible to trigger a mindset change and to unlock the maximum value out of the ML initiatives. Google’s Tensorflow and Tensorflow Light, Facebook’s Pytorch, Apple’s Core ML, Uber’s Horovod, Keras and Jupyter Notebook for research, Open AI Gym and many other softwares and platforms have made tremendous contributions to reducing the steep learning curve for ML/AI. These should be made accessible to the large number of developers.
#3 Common Concerns around Production and Executions
There are some common concerns that must be mitigated while executing the ML strategy.
a. How to structure the team?—ML is an emerging field and experienced resources are scarce. Additionally, a very diverse set of specialised skills are mandated for a successful execution. Hence, careful thought should be given to how the teams should be structured with Data Scientists, ML Engineers, Infra Leads.
Keeping the Infrastructure and Software development tracks separate and reporting to the programme anchor who has a firm grasp of business and technology may be the right approach. Non-core functions can be packaged and given to an outsourcing partner.
b. How to measure success?—For each project, it’s best to define a single metric to track performance and the metric should have a mapping with the business value. This makes it easier to track success of the programme.
c. How to manage data and the model?—We must be cognizant of the fact that data changes over time and hence models need to trained, updated and deployed to be in synch with the changes in the ground truth. Several issues may arise due to disparate data sources, security concerns and regulatory restrictions and mandates, multiple model types (supervised/unsupervised/reinforcement) and different algorithms (Gradient Boosted, Logistic Regression, Deep Convolution, RNN, etc). Some technical interventions that could help includes, deploying strong CI/CD server like Jenkins, flexible Cloud platforms (AWS, Google and Microsoft have great platforms enabled for running ML programs), Version control using Git or other versioning tools, etc.
I truly believe that Machine Learning can really transform businesses, if used appropriately. However there must be a focussed attention towards building the right foundation.