猜你喜欢
当计算机体系结构遇到深度学习:面向计算机体系结构设计师的深度学习概论

当计算机体系结构遇到深度学习:面向计算机体系结构设计师的深度学习概论

书籍作者:布兰登·里根 ISBN:9787111622482
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3226
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

深度学习技术在真实应用(例如图像分类、语音识别、自动翻译等领域)取得巨大成功,得益于海量数据集和高性能硬件的出现,特别是利用高性能硬件的体系结构特点,对深度神经网络模型进行软硬件联合设计和优化,将是未来深度学习领域出现重大突破的关键。由于深度学习体系结构研究仍然处于迅猛发展的阶段,缺少针对该领域提纲挈领性的参考书籍,本书的出现正好弥补了这部分空白。这本从体系结构视角研究深度学习的导论性图书将帮助读者入门深度学习体系结构。

本书分为四大部分。第一部分首先介绍神经网络的基本知识和发展历程,从线性回归到感知器,以及当前*先进的深度神经网络。第二部分主要针对当前流行的深度学习软件的设计异同进行深入介绍,指导读者针对他们的应用选择*正确的软件。第三部分对利用定制化硬件加速神经网络的体系结构进行了探索,特别是针对Minerva加速器设计和优化框架,具体介绍了Minerva方法论以及如何设计实验在神经网络准确度、功耗、性能和硬件面积间进行取舍。本书最后给出神经网络论文中有关硬件研究的全面综述,并且提出一种分类方法帮助读者理解和对比不同的研究项目。


作者简介

作者简介:

布兰登·里根(Brandon Reagen)
哈佛大学博士生。他于2012年获得马萨诸塞大学阿默斯特分校计算机系统工程和应用数学专业的学士学位,并获得了哈佛大学计算机科学专业的硕士学位。他的研究涉及计算机体系结构、VLSI和机器学习领域。


罗伯特·阿道夫(Robert Adolf)
哈佛大学计算机体系结构的博士生。他于2005年从美国西北大学获得计算机科学专业学士学位,此后他就职于国防部,从事超级计算机基准测试和性能分析工作4年。研究兴趣是高性能软件的建模、分析和优化技术,目前主要关注深度学习算法。


保罗·沃特莫 (Paul Whatmough)
领导马萨诸塞州波士顿ARM研究院的机器学习计算机体系结构研究。他还是哈佛大学工程与应用科学学院副教授。他在英国伦敦大学学院获得博士学位。研究兴趣包括算法、计算机体系结构和电路。


古杨·魏(Gu-Yeon Wei)
哈佛大学工程与应用科学学院(SEAS)电子工程与计算机科学系Gordon McKay教授。他在斯坦福大学获得博士学位。研究兴趣涉及计算机系统的多个层次:混合信号集成电路、计算机体系结构和高效硬件设计工具等。


大卫·布鲁克斯(David Brooks)
哈佛大学工程与应用科学学院计算机科学系Haley Family教授。在加入哈佛大学之前,他是IBM T.J.Watson研究中心的研究人员。研究兴趣包括针对高性能和嵌入式系统的弹性和高能效的计算机硬件和软件设计。

译者介绍:

杨海龙
博士,北京航空航天大学计算机学院助理教授,中国计算机学会体系结构专委会委员。在ISCA、ASPLOS、TOCS、TPDS、ICS等国际*级/知名会议和期刊上发表学术论文20余篇。主要研究方向为深度学习系统优化、高性能计算性能分析工具、大数据系统性能分析与优化、云计算资源管理和任务调度、高吞吐计算、GPU并行编程与优化。在北京航空航天大学讲授留学生课程“Parallel Programming”和“Computer Architecture”。

王锐
博士,北京航空航天大学计算机学院特别研究员。中国计算机学会体系结构专委会委员。在IEEE TCAD、ACM TAAS、ACM/IEEE CGO、ACM ICS、USENIX ICAC等著名期刊和会议发表论文30余篇,其中ACM/IEEE CGO 2014的论文被提名*佳论文奖。主要研究工作集中在智能计算加速处理器体系结构与系统软件以及众核处理器编程方法。在北京航空航天大学讲授留学生课程“Computer Architecture”。


