1  Introduction

An AI-enabled system is a software system that uses AI to provide value for users.

In traditional software systems, we have a set of rules and logic defined by programmers to process inputs and produce outputs. The knowledge is in the program, and we define a failure when the expected output does not match the actual output. In contrast, AI-enabled systems learn from data (given input and output, we have a program). Knowledge is in the data. We define a failure when the system produces outputs that are not aligned with user expectations, which may not always be captured by traditional correctness metrics.

ML process model

CRISP-DM

We define two kind of development processes:

The big challenge is how to take an idea and a model developed by a data scientist and deploy it as part of a scalable and maintainable system.

Machine-learning models and pipelines must evolve continuously to remain effective. Common reasons to update them include:

We can decompose the big challenge into four sub-challenges: