8月31日,提醒快递到达;
9月1日,取到书籍。刚刚开始还以为是一本A4大小的书,在快递柜那里好一通找。最后发现是A5的小书,不是太厚的一本。
9月2日-7日,每天看一点,进度缓慢。
看介绍:通过阅读本书,读者可以深入了解主流的神经网络结构,掌握如何从零开始设计一个能用、好用的产品级加速器。
看了第一章就有点傻了,卷积神经网络,这张写得有点散乱,没有相当基础,看起来会非常吃力,甚至根本看不懂!
没办法,只好上网搜索卷积神经网络的简介,终于理解了一些:卷积神经网络(Convolutional Neural Networks, CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(Feedforward Neural Networks),是深度学习(deep learning)的代表算法之一。基本定义就是一种数据处理算法。有了这个概念,再看卷积NN就好理解多了,卷积层、池化层等,与原来曾经接触的BPNN有类似相通之处。
参考链接:https://zhuanlan.zhihu.com/p/531773548
https://baike.baidu.com/item/%E5%8D%B7%E7%A7%AF%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/17541100?fr=ge_ala
有了这些概念,再看这本书,卷积NN部分,作者是从芯片设计角度来描述的,侧重的是硬件实现的模块设计、划分、参数定义,与题目有点不符,读者读起来也有点吃力。
从硬件的角度写算法,有点不伦不类,既不是数学,也不是软件,也不是硬件,所以第一章读起来比较别扭。
第二章运算子系统设计。在这章的开头,就介绍了运算子系统和存储子系统是设计数字电路模块必须考虑的细节。对大部分电路模块,控制子系统也很重要。刚刚开始这句话我还不完全理解,说这些和运算子系统有什么关系啊?但好像是给后面埋了伏笔。看到第三张存储子系统,就明白了。但书里面没有介绍控制子系统。第四章就是架构设计了。
运算子系统介绍了数据处理的流程,及各种类乘法阵列设计(NVDLA、TPU、GPU、Davinci四种类型)的详细设计。
第三章的存储子系统设计,简单描述了缓存的设计出发点,要根据目标NN情况来具体设计。
第四章的架构优化技术,这个章节应该是作者的多年经验之谈,更有个人的技术烙印。优化包括了:运算精度的选择、硬件资源的复用、Winograd算法和FFT算法(简化CNN计算量的优化过程,也是一种算法,而且介绍了硬件实现过程)、除法变乘法、LUT使用、宏块并行技术、减少软件配置时间、软件优化技术、一些激进的优化技术。这些各种优化,目的都是降低硬件的算力需求,加速、提升性能。
第五章的安全防护,就简单说了安全技术和评估两方面,常规的ECC、CRC等几种方法,这一章只有5页,属于简单介绍性质。
第六章的NN加速器的实现,从硬件设计的角度,分析讨论了基本快、时序优化、低功耗设计等实现过程中的主要问题。也是作者多年工作的经验总结。
第七章的盘点与展望:补充说明了AI加速器大盘点,Training加速器设计、以及对未来的展望。NN加速器最终的形态:IP(最大可能);单独芯片(有可能)。
小结:这本书,有点偏重于从硬件的角度来写算法实现的过程,有一定FPGA基础+算法基础的tx读起来会更容易。由于是硬件前端的角度来写,导致很多描述有点不伦不类,特别是算法的描述上,没有说清楚算法的数学过程,也没有说明白算法的软件过程,因为站位角度问题,所以要读懂,站位要变换。
这本书印刷精美,但其内容比较专的,当然价格不菲,99大洋;做FPGA的和CPU的比较适合阅读。
作者: 追忆流年寻梦少年, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-855000.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
追忆流年寻梦少年 2023-10-25 20:27
这本书很薄很薄的,有效页码218页,去除程序、图表,粗略估计不超过180页。
看了差不多一周,辅以查度娘,看懂了一半吧。再专业的就不太理解了。
流云游者 2023-10-24 22:15