首页>参考读物>计算机科学与技术>人工智能

AI加速器架构设计与实现
作者 : 甄建勇 王路业 著
出版日期 : 2023-06-27
ISBN : 978-7-111-72951-8
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 :
开本 : 32
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

这是一本讲解NPU硬件架构设计与技术实现的著作。作者将自己在CPU、GPU和NPU领域15年的软硬件工作经验融会贯通,将四代NPU架构设计经验融为一体,将端侧和云侧NPU架构合二为一,总结并提炼出本书内容。本书主要讨论神经网络硬件层面,尤其是芯片设计层面的内容,主要包含神经网络的分析、神经网络加速器的设计以及具体实现技术。通过阅读本书,读者可以深入了解主流的神经网络结构,掌握如何从零开始设计一个能用、好用的产品级加速器。
通过阅读本书,你将:
?透彻理解与深度学习相关的机器学习算法及其实现
?学会主流图像处理领域神经网络的结构
?掌握加速器运算子系统和存储子系统的设计
?摸清加速器设计中遇到的具体问题及其解决方法
?了解NPU架构需要考虑的控制通路和数据通路

图书特色

英伟达前高级架构师在CPU、GPU、NPU 3个领域超过15年经验总结
图解主流神经网络的结构、算法和原理,以及神经网络加速器的架构设计与实现过程,教你从零开始设计一个能用、好用的产品级加速器

上架指导

计算机\人工智能

封底文字

当前,ChatGPT和自动驾驶等技术正在为人类社会带来巨大的生产力变革,其中基于深度学习和增强学习的AI计算扮演着至关重要的角色。新的计算范式需要创新的芯片架构设计,这正面临新的挑战。本书从神经网络的分析出发,总结和提炼了AI加速器架构设计中常见的难点,以及解决这些难点的技术、方法和思想,是AI软硬件架构师、设计师非常宝贵的参考资料。
—— 余 凯 地平线创始人兼CEO
本书详细总结了卷积神经网络的基本结构和算法实现,并且对卷积神经网络加速器的各种架构、具体硬件实现和优化进行了细致的阐述。本书介绍了一些关键电路设计的宝贵经验,以及对神经网络和加速器的思考和见解,为有志于神经网络加速器设计的学生和工程师提供了指引,相信读完此书一定大有裨益。
—— 何 虎 清华大学集成电路学院副教授/上海清华国际创新中心集成电路研究平台副主任
本书系统地介绍了基于CNN的AI加速器设计方法,使读者能够对该领域的架构设计有清晰的认识。本书结合作者在该领域的架构设计经验,对设计中遇到的具体问题加以讨论并引导读者思考,是一本非常实用的技术书,推荐想要从事相关设计的学生和工程技术人员阅读。
—— 梁晓峣 上海交通大学教授、博导、学科带头人
本书作者精于AI架构设计,书中对神经网络、加速器的架构及设计实现图文并茂地进行了阐述,从理论和实践两个方面深入探讨人工智能加速器的设计、优化和实现,帮助读者更好地理解人工智能加速器的本质和应用。本书非常适合AI硬件架构设计人员阅读,也推荐给对神经网络架构有兴趣的科技工作者和AI爱好者。
—— 吕坚平 天数智芯CTO
人工智能技术的快速发展在大大提高社会生产效率的同时,对算力的要求也到了前所未有的高度。同时,登纳德定律和摩尔定律的终结,更增加了算力提升的难度。在这种情况下,领域专用架构几乎成了唯一的解决方案。本书正是在这样的指引下,不仅给出了神经网络加速器的架构参考,还总结提炼了架构设计方法与思想,实属可贵,一定会对人工智能从业者大有裨益。
—— 焦李成 欧洲科学院外籍院士/俄罗斯自然科学院外籍院士

作者简介

甄建勇 王路业 著:甄建勇,高级架构师。曾先后在中科院、北京君正、Nvidia从事CPU、NPU、GPU架构设计工作。感兴趣领域包括经济学、法律、心理学以及Linux内核和计算机图形处理。

图书目录

