分享自:

Eyeriss: 一种用于卷积神经网络高能效数据流的空间架构

期刊:ACM/IEEE 43rd Annual International Symposium on Computer Architecture (ISCA)DOI:10.1109/isca.2016.40

《Eyeriss: 用于卷积神经网络高能效数据流的空间架构》学术报告

主要作者与研究机构

该研究由麻省理工学院(MIT)电气工程与计算机科学系(EECS)的 Yu-Hsin Chen、Vivienne Sze 以及英伟达研究院(NVIDIA Research)的 Joel Emer 共同完成。Joel Emer 同时隶属于麻省理工学院。该论文发表于 2016 年 ACM/IEEE 第 43 届计算机架构国际研讨会(International Symposium on Computer Architecture, ISCA),DOI 为 10.1109/ISCA.2016.40。

学术背景与研究目的

深度卷积神经网络(Convolutional Neural Networks, CNNs)因其卓越的准确性在现代人工智能系统中得到广泛应用,但其代价是极高的计算复杂度。这种复杂度源于高维卷积运算中需要同时处理数百个滤波器(Filters)和通道(Channels),这引发了显著的数据移动。尽管单指令多数据/单指令多线程(SIMD/SIMT)等高度并行的计算范式能有效满足高吞吐量的计算需求,但能耗仍然很高,因为数据移动的成本可能远超计算本身的成本。因此,寻找一种支持并行处理并最小化数据移动成本的数据流(Dataflow),对于在不牺牲准确性的前提下实现高能效的 CNN 处理至关重要。

现有研究中,许多专用数据流已分别在 GPU、FPGA 和 ASIC 平台上被提出,但由于技术、硬件资源和系统设置的差异,很难直接比较它们的数据流能效。基于此背景,本研究的目标是:在一个统一的空间架构(Spatial Architecture, SA)和硬件资源约束下评估各种 CNN 数据流的能效,并提出一种新颖的数据流,以实现 CNN 加速的能效最大化。

研究方法与详细工作流程

本研究的工作流程主要包括三个部分:提出一种分类法对现有数据流进行分类、设计新型的 Row-Stationary 数据流,以及建立一个用于比较能效的分析框架。

首先,研究者对现有的 CNN 数据流进行了分类学梳理,归纳出三大类数据流,并总结了它们的数据处理特征: 1. 权重固定(Weight Stationary, WS)数据流:每个滤波器权重在 PE 的寄存器文件(Register File, RF)中保持固定,以最大化卷积复用(Convolutional Reuse)和滤波器复用(Filter Reuse)。PE 会运行所有使用该权重的乘加操作(Multiply-and-Accumulate, MAC)。其代价是部分和(Partial Sums, Psums)不能立即累加,需要临时存储在全局缓冲区(Global Buffer)。 2. 输出固定(Output Stationary, OS)数据流:每个输出特征图像素的累加过程在单个 PE 中保持固定,部分和存储在 RF 中以最小化累加成本。该数据流根据处理输出特征图(Output Feature Map, OFMAP)区域的不同,又分为三种子类:单通道多像素(SOC-MOP)、多通道多像素(MOC-MOP)和多通道单像素(MOC-SOP)。 3. 无本地复用(No Local Reuse, NLR)数据流:不在 RF 级别利用数据复用,而是使用 PE 间通信实现输入特征图像素共享和部分和累加。PE 阵列由无本地存储的纯算术逻辑单元(ALU)构成,所有数据存储在全局缓冲区。

其次,论文重点提出了新型的 Row-Stationary 数据流,这是 Eyeriss 架构的核心特征,并已在流片芯片上实现验证。RS 数据流的设计灵感来源于在空间架构中应用条带挖掘(Strip Mining)技术,其实现逻辑如下: 1. 计算原语(Primitive)定义:将高维卷积分解为可以在 PE 上并行执行的 1 维卷积原语。每个原语操作于一行的滤波器权重和一行的输入特征图像素,生成一行的部分和。 2. 两步映射法: * 逻辑映射(Logical Mapping):首先将每个 1D 原语映射到一个逻辑 PE 上。具有空间局部性的逻辑 PE 被分组为一个逻辑 PE 集合,以处理完整的 2D 卷积。在集合内部,滤波器行被水平复用,输入特征图像素行被对角复用,部分和行被垂直累加。 * 物理映射(Physical Mapping):将远大于物理 PE 阵列的逻辑 PE 阵列通过折叠(Folding)映射到物理硬件上。折叠以逻辑 PE 集合为粒度进行,这既保留了集合内的卷积复用和部分和累加,又利用不同集合间的滤波器复用、输入特征图复用和部分和累加机会。该映射被形式化为一个受 RF 大小和全局缓冲区大小约束的优化问题。

