这本书描述了深度学习系统: 算法,编译器和处理器组件,以有效地训练和部署深度学习模型的商业应用。
当最先进的深度学习(DL)工作负载消耗的计算量快速增长时,计算能力的指数增长正在放缓。模型大小、服务延迟和功率限制是在许多应用程序中部署DL模型的一个重大挑战。因此,协同设计算法、编译器和硬件势在必行,以提高性能、功率和效率的整体系统级和算法解决方案来加速这一领域的发展。
推进深度学习系统的工程师通常包括三类:(1)数据科学家,他们与领域专家(如医学、经济或气候科学家)合作,利用和开发深度学习算法;(2)硬件设计师开发专门的硬件来加速DL模型中的组件;(3)性能和编译工程师优化软件,使其在给定的硬件上更有效地运行。硬件工程师应该了解产品和学术模型的特性和组成部分,这些特性和组成部分很可能被业界采用,以指导影响未来硬件的设计决策。数据科学家在设计模型时应该注意部署平台的限制。性能工程师应该支持跨不同模型、库和硬件目标的优化。
本书的目的是提供扎实的理解 (1)工业DL算法的设计、训练和应用; (2) 将深度学习代码映射到硬件目标的编译技术; (3) 加速DL系统的关键硬件特性。本书旨在促进DL系统的发展的共同创新。它是为在一个或多个领域工作的工程师编写的,他们试图了解整个系统堆栈,以便更好地与在系统堆栈其他部分工作的工程师协作。
这本书详细介绍了工业中DL模型的进步和采用,解释了训练和部署过程,描述了今天和未来模型所需的基本硬件架构特征,并详细介绍了DL编译器的进步,以有效地执行各种硬件目标的算法。
本书的独特之处在于对整个DL系统堆栈的全面阐述,对商业应用的强调,以及设计模型和加速其性能的实用技术。作者有幸与许多拥有超大规模数据中心的高科技公司的硬件、软件、数据科学家和研究团队一起工作。这些公司采用了本书中提供的许多例子和方法。