编辑推荐

计算机体系结构新黄金时代赋能深度学习革命的入门书。
基于美国哈佛大学在深度学习和体系结构领域的长期研究和实践经验。
全面介绍深度学习的发展、评测和优化的*新研究成果,帮助读者掌握深度学习体系结构的精髓。


机器学习,特别是深度学习,在计算机科学的许多领域都具有巨大的颠覆性。深度学习技术在解决众所周知很困难的分类和回归问题方面取得了成功,这使得该技术迅速应用于解决现实问题。深度学习的兴起主要归因于一个良性循环,即通过采用大规模数据集和高性能计算机硬件,从而在训练更深层模型方面取得根本性的进步。

本书是计算机体系结构设计师在深度学习这个快速发展的新领域的入门读物,作者均来自美国高等教育顶*学府哈佛大学。书中首先介绍机器学习自20世纪60年代起步以来的发展历程,并跟踪了导致过去十年中出现强大的深度学习技术的关键性发展历程。然后,回顾了代表性的工作负载,包括各种领域中常用的数据集和开创性的神经网络。除了讨论工作负载本身以外,本书还详细介绍了颇受欢迎的深度学习工具,并展示了有抱负的从业者如何使用工具与工作负载来表征和优化DNN。

本书的其余部分致力于介绍如何设计和优化专门用于机器学习的硬件和体系结构。由于高性能硬件在帮助机器学习成功地成为实用解决方案方面发挥了重要作用,因此这部分内容对近年来提出的各种优化方法进行了重新梳理,以便进一步改进未来的设计。在末尾,本书回顾了该领域新近发表的研究文献并对其进行分类,帮助读者理解各种贡献的背景和意义。


前言

本书旨在为具有计算体系结构、电路或者系统背景的研究者和设计师提供一份对神经网络的概述。引言部分(第1章)定义了关键词汇表,介绍了该项技术的历史和发展过程,并阐述了该领域需要额外硬件支持的原因。
接着,本书回顾了神经网络的基本知识,从线性回归到感知器,以及当前最先进的深度神经网络(第2章)。本书涵盖的范围和使用的语言使得任何读者都可以理解,并且本书的目的是让整个社区在对深度学习的认识上达成一致。虽然人们对该领域的研究兴趣激增,但仍有证据显示许多术语被混淆在一起,并且对该领域的理解也存在着差距。我们希望本书呈现的内容能够澄清对该领域的错误理解,并为非专家的读者提供一个统一的基础。
在回顾之后,将深入介绍工具、工作负载和表征。对于实践者,这可能是最有用的一章。该章首先综述当代神经网络和机器学习的软件包(例如,TensorFlow、Torch、Keras和Theano),并且解释这些软件包的设计选择和不同之处,从而指导读者针对自己的工作选择正确的工具。在第3章的后半部分,展示了一组常用的、开创性的工作负载,并且将其整合到了名为Fathom的评测集中[2]。然后,进一步将这些工作负载分为两类——数据集和模型,并且解释了为什么这些工作负载和数据集具有开创性以及该如何使用它们。这部分内容同样能够帮助神经网络论文的评审人员更好地评价论文的贡献。通过更好地理解每个工作负载,我们可以更加深入地解释其背后的想法和贡献。伴随着评测集,是对工作负载在CPU和GPU上的表征分析。
第4章构建在第3章的基础上,可能是那些探索利用定制化硬件加速神经网络的体系结构设计人员更感兴趣的部分。在本章中,回顾了Minerva加速器设计和优化框架[114],并且详细介绍了如何将高级别的神经网络软件库与硬件CAD和模拟流糅合在一起来设计算法和硬件。本书特别关注Minerva方法论以及如何设计实验在神经网络准确度、功耗、性能和硬件面积间进行取舍。读完本章后,研究生应当可以掌握如何评价自行设计的加速器或者定制硬件优化的优劣。
在第5章中,给出了神经网络论文中相关硬件的全面调查和综述,并且提出了一种分类方法,帮助读者理解和对比不同的项目。本章主要关注过去10年的研究工作,并将论文按其所针对的计算栈层次(算法、软件、体系结构或者电路)以及优化类型(稀疏性、量化、计算近似和容错)进行分组。本综述主要关注机器学习、体系结构和电路领域的顶级会议,并尝试在本书出版时涵盖与本领域的体系结构设计师最相关的工作。但实际情况是有太多已发表的论文无法同时包含进本书。本书希望:这里的综述可以作为一个起点;分类提供一个顺序,供感兴趣的读者了解去哪里可以学习到一个具体主题的更多内容;对神经网络硬件支持的非正式讨论可以提供一种比较相关工作的方法。
最终,在本书的总结部分,通过列出仍待完成的工作,澄清了关于深度学习研究的硬件已经达到饱和点的谬论。尽管在这个主题上已经有大量的论文,但即便是在监督学习这个方面,也仍然距终点有很长的距离。本章阐明需要关注的领域,并简要概括了机器学习的其他领域。更进一步,虽然对于机器学习社区,硬件大部分情况下只是一个服务产业,但是体系结构设计师确实应该开始思考如何利用当代机器学习来改善硬件设计。这个过程并不容易,因为它需要真正地理解这些方法,而不是实现已有的设计。但是如果说机器学习在过去的10年中教会了我们什么,那就是这些模型效果很好。计算机体系结构属于计算机科学中最少理论化的领域(几乎是完全基于经验和观察)。机器学习可能会在重新考虑如何设计硬件方面提供很多帮助,包括贝叶斯优化,并展示这些技术在硬件设计上带来的好处。

