Creation of custom AI capabilities

As AI practitioners, there are two distinct development life cycles we can be involved in:

  • The AI application development life cycle
  • The AI capability development life cycle

Usually, especially in larger organizations where roles are more specialized, an AI practitioner only participates in one of these life cycles. Even if you do not participate in one of these life cycles, getting a good understanding of both is useful for all AI practitioners.

The AI application development life cycle involves iterating the solution, designing the user experience, defining the application architecture, and integrating the various business capabilities. This is similar to the traditional software development life cycle, but with the intent of embedding intelligence into the solutions.

The AI capability development life cycle deals with developing intelligent capabilities using data and machine learning techniques. The data products that are created during the AI capability's development life cycle can then be integrated into the applications as AI capabilities or AI services. In other words, the AI capability development life cycle produces custom AI capabilities that the AI application development life cycle consumes.

Different sets of technical and problem-solving skills are needed by these two life cycles. The following diagram provides an overview of the steps that are required to create AI capabilities:

AI capabilities are at the heart of AI applications. As we mentioned in Chapter 1, Introduction to Artificial Intelligence and Amazon Web Services, data is the new intellectual property. Any successful organization should have a well-defined data strategy to collect, store, process, and disseminate data. Raw and processed datasets should be safely placed and made available in data storage systems such as databases, data lakes, and data warehouses. From these data stores, data scientists can access data to support the analysis that's specific to a business problem or question they are working on. Some of the analysis results will generate useful business insights with the potential to perform predictive analysis. With these insights, data scientists can then choose from various machine learning algorithms to train machine learning models to perform automated predictions and decision-making, including classifications and regression analysis.

Once trained and tuned, machine learning models can then be deployed as AI services with interfaces for applications to access their intelligence. For example, Amazon SageMaker lets us train machine learning models and then deploy them as web services with RESTful endpoints. Finally, as a part of your data strategy, the feedback data from deployed AI services should be collected to improve future iterations of the AI services.

As we mentioned in the previous chapter, we highly recommend that you first leverage existing AI services from vendors such as AWS as much as possible for your intelligent-enabled applications. Each one of the AWS AI capabilities has gone through numerous iterations of the AI capability development life cycle with a massive amount of data that most organizations do not have access to. It only makes sense to build your own AI capabilities if you have a true data intellectual property or a need that's not addressed by the vendor solutions. It takes a tremendous amount of effort, skill, and time to train production-ready machine learning models.

The second part of this book will focus on the AI application development life cycle, while the third part of this book will focus on the AI capability development life cycle.