1.2.1 参考系统架构

图1.3是参考深度学习系统的高级概览。深度学习系统分为两个主要部分。首先是系统的应用程序编程接口(API;方框A),位于图中间。其次是深度学习系统的组件集合,用矩形框表示,位于图的下半部分,并用虚线框出。每个框表示一个系统组件:

● API(方框A)

● 数据集管理器(方框B)

● 模型训练器(方框C)

● 模型服务(方框D)

● 元数据和工件存储(方框E)

● 工作流编排(方框F)

● 交互式数据科学环境(方框G)

在本书中,我们假设这些系统组件是微服务

定义 对于微服务,目前还没有统一的定义。在这里,我们将使用这个术语来表示通过HTTPgRPC协议在网络上进行通信的进程。

这一假设意味着我们可以期望这些组件在网络或互联网上能合理地支持多个拥有不同角色的用户,并且能安全地访问。(然而,本书不会涵盖有关如何设计或构建微服务的所有工程方面的内容。我们将重点讨论与深度学习系统相关的具体内容。)

注意 你可能会想知道自己是否需要设计、构建和托管所有的深度学习系统组件。确实,对于这些组件,有开源(Kubeflow)和托管(Amazon SageMaker)的替代方案。我们希望你在学习了每个组件的基础知识、它们如何融入整体架构以及不同角色如何使用它们之后,可以为你的用例做出最佳决策。

图1.3 一个典型的深度学习系统概览,其中包含支持深度学习开发周期的基本组件。这个参考架构可以作为一个初始配置,并可进一步进行定制。在后面的章节中,我们会详细讨论每个组件,并解释如何将它们融入这个整体架构