5 Principles Full Stack Developers and Solutions Architects Must Understand About Machine Learning

According to recent and separate studies from Gartner, Harvey Nash/KPMG, and O'Reilly, somewhere between 24% and 37% of organizations are at least moderately investing in machine learning and artificial intelligence.

Much of this will be AI/ML embedded in applications like chatbots, recommendation engines, and virtual assistants and some consider RPAs a form of AI/ML.

But it also means that more organizations are testing AI/ML on their proprietary data, developing models, and connecting models to their end user applications. The most advanced organizations using AI/ML like Twitter and Facebook are developing entire model development lifecycles to support ongoing model improvements are retraining.

Integrating Applications with Machine Learning Models

As a full stack developer or a solutions architect, it's quite likely that you'll be asked to integrate applications and data pipelines to ML models. That's a new development and integration paradigm that requires some understanding of the model, what it does, how it performs, how to connect and leverage it within application and how the model's developers plan to upgrade it over time.

And make no mistake, model developers want you to integrate their models into your applications! You are the connection from customer through a workflow or user experience that should be better with the predictions from their model.

Here are some things to think about as you consider why, where, and how to integrate machine learning models into your application.

  1. Robust, asynchronous connections to models - First, you need a core competency of integrating with APIs in a robust way. That often means asynchronous calls where results can be properly sequences. Model response may be slow and sometimes unresponsive, so it's critical that client applications are developed with robust error handling. Lastly, devops teams should have a defined practice to monitor the endpoints and connections so that when there are issues, there's sufficient data to pinpoint root cause and where possible, automate a response
  2. Business rules become models - Developers first think about the business rules when connecting user experiences to databases, APIs, and web services. When connecting to machine learning models, the model replaces aspects of these business rules either to automate or augment a decision process. For developers and solution architects, it means having a firm understanding of what data the ML model requires, what decisions it's optimized on, and how best to leverage the model's output in the application.
  3. More data isn't always better - There's a misconception that models require as much data as possible. That's not always the case as too much data increases the amount of computing infrastructure and can slow training and response performance. In fact, recent research points to reducing the amount of data used in ML models. Before making assumptions on the breadth and volume of data to send to models, it's best to discuss minimal requirements with the model developers. 
  4. Model development is iterative and experimental - Unlike APIs to services that become stable over a relatively short duration, ML models are more likely to require ongoing improvements. A modeler will likely retrain the  ML periodically, or change the model type, or or look to improve quality and performance by leveraging new data sources. ML requires an agile, iterative approach to improve results and developers using the models should expect to have to make changes to applications connecting to them periodically. 
  5. AI should augment people's work and decision making - There's a misconception that ML should fully automate workflows and decision making. In the majority of cases, ML is better to augment decision making through suggestions and visualizations. This requires some design thinking to determine how best to construct workflows, user experiences, and BI dashboards to help people make smarter and faster decisions with the information from ML models. 
The most important principle is to learn. See what these models are doing well, ask questions, and discover how best to interface and leverage them in a

No comments:

Post a Comment

Comments on this blog are moderated and we do not accept comments that have links to other websites.