神经网络加速器:从密集到稀疏的技术解析
立即解锁
发布时间: 2025-08-31 00:07:36 阅读量: 6 订阅数: 20 AIGC 

# 神经网络加速器:从密集到稀疏的技术解析
## 1. NeuroMAX密集CNN加速器
### 1.1 高阶卷积处理
NeuroMAX加速器主要针对3×3和1×1卷积进行优化,但也可用于加速更大的内核尺寸。以5×5卷积为例,由于PE矩阵大小为6×3,宽度大于3且高度大于6的滤波器需要多个周期来计算输出值。具体来说,输入矩阵和权重矩阵的最后两列在时间戳t = 2时加载。生成的部分和(o1 - o18)会被提供给加法器网络1。输出值的计算方式如下:
- \(Va0, Va2 = ((o1 + o5 + o9) + (o10 + o14))_{old} + (o1 + o5 + o9)_{new}\)
- \(Va1 = ((o4 + o8 + o12) + (o13 + o17))_{old} + (o4 + o8 + o12)_{new}\)
这里的旧值对应于t = 1时输入和权重矩阵的前三列的卷积输出,新值对应于t = 2时的最后两列。4×4卷积也采用类似的配置和数据流图。此外,CONV核心还可以通过选择合适的步长和内核来执行池化操作。
### 1.2 实现与结果
#### 1.2.1 资源利用与功耗
NeuroMAX加速器已在软件和硬件(Xilinx Zynq - 7020 SoC的PL侧,工作频率为200 MHz)上实现。资源利用和功耗情况如下表所示:
| 属性 | 加速器 | 利用率 |
| --- | --- | --- |
| LUTs | 20,680 | 38% |
| FFs | 17,207 | 16% |
| 36 kB BRAMs | 108 | 77% |
| 功率(W) | 2.727 | NA |
#### 1.2.2 成本比较
多线程对数PE核心与面积优化的线性乘法器核心在输出位精度和延迟相同的情况下进行成本比较。选择线程数为3时,LUT和FF成本分别仅为线性PE的1.05倍和1.14倍。108个线性PE在成本上约相当于122个多线程对数PE。
#### 1.2.3 硬件利用率
NeuroMAX在不同CNN架构上的平均硬件利用率如下:
- VGG - 16:95%
- MobileNet v1:84%
- ResNet - 34:86%
部分层硬件利用率下降的原因包括:MobileNet和ResNet - 34中的步长为2的卷积仅使用了50%的可用PE核心;VGG16的第一层只有三个通道,每个PE矩阵处理一个通道,导致最后三个PE矩阵闲置,利用率为50%。
#### 1.2.4 性能比较
与VWA加速器相比,NeuroMAX使用122个PE核心(成本调整后),比VWA减少了28%,但在吞吐量上有显著提升:
- VGG16:吞吐量从166.32 GOPS提升到307.8 GOPS,增加了85%
- ResNet - 34:吞吐量从156.91 GOPS提升到281.8 GOPS,增加了79.4%
- MobileNet:吞吐量从151.54 GOPS提升到268.92 GOPS,增加了77.4%
与其他先前的设计相比,NeuroMAX在PE数量、峰值吞吐量和峰值吞吐量/PE比率方面表现更优。具体比较如下表所示:
| 属性 | NeuroMAX | Eyeriss | Liu et al. | Vogel et al. | VWA |
| --- | --- | --- | --- | --- | --- |
| 技术 | Zynq - 7020 SoC | 65 nm | Zynq - 7100 | Arria 10 SoC | Virtex - 7 |
| 精度(位) | 6位对数 | 16位 | 32fp | 16
0
0
复制全文
相关推荐










