Appendix C. AI in Production

As briefly mentioned in Chapter 13, there is a very big difference between exploratory machine learning and AI development, as compared to creating production-ready AI solutions that require actually deploying, monitoring, maintaining, and optimizing.

This appendix covers many key considerations and differences associated with AI in production and development, including the concept of a computing environments, local versus remote development, the concept of production scalability, different types of AI learning for ongoing improvement, and AI solution maintenance.

Production versus Development Environments

The term “environment” refers to a physical or virtual computing machine that is characterized by its operating system, configuration, resources (e.g., RAM, CPU), data, and a specific set of installed software.

Development environments are either local or remote environments that are meant for a data scientist or machine learning engineer to write, test, and optimize deliverables (e.g., a predictive model, recommender system, scoring engine) before deploying into a real-world live solution.

After a deliverable is created and successfully meets all functional and nonfunctional requirements, and passes all tests where applicable, it is deployed (i.e., released) to a production environment. The production environment is where the software runs constantly and is generally available for use.

Hardware-wise, development environments run on machines such ...

Get AI for People and Business now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.