[发明专利]一种基于通道共享的深度神经网络加速器有效
申请号: | 202010470820.2 | 申请日: | 2020-05-28 |
公开(公告)号: | CN111723924B | 公开(公告)日: | 2022-07-12 |
发明(设计)人: | 刘龙军;杨少飞;李英翔;李欣欣;孙宏滨;郑南宁 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06N3/063 | 分类号: | G06N3/063 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 闵岳峰 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 通道 共享 深度 神经网络 加速器 | ||
1.一种基于通道共享的深度神经网络加速器,其特征在于,包括激活值输入缓存,权重缓存,激活值输出缓存,排序模块,通道共享编码模块和通道共享实用内积单元阵列;其中,
激活值输入缓存用于临时存储激活值非0位偏移量,排序索引和共享切换信号;
激活值输出缓存用于临时存储中间结果和激活值输出;
排序模块按照激活值非0位的数量在激活值通道分组中对激活值进行排序,来自排序的排序索引被送入通道共享编码模块对激活值进行共享检测编码;
来自激活值输入缓存的激活值非0位偏移量,排序索引和共享切换信号及来自权重缓存的权重作为输入在通道共享实用内积单元阵列中通过移位加及累加计算得到输出部分和,输出部分和被存储在激活值输出缓存中,激活值输出缓存中的输出部分和最终通过激活函数f计算,得到输出激活值;
通道共享实用内积单元阵列包括16*16个通道共享实用内积单元;权重缓存由eDRAM构成,每次计算加载16个卷积核到通道共享实用内积单元中并被锁存在寄存器中,每个卷积核包含16个权重,每个权重在一个权重通道上,来自中央eDRAM中的256个激活值按照16个窗进行组织,每个窗包含16个激活值,每个激活值在一个激活值通道上,每个窗的激活值首先在排序模块中根据激活值中非0位的数量在激活值通道分组内进行排序,激活值通道分组指将一个窗分为具有相同数量的连续激活值通道;排序好的激活值将按照在通道共享编码模块中计算好的共享的激活值非0位数量和来自排序模块的索引进行非0位的共享检测和编码;通道共享编码模块会将编码好的非0位偏移量和共享切换信号作为输出缓存在激活值输入缓存中;来自激活值输入缓存的一个窗的激活值非0位偏移量,共享切换信号和来自权重缓存的一个卷积核的权重将作为通道共享实用内积单元的输入进行计算,每个通道共享实用内积单元的计算结果输出到激活值输出缓存中存储,激活值输出缓存中的结果将通过激活函数f缓存到中央eDRAM中;
通道共享编码模块包括多路选择器,前导‘1’检测电路,位检测屏蔽电路,16-4编码器/8-3编码器,位取反电路和通道共享控制电路;
输入激活值通过多路选择器根据排序索引选择出排序好的激活值,根据激活值非0位的数量,在一个激活值通道分组内排序后的激活值分为两部分,一部分是具有较多非0位的激活值,一部分是具有较少非0位的激活值,二者按照最大——最小的顺序一一进行配对,在配对的激活值中非0位数量较多的激活值用于共享检测编码;激活值通道分组中非0位较多的激活值通道用来进行非0位的检测编码;而在一个激活值通道分组中非0位数量较少的激活值通道用来进行共享检测编码,在该通道上的原激活值在完成检测编码后切换为共享激活值非0位的检测编码,切换信号来自共享控制电路;输入激活值送入前导‘1’检测电路进行非0位检测,检测结果为独热码,一个时钟周期完成一个非0位的编码;为了避免检测到的非0位影响,位检测屏蔽电路会屏蔽当前检测的非0位,这通过反馈得以实现;前导‘1’检测电路输出的独热码被16-4编码器/8-3编码器编码为相对于激活值第0位的偏移量;
位取反电路将激活值输入按位取反,激活值以反序输入进行检测,避免了在共享检测编码切换时有可能会在两个配对的通道之间出现同一非0位的检测冲突;通道共享控制电路包括汉明权重电路、加法器、减法器、移位器、计数器,寄存器和比较器;输入的激活值首先通过汉明权重电路计算激活值中非0位的数量,然后通过加、减法和移位计算分别得到不同激活值通道编码所需的非0位数目和用于共享的激活值非0位数目;这些数值存储在寄存器中,通过和计数器的比较得到每个激活值通道编码的结束信号和进行共享编码的切换信号;切换信号和非0位偏移量被存储在激活值输入缓存中。
2.根据权利要求1所述的一种基于通道共享的深度神经网络加速器,其特征在于,每个排序模块包括激活值计数器和双调排序电路,计数器对激活值中的非0位进行计数,计数结果作为双调排序电路的输入进行排序,输出排序索引。
3.根据权利要求1所述的一种基于通道共享的深度神经网络加速器,其特征在于,通道共享实用内积单元包括权重寄存器,多路选择器,求补码电路,移位器,加法树,以及累加器;来自权重缓存的权重被暂存储在寄存器中,寄存器中的权重通过多路选择器按照来自激活值输入缓存的排序索引选择出排序好的激活值对应的权重,选择好的权重需要根据来自激活值输入缓存的切换信号通过多路选择器选择出激活值通道共享对应的权重;经过上述选择过程后的权重被送入求补码电路中得到权重的补码,补码权重按照来自激活值输入缓存的偏移量进行移位,移位结果被送入加法树通过加法计算得到中间部分和,该中间部分和再被送入累加器进行累加得到最终部分和。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010470820.2/1.html,转载请声明来源钻瓜专利网。