最后,论文建立了能效分析框架,用于在同一硬件约束下量化不同数据流的能效。该框架通过定义一个四层存储层级的数据移动能源成本来完成分析:片外动态随机存取存储器(DRAM)、全局缓冲区(Global Buffer)、阵列(PE间通信)和寄存器文件(RF)。各层级的归一化能耗成本分别为 MAC 操作的 200倍、6倍、2倍和 1倍。框架将数据流操作分为输入数据访问(滤波器和输入特征图)和部分和累加两类,通过计算在每个层级上的数据复用次数,带入公式来估算总能耗,并使用基于 65 纳米工艺的能量/面积数据进行仿真。

主要实验结果

研究以 AlexNet 作为基准模型,在相同硬件面积和处理并行度的约束下,对比了 RS 数据流与 WS、OS(OSa, OSb, OSc)以及 NLR 数据流在卷积层和全连接层的表现。

在卷积层数据流的比较中,RS 数据流在能效上表现显著。在 DRAM 访问量方面,RS 显著低于 WS 和 OSc,这表明 RS 在有限的片上存储条件下实现了更高的数据复用。在能耗方面,RS 比其他数据流节能 1.4 至 2.5 倍。能耗细分结果显示,WS 和 OS 数据流分别仅在权重访问和部分和访问上能效最优,但在其他数据类型上损失了复用效率;NLR 则完全不利用 RF 层级的权重复用,导致大量高成本的数据移动。只有 RS 数据流通过在所有数据类型上最大化利用低成本的 RF 层级访问,同时优化了所有数据移动的能量消耗。在能量延迟积(Energy-Delay Product, EDP)方面,RS 也最低,证明了其高能效并非以牺牲并行度为代价。

在全连接层数据流的比较中,RS 数据流的优势同样明显。在批大小(Batch Size)为 16 时,RS 至少比其他数据流节能 1.3 倍;当批大小增大到 256 时,节能优势可提升至 2.8 倍。OSa 数据流甚至在全连接层表现极差,因为其映射需要来自同一空间平面的输入特征图像素,而全连接层的空间尺寸通常非常小。

此外,对 RS 数据流的硬件资源分配实验显示,在固定总面积下,通过调整 PE 数量与存储比例,发现即使 PE 数量增加带来超过 10 倍的吞吐量提升,能耗成本仅增加 13%。这表明更多的 PE 创造了更多的数据复用机会,从而抵消了片上存储减少带来的负面影响。

研究结论与价值

本研究明确指出,单纯优化对 DRAM 的带宽并不能直接决定能效;那些需要对片上全局缓冲区进行高带宽访问的数据流也会产生巨大的能量成本。相比之下,本文提出的 Row-Stationary 数据流通过同时最大化输入数据重用和最小化部分和累加成本,并充分考虑不同存储层级的能量代价,实现了最优的能效。该数据流不仅在 AlexNet 的卷积层和全连接层上均验证了其相对于现有数据流的显著能效优势,而且其核心思想已在 Eyeriss 芯片上成功流片验证。该研究为设计下一代高能效 CNN 加速器提供了重要的理论指导和实践基准。

研究亮点

本研究的亮点体现在三个方面: 第一,它创新性地提出了 RS 数据流和 Eyeriss 架构。不同于以往只优化单一数据类型的方案,RS 数据流通过将高维卷积分解为 1D 原语,并使用两步映射法,自适应地优化了所有数据类型在本地 RF、PE 阵列和全局缓冲区中的复用与累加。 第二,开发了一套通用的能效分析框架。该框架量化了从 DRAM 到 RF 不同存储层级的访问成本,能够在统一硬件约束下公平比较不同数据流的能效,并能为每种数据流搜索出能效最优的映射方案。 第三,实现了理论与实践的闭环验证。研究不仅通过分析框架预测了能效优势,更重要的是,其核心的 RS 数据流已在 65 纳米工艺的 Eyeriss 芯片上实现了物理验证,芯片的实测结果与分析模型的趋势一致,有力支撑了研究结论的正确性。

上述解读依据用户上传的学术文献,如有不准确或可能侵权之处请联系本站站长:admin@fmread.com