- 设计深度学习系统
- (美)王迟 (美)司徒杰鹏
- 695字
- 2025-03-13 16:30:24
1.2 深度学习系统设计概述
在1.1节的背景下,让我们深入研究本书的重点:深度学习系统本身。设计一个系统——任何系统——都是在一组独特的约束条件下实现目标的艺术。深度学习系统也不例外。例如,假设你有几个需要同时提供服务的深度学习模型,但是你的预算不允许你运行一台具有足够内存的计算机,以同时容纳所有模型。你可能需要设计一个缓存机制来在内存和磁盘之间交换模型。然而,交换会增加推理延迟。那么这个方案是否可行就取决于延迟要求。除此之外,另一个可能的方案是对于每个模型运行多台较小的计算机(如果你的模型大小和预算允许的话)。
或者,另举一个例子,想象一下你的产品必须符合某些认证标准。它可能会强制执行数据访问策略,从而给那些想要访问公司产品收集的数据的人带来重大限制。你可能需要设计一个框架,以符合规范的方式允许数据访问,使得研究人员、数据科学家和数据工程师可以在你的深度学习系统中解决问题并开发需要此类数据访问的新模型。
正如你所看到的,有许多可以调整的参数。确切地达到满足尽可能多需求的设计必然是一个迭代过程。但为了缩短迭代过程,最好从一个设计开始,该设计与最终状态尽可能接近。
在本节中,我们将首先提出一个仅包含基本组件的深度学习系统设计,然后解释每个组件的责任和用户工作流。根据我们设计和定制深度学习系统的经验,一些关键组件在不同的设计中是共通的。它们可以作为你设计的合理起点,我们称之为参考系统架构。
你可以将这个参考系统架构用于自己的设计项目,查看你的目标和约束列表,并开始确定每个组件中的参数,以满足你的需求。由于这不是一种权威的架构,你还应该评估是否所有组件都是真正必要的,根据需要添加或删除组件。