Despite enthusiasm among executives about the potential of cognitive tech, the majority of companies have few machine learning implementations and pilots underway, according to a 2017 Deloitte study.
But a set of strategies known as machine learning productization will help managers get from prototype to application faster and more efficiently, according to Sharath Bennur, associate director of machine learning at IQVIA. Using these strategies will help companies avoid wasted resources and delayed production times.
"There’s an assumption that because your code looks nice it will work," said Bennur, speaking at Data Jawn 2019 in Philadelphia. "But there’s a lot of refactoring work that goes into this."
At IQVIA, a North Carolina company working on IT and data analytics solutions for the healthcare industry, productization lets teams scale, automate and manage machine learning models. The process involves ample code logging, frequent efficiency tests performed on the model and quick identification of errors.
Deploying ML applications should be an iterative process, made up of smaller and more frequent commits, said Bennur.
"A machine learning platform enables the construction of machine learning pipelines," Bennur said. "If you want your machine learning model to be turned on, you need a platform that can scale, and then frequently retrain your model" on the way to a deployment of applications.
While the data analytics field tends to view its processes as 80% ETL (extracting, transforming and loading data) and 20% data modeling, Bennur said a more accurate depiction of the split is 40% productization, 40 percent ETL and 20 modeling.
"The machine learning code is a small box in a larger infrastructure," said Bennur. "It's easy to lose sight of it once you start, but it later becomes very obvious."
For managers looking to deploy machine learning solutions within their ecosystems, Bennur shared four guiding lessons:
- Software engineering first, machine learning second: For the efficient launch of applications, decision-makers should design a iterative development and delivery process. It should involve code logging, version control and plenty of tests locally and on cluster.
- "ML Ops" is the new bacon: In keeping with his focus on software engineering, machine learning could take its cue from DevOps, adopting methodologies that streamline their processes
- Think of your delivery: As the application comes together, developers should customize the experience for their final users, and keep them at the center of the design process.
- Did you reduce technical debt?: The final version of any solution ought to reduce complexity while avoiding the cycle of technical debt.