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

Best Practices

Now that we have performed exercises to get you started with analytics, let's review some best practices of using Spark. While Spark provides significant performance improvements compared with Hadoop and MapReduce, we need to be aware of some of the best practices to fully derive the value that Spark affords us:

  • Use collect sparingly; collect will try to fetch all the elements in the memory. To validate whether your dataset can be fit into the memory before you used the collect, it is better to use take or take(n) so that you control the outcome.
  • GroupByKey is not very efficient, as it involves significant shuffling around; use ReduceByKey instead, which aggregates and reduces the amount of shuffling around.
  • Use filter as a way of pre-processing to clean up the dataset by dropping bad quality data.
  • Map can be used as a way of pre-processing and imputing values for bad or missing data.