Eyeriss:卷积神经网络节能数据流的空间架构

news/发布时间2024/5/12 15:08:06

Eyeriss:卷积神经网络节能数据流的空间架构

https://people.csail.mit.edu/emer/media/papers/2016.06.isca.eyeriss_architecture.pdf

深度卷积神经网络(CNNs)因其优越的精度,而被广泛应用于现代人工智能系统,但其代价是计算复杂度高。复杂性来自于需要同时处理高维卷积中的数百个滤波器和通道,这涉及大量的数据移动。尽管高度并行的计算范式,如SIMD/SIMT,有效地解决了实现高吞吐量的计算需求,但由于数据移动可能比计算更昂贵,因此能耗仍然很高。因此,找到一种支持以最小数据移动成本进行并行处理的数据流,对于在不影响准确性的情况下实现节能CNN处理至关重要。

在本文中,我们提出了一种新的数据流,称为行平稳(RS),它可以最大限度地减少空间架构上的数据移动能耗。这是通过在高维卷积中利用滤波器权重和特征图像素(即激活)的局部数据重用来实现的,并最小化部分和累积的数据移动。

与现有设计中使用的数据流仅减少某些类型的数据移动不同,所提出的RS数据流可以适应不同的CNN形状配置,并通过最大限度地利用处理引擎(PE)本地存储、直接的PE间通信和空间并行来减少所有类型的数据移动。为了评估不同数据流的能量效率,提出了一个分析框架,该框架比较了在相同硬件区域和处理并行性约束下的能量成本。使用AlexNet的CNN配置的实验表明,在卷积层(1.4×至2.5×)和全连接层(对于大于16的批量,至少1.3×)中,所提出的RS数据流比现有数据流更节能。RS数据流也已在制造的芯片上进行了演示,验证了能量分析。

 

图1. 由空间架构加速器和片外DRAM组成的通用CNN加速器系统的框图。放大显示了PE的高级结构。

表I. CONV/FC层的形状参数

 

 

图2. CONV/FC层的计算

 

表二. ALEXNET中的CONV/FC层形状配置

 

图3. 三种不同操作系统数据流变体的比较:(a)SOC-MOP、(b)MOC-MOP和(c)MOC-SOP。红色块表示操作系统数据流变体同时处理的映射区域。

表III.现有数据流之间的数据处理比较

 

 

图4. Eyeriss芯片的模具照片和规格

 

图5. PE中1D卷积基元的处理。在本例中,R=3,H=5

 

图6. 逻辑PE中用于处理2D卷积的数据流。(a) 过滤器重量的行在PE之间水平地重复使用。(b) ifmap像素的行在PE之间对角重用。(c) psum的行在PE上垂直累积。在这个例子中,R=3,H=5

 

图7. 存储区域分配和总存储大小之间的权衡。(a) 较小的内存在区域利用率方面具有较高的成本。(b) 由于全局缓冲区和RF之间的区域分配,芯片上的总存储大小因数据流而异

 

图8. 在四个层次中重用ifmap像素或过滤器权重的示例

 

图9. 通过四个层次结构进行psum积累的示例

 

图10. AlexNet中RS数据流的能耗分析

 

图12. 在PE阵列大小为(a)256、(b)512和(c)1024的情况下,AlexNet的CONV层中的六个数据流的能耗。(d) 与(c)相同,但具有数据类型中的能量分解。将能量归一化为阵列大小为256且批大小为1的RS的能量。RS数据流的能效是其他数据流的1.4倍至2.5倍

 

图14.(a) 每次操作的平均DRAM访问,(b)存储层次结构和(c)数据类型的能耗,以及(d)在PE阵列大小为1024的情况下AlexNet的FC层中的六个数据流的EDP。能量消耗和EDP被标准化为批量大小为1的RS的能量消耗和EPP

 

图15. 在相同面积约束但不同处理面积与存储面积之比的情况下,每次操作的归一化能量与处理延迟之间的关系

参考文献链接

https://people.csail.mit.edu/emer/media/papers/2016.06.isca.eyeriss_architecture.pdf

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ulsteruni.cn/article/44282553.html

如若内容造成侵权/违法违规/事实不符,请联系编程大学网进行投诉反馈email:xxxxxxxx@qq.com,一经查实,立即删除!

相关文章

代码随想录算法训练营day32 | leetcode 122. 买卖股票的最佳时机 II、55. 跳跃游戏、45. 跳跃游戏 II

目录题目链接:122. 买卖股票的最佳时机 II-中等题目链接:55. 跳跃游戏-中等题目链接:45. 跳跃游戏 II-中等 题目链接:122. 买卖股票的最佳时机 II-中等 题目描述: 给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/…

动态数组

1、数组 数组是一种顺序存储的线性表,所有的元素的内存地址都是连续的。2、对象数组 对象数组就是存储一些相关对象地址的数组。如下图所示。 3、null值处理 关于数组中是否可以存储null取决于你的设计。 注意: 1、如果可以存储null值,那么要对代码中equals()等函数经行相关…

windows server 域间的操作

windows server 域首先要准备两台虚拟机,我这边准备了一台Windows server2012 作为域控制器,一台Windows10作为客户机 第二步分别给两台主机配置IP,要保证它们在同一个网段下,关闭防火墙,并能实现互通 能ping通之后我们去Windows server2012 也就是主服务器上去添加A…

拆解达文西内阻仪并分析电路

最近网上出现了一款名叫达文西的内阻测试仪,其实是一个表头,买回来需要自已焊接电池,价格很低,很受爱好者喜欢,因为本来不是专业人士,使用率和精确度要求都不高,今天我也入手了一个,拆解给大家看看,这是达文西内阻测试仪表头:再来看看之前网上数码管这款内阻仪表头内…

数据库getshell

数据库getshell mysql 拿sqli-labs实验 先弄环境 linux下: 下载sqli-labs到/var/www/html 开启apache2、mysql 连接mysql执行命令: create user sqlilab@localhost identified by sqlilab; GRANT ALL ON *.* TO sqlilab@localhost; set password for sqlilab@localhost = pas…

MYSQL主从同步原理

master的请求到达时会写入两个地方:写入到数据表 写入到binlog,此处主要写修改类型命令,select操作将不会被写入slave也有两个线程:读取主库的binlog,写入relay binlog 读取relay binlog 写入数据表和binlog(用于级联组建)进一寸有进一寸的欢喜。