目录

译者序
前言
作者简介
第1章 引言/ 1
1.1 神经网络的兴起和衰落/ 2
1.2 第三波人工智能热潮/ 4
1.3 深度学习中硬件的角色/ 7
第2章 深度学习基础/ 11
2.1 神经网络/ 12
2.1.1 生物神经网络/ 12
2.1.2 人工神经网络/ 14
2.1.3 深度神经网络/ 18
2.2 神经网络学习/ 19
2.2.1 神经网络学习的类型/ 21
2.2.2 深度神经网络如何学习/ 22
第3章 方法和模型/ 31
3.1 高级神经网络方法概述/ 32
3.1.1 模型体系结构/ 32
3.1.2 特殊化的层/ 36
3.2 现代深度学习的参考工作负载/ 37
3.2.1 深度学习工作负载集的标准/ 37
3.2.2 Fathom工作负载/ 40
3.3 深度学习背后的计算原理/ 44
3.3.1 深度学习框架的测量与分析/ 44
3.3.2 操作类型评测/ 46
3.3.3 性能相似度/ 48
3.3.4 训练和推理/ 49
3.3.5 并行和操作平衡/ 51
第4章 神经网络加速器优化:案例研究/ 55
4.1 神经网络和简单墙/ 57
4.2 Minerva:一种跨越三层的方法/ 60
4.3 建立基准:安全的优化/ 63
4.3.1 训练空间探索/ 63
4.3.2 加速器设计空间/ 66
4.4 低功耗神经网络加速器:不安全的优化/ 70
4.4.1 数据类型量化/ 70
4.4.2 选择性操作修剪/ 72
4.4.3 SRAM故障缓解/ 74
4.5 讨论/ 79
4.6 展望/ 81第5章 文献调查和综述/ 835.1 介绍/ 84
5.2 分类法/ 84
5.3 算法/ 86
5.3.1 数据类型/ 87
5.3.2 模型稀疏性/ 89
5.4 体系结构/ 92
5.4.1 模型稀疏性/ 95
5.4.2 模型支持/ 98
5.4.3 数据移动/ 105
5.5 电路/ 108
5.5.1 数据移动/ 109
5.5.2 容错/ 112
第6章 结论/ 115
参考文献/ 117

产品特色