1 An introduction to deep learning systems


This chapter covers

  • Defining a deep learning system
  • The product development cycle and how a deep learning system supports it
  • An overview of a basic deep learning system and its components
  • Differences between building a deep learning system and developing models

This chapter will prepare you with a big-picture mental model of a deep learning system. We will review some definitions and provide a reference system architecture design and a complete sample implementation of the architecture. We hope this mental model will prime you to see how the rest of the chapters, which address each system component in detail, fit into the whole picture.

To begin this chapter, we will discuss an even bigger picture beyond the deep learning system: something we call the deep learning development cycle. This cycle outlines the various roles and stages involved in bringing products based on deep learning to market. The model and the platform do not exist in a vacuum; they affect and are affected by product management, market research, production, and other stages. We believe that engineers design better systems when they understand this cycle and know what each team does and what it needs to do its job.

1.1 The deep learning development cycle

1.1.1 Phases in the deep learning product development cycle

1.1.2 Roles in the development cycle

1.1.3 Deep learning development cycle walk-through

1.1.4 Scaling project development

1.2 Deep learning system design overview

1.2.1 Reference system architecture

1.2.2 Key components

1.2.3 Key user scenarios

1.2.4 Derive your own design

1.2.5 Building components on top of Kubernetes

1.3 Building a deep learning system vs. developing a model