第一章 卷积神经网络3
1.1 网络的结构........ .... 5
1.1.1 CNN
1.1.2 GCN
1.2 网络的基本块........ 9
1.2.1 残差块 .. 10
1.2.2 初端块 .. 14
1.2.3 残初块 .. 16
1.2.4 跳块 ...... 17
1.2.5 组卷积块 ....... 18
1.2.6 融合块 .. 18
1.2.7 多并行块 ....... 19
1.3 网络的算子 . 20
1.3.1 CONV .... 22
1.3.2 POOL ..... 23
1.3.3 FC ... 25
1.3.4 Activation ....... 26
1.3.5 Normalization . 29
1.3.6 Softmax . 32
1.3.7 其它 ...... 32
1.4 网络参数量与运算量 . 34
1.5 加速器编程模型 .. 39
1.6 硬件加速器架构分类 . 40
第二章 运算子系统的设计 .. 42
2.1 数据流设计 . 42
2.2 算力与带宽 . 45
2.2.1 算力与输入带宽 .. 45
2.2.2 算力与输出带宽 .. 46
2.3 卷积乘法阵列 ...... 48
2.3.1 CONV算法详解 .... 48
2.3.2 NVDLA的乘法阵列 ...... 50
2.3.3 TPU的乘法阵列 .... 58
2.3.4 GPU的乘法阵列 ... 64
2.3.5 华为DaVinci的乘法阵列 ...... 72
2.4 卷积运算顺序的选择 . 77
2.5 池化模块的设计 .. 78
2.5.1 池化算法详解 ...... 78
2.5.2 池化模块设计 ...... 79
第三章 存储子系统的设计 .. 82
3.1 存储子系统概述 .. 82
3.1.1 存储子系统组成 .. 82
3.1.2 内部buffer的设计 83
3.2 数据格式的定义 .. 88
3.2.1 特征图的格式 ...... 88
3.2.2 权重的格式 ... 90
第四章 架构优化技术 ... 94
4.1运算精度的选择 ... 94
4.1.1 dynamic-fixed point ........ 96
4.1.2 bfloat16 .. 96
4.2 硬件资源的复用 .. 98
4.2.1 FC ... 98
4.2.2 de-convolution .... 100
4.2.3 dilate conv .... 107
4.2.4 group conv .... 107
4.2.5 3D convolution .... 110
4.3.6 TC convolution ..... 112
4.3.7 3D POOL ........ 113
4.3.8 up sample POOL .. 115
4.3.9 多个加速器的级联 ..... 116
4.3 winograd ..... 118
4.3.1Winograd 算法解析 ..... 118
4.3.2Winograd 硬件实现方案1 .. 121
4.3.3Winograd 硬件实现方案2 .. 122
4.4 FFT ....... 123
4.5 除法变乘法 ........ 124
4.6 LUT的使用 .. 124
4.7 减少软件配置时间 ... 128
4.8 软件优化技术 .... 128
4.9 一些激进的优化技术 ........ 129
第五章 安全与防护 ..... 130
5.1 安全技术 ... 130
5.2 安全性评估 ........ 131
5.3 防护 .... 132
第六章 加速器的实现 . 133
6.1 乘法器设计 ........ 133
6.1.1 整型乘法器设计 133
6.1.2 浮点运算器设计 137
6.2 数字电路常见基本块的设计 .... 146
6.3 时序优化 ... 162
6.4 低功耗设计 ........ 165
第七章 AI加速器盘点与展望 ...... 168
7.1 AI加速器盘点 ...... 168
7.2 CNN训练的加速
7.3未来 ..... 170
参考文献 ....... 171
图片索引 ....... 173
表格索引 ....... 177
公式索引 ....... 178
后记 ...... 180

教学资源推荐
作者: [印]M. 戈帕尔(M. Gopal) 著
作者: (希腊)Sergios Theodoridis,Konstantinos Koutroumbas
作者: (美)Fredric M.Ham,Ivica Kostanic
参考读物推荐
作者: 于俊 李雅洁 彭加琪 程知远 著
作者: [波兰]安东尼奥·古利(Antonio Gulli)[印度] 阿米塔·卡普尔( Amita Kapoor) 著
作者: 蒋杰 刘煜宏 陈鹏 郑礼雄等著
作者: (西班牙)恩里克·费尔南德斯(Enrique Fern·ndez)     路易斯·桑切斯·克雷斯波(Luis S·nchez Crespo)     阿尼尔·马哈塔尼(Anil Mahtani)     亚伦·马丁内斯(Aaron Martinez) 著