Book Image

The Artificial Intelligence Infrastructure Workshop

By : Chinmay Arankalle, Gareth Dwyer, Bas Geerdink, Kunal Gera, Kevin Liao, Anand N.S.
Book Image

The Artificial Intelligence Infrastructure Workshop

By: Chinmay Arankalle, Gareth Dwyer, Bas Geerdink, Kunal Gera, Kevin Liao, Anand N.S.

Overview of this book

Social networking sites see an average of 350 million uploads daily - a quantity impossible for humans to scan and analyze. Only AI can do this job at the required speed, and to leverage an AI application at its full potential, you need an efficient and scalable data storage pipeline. The Artificial Intelligence Infrastructure Workshop will teach you how to build and manage one. The Artificial Intelligence Infrastructure Workshop begins taking you through some real-world applications of AI. You’ll explore the layers of a data lake and get to grips with security, scalability, and maintainability. With the help of hands-on exercises, you’ll learn how to define the requirements for AI applications in your organization. This AI book will show you how to select a database for your system and run common queries on databases such as MySQL, MongoDB, and Cassandra. You’ll also design your own AI trading system to get a feel of the pipeline-based architecture. As you learn to implement a deep Q-learning algorithm to play the CartPole game, you’ll gain hands-on experience with PyTorch. Finally, you’ll explore ways to run machine learning models in production as part of an AI application. By the end of the book, you’ll have learned how to build and deploy your own AI software at scale, using various tools, API frameworks, and serialization methods.
Table of Contents (14 chapters)
Preface
4
4. The Ethics of AI Data Storage

The Importance of System Design

An initial system design is important to ensure that it does what is needed. It is hard to estimate how many software projects fail or are late, but it's a large percentage. The Project Management Institute (PMI) estimates that around 14% of software projects fail completely and almost half are delivered late. Even in small projects, it is common to find out too late that all the stakeholders had vastly different expectations, none of which are met in the final product.

By formally defining what a system will do, what inputs it receives, and what outputs it produces, we can avoid costly mistakes earlier in the process, both in terms of the time needed to fix any mistakes and in terms of lost reputation by making them initially. By clearly defining the different components of a system and how they rely on each other, we can also often identify problems before they happen, and optimize which components have to be built in which order.

A design...