图:13 MNIST 数据集(10 类、6 万张训练图像、1 万张测试图像)[59] vs. ImageNet 数据集 (1000 多类、130 万张训练图像、10 万张测试图像)[10] D. 用于其它任务的数据集 V. 用于 DNN 处理的硬件 在这部分里,我们将讨论在不同的硬件平台中进行高效处理而不降低准确性的策略(所有在本节中的方法都要输出完全相同的结果)。 对于 CPU 与 GPU 这样的时间敏感架构,我们将讨论在它们的运行中如何减少乘法次数以增加吞吐量。 对于加速器这样的空间敏感架构,我们讨论数据流如何能低成本地从存储器中被调用,以减少能耗。 图 14:高度并行的计算范式 A. 在 CPU 和 GPU 平台上加速核(kernel)计算 图 15:映射到全连接层(a)的矩阵乘法,当从单个输入特征图计算单个输出特征图时,使用矩阵向量乘法。(b)当从 N 个输入特征图计算 N 个输出特征图时,使用矩阵乘法。 图 16:映射到卷积层的矩阵乘法(a)将卷积映射到 Toeplitz 矩阵。(b)将 Toeplitz 矩阵扩展到多个通道和滤波器。 图 17:用于加速 DNN 的 FFT。 B. 为加速器设计的 Energy-Efficient Dataflow 图 18:每个 MAC 的存取 图 19:存储层级和数据移动能量 图 20:DNN 中的数据复用机会 图 22:DNN 的数据流。(a) 权重固定(WS),(b) 输出固定(OS),(c) 没有局部复用(NLR) VI. 近场数据处理 在上一章节中,我们强调了数据流通主导了能源的消耗。虽然空间架构尽可能将储存器安放在离计算很近的位置(如放入 PE),但同时我们也在努力将高密度存储器安置在近计算的位置,或者直接将计算集成到存储器本身中。在嵌入式系统中,我们还努力将计算放入到传感器(最先收集数据的元件)中。在本论文的这个章节中,我们将讨论如何通过使用混合信号回路(mixed-signal circuit)设计和高级存储技术将处理尽可能放置在离数据近的地方以减少数据流通。 A. DRAM B. SRAM C. 非易失性电阻式存储(Non-volatile Resistive Memories) D. 传感器 图 33。通过 (a) SRAM bit-cell 和 (b) 非易失性电阻式存储进行模拟计算 VII. DNN 模型和硬件的联合设计(CO-DESIGN) 对 DNN 模型和 DNN 硬件进行联合设计可以为处理效率带来进一步的提升。在传统上,DNN 模型的设计目标是最大化准确度,而不会考虑太多实现的复杂性。但是,这可能会使得设计很难实现。DNN 模型和硬件和联合设计可以有效地联合最大化准确度和吞吐量,同时最小化能耗和成本,这能增加采用的可能性。这种方法已经在其它重要的且广泛应用的多媒体应用(比如视频压缩)中得到了证明。之前的时候,视频标准大多关注算法开发。从 MPEG-2 到 H.264/AVC,在编码效率上实现了 2 倍的提升,而解码器复杂性却增加了 4 倍 [110]。最近,最新的视频编码标准 H.265/HEVC [111] 使用了算法和硬件的联合设计;结果其相对于 H.264/AVC 在编码效率上实现了又 2 倍的提升 [112],而解码器复杂性也只增加了 2 倍。在这一节,我们将重点介绍几个 DNN 模型和硬件联合设计方面的研究。注意和第 V 节不同,这一节所提出的技术可能会改变准确度;尽管其目标是在最小化准确度改变的同时显著减少能耗并提高吞吐量。 这些方法可以大致分为以下几类: 降低运算和操作数的精度。这包括将浮点数改为定点数、减少位宽、移到对数域和权重共享。 降低运算的数量和模型的大小。其中的技术包括:压缩、剪枝和设计紧凑的网络架构。 表 3:为 AlexNet 降低数值精度的方法。这里的准确度是在 ImageNet 上测得的 top-5 error。* 表示不适用于第一层和/或最后的层 VIII. 用于 DNN 评估和比较的基准指标 A. DNN 模型的指标 为了评估一个给定模型的属性,我们应该考虑以下元素: 在 ImageNet 这样的数据集上的 top-5 error 方面的模型准确度。另外,使用了哪种类型的数据增强(比如,多次裁剪、集成模型)。 (责任编辑:本港台直播) |