买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:复旦大学
摘要:本发明属于集成电路技术领域,具体为用于神经网络混合精度推理的运算单元。本发明运算单元电路包括:与混合精度运算相关的输入数据加载控制逻辑、预编码模块、部分积生成模块、部分积累加模块、累加和缓冲及与混合精度运算相关的输出数据存储控制逻辑;该运算单元采用分块计算方式,软件对运算矩阵进行区域分配,可以支持多种量化精度的神经网络运算,灵活性高,可拓展性好,可满足多种神经网络算子,多种量化精度的运算需求。该运算单元采用高利用率的运算阵列电路设计,不同精度运算下硬件翻转率稳定,系统兼容性强。该运算单元采用优化设计的编解码模块,硬件能效比高。
主权项:1.一种用于神经网络混合精度推理的运算单元,其特征在于,电路结构包括与混合精度运算相关的输入数据加载控制逻辑模块、预编码模块、部分积生成模块、部分积累加模块、累加和缓冲及与混合精度运算相关的输出数据存储控制逻辑模块;运算单元接收两组输入数据,输入数据在运算单元内部进行计算,运算结果作为输出数据给到顶层;在神经网络各核心计算算子部署过程中:对于卷积算子,卷积运算的输入特征图数据及权重数据分别映射到运算单元的两组输入数据,输出特征图数据映射到运算单元的输出数据;对于线性变换算子,矩阵乘法运算的两个输入矩阵数据分别映射到运算单元的两组输入数据,输出矩阵数据映射到运算单元的输出数据;其中:所述与混合精度运算相关的输入数据加载控制逻辑,负责根据算子量化精度将两组输入数据,包括卷积运算中的输入特征图和权重,或者矩阵乘法运算中的两个输入矩阵,从前级存储器中加载进运算单元;输入数据与划分的子区域相对应;在神经网络算子的运算过程中,输入数据加载控制逻辑优先加载某组有效输出数据对应的输入数据,逐周期进行以上过程,直至得到有效的输出数据,再换加载下一组有效输出数据对应的输入数据,依此类推;所述预编码模块,负责对加载进运算单元的输入数据进行编码;预编码逻辑对原始输入数据的高低位分别进行编码,以实现不同混合精度配置的运算;该模块支持各种算子量化精度配置的软件定义,根据算子量化精度配置模式不同,及输入数据是否是有符号数的情况,对其中一组输入数据进行预编码并生成控制信号;具体地,以每个输入数据的最高位为起始,每3位一组,每组之间互相重叠1位,由此分组的数据输入预编码模块,预编码模块进而对每组数据编码生成一组控制信号;控制信号将指示后续部分积生成方式,指示部分积累加模块的数据输入方式,指示输出数据存储控制逻辑模块的片选方式;所述部分积生成模块,负责根据预编码模块产生的控制信号进行部分积生成;对于每个输入数据,根据其位宽情况,对其预编码生成的多组控制信号分别进行解码,对应生成一组部分积;生成的部分积输入给后续的部分积累加模块进行累加;所述部分积累加模块,负责累加输入的部分积以得到有效的运算单元输出;部分积累加模块采用二维运算矩阵及末端加法树的构成格式;针对混合精度运算的应用场景,部分积累加模块通过软件自定义运算矩阵算力分配的拓扑,每个运算单元的部分积累加模块可以实现多个低量化精度运算或单个高量化精度运算结果的生成;若为单个高量化精度运算,前级生成的部分积及预编码生成的控制信号输入矩阵的各行,累加生成的和及进位在矩阵行之间向下传播,列之间没有传播依赖链;最终在矩阵的最右一列和最下一行的数据输出即为累加完成的有效值;若为多个低量化精度运算,则根据输入模块顶层的配置信息不同,运算矩阵的不同区域实现不同量化精度的部分积的累加;每个区域分割为多个子区域,前一子区域的输出按对角线方向向右下传播,将输入给下一区域参与运算;最终混合精度运算的结果均在矩阵的最右一列和最下一行输出,输出的数据经过末端加法树累加后作为有效值存入后续的累加和缓冲器;所述累加和缓冲及与混合精度运算相关的输出数据存储控制逻辑,负责对输出的有效累加和进行存储,以及在该运算单元的累加和有效时控制顶层输出;部分积累加模块的输出与累加和缓冲中的原始数据进行累加,并重新存储在累加和缓冲中,重复该过程,当该有效输出对应的输入数据均已输入进该运算单元,完成得到有效输出的运算后,模块给出数据有效信号,并将输出数据传递给到顶层输出。
全文数据:
权利要求:
百度查询: 复旦大学 一种用于神经网络混合精度推理的运算单元
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。