[发明专利]执行神经网络模型的计算装置、方法及相关产品在审
申请号: | 202111109101.9 | 申请日: | 2021-09-22 |
公开(公告)号: | CN113850376A | 公开(公告)日: | 2021-12-28 |
发明(设计)人: | 不公告发明人 | 申请(专利权)人: | 安徽寒武纪信息科技有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04;G06N3/08 |
代理公司: | 北京维昊知识产权代理事务所(普通合伙) 11804 | 代理人: | 陈姗姗 |
地址: | 231283 安徽省合肥市高新区习友路3333*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 执行 神经网络 模型 计算 装置 方法 相关 产品 | ||
1.一种执行神经网络模型的计算装置,所述计算装置包括多个处理核以及支持核间相互通信的片上网络,所述神经网络模型的输出层包括投影层、softmax层和TopK层,其中所述计算装置用于:
从片外存储电路加载所述投影层的输入数据;
在所述多个处理核上针对所述输入数据执行所述投影层、softmax层和TopK层的融合运算;
利用所述片上网络对所述多个处理核的融合运算结果进行规约处理,以得到最终结果;以及
向片外存储电路输出所述最终结果。
2.根据权利要求1所述的计算装置,其中每个处理核配置用于按如下执行所述融合运算:
针对输入词序列x与分配给当前处理核的词典执行所述投影层的运算;
从所述投影层的运算结果中确定其中的K个局部最大值;以及
基于所述投影层的运算结果和所述K个局部最大值中的最大值,更新softmax运算中的局部概率和。
3.根据权利要求2所述的计算装置,其中每个处理核配置用于以其一次可处理的数据量大小l为步长,步进式加载分配给其处理的词典,循环执行所述融合运算。
4.根据权利要求3所述的计算装置,还包括由多个处理核共享的共享存储核,并且每个处理核进一步配置用于:
每次处理所述输入词序列x与所述l中的一部分的矩阵乘法运算,得到矩阵乘结果;以及
将所述矩阵乘结果缓存到所述共享存储核上,直至处理完所述l的数据量。
5.根据权利要求4所述的计算装置,其中所述处理核进一步配置用于:
从所述共享存储核加载缓存的所述矩阵乘结果;以及
从所述矩阵乘结果中确定所述K个局部最大值。
6.根据权利要求5所述的计算装置,其中所述处理核配置用于使用以下任一排序方法确定所述K个局部最大值:
堆排序、冒泡排序和快速排序。
7.根据权利要求5-6任一所述的计算装置,其中所述处理核配置用于:
将上一循环中确定的K个局部最大值汇入当前循环中计算的投影层的运算结果中,从其确定更新的K个局部最大值。
8.根据权利要求2-7任一所述的计算装置,还包括共享存储核,并且所述计算装置配置用于按如下进行规约处理:
将各个处理核的所述融合运算得到的结果通过所述片上网络汇集到所述共享存储核;
从汇集的各个处理核的K个局部最大值中确定K个全局最大值;以及
针对K个全局最大值计算softmax运算中的全局概率和以得到所述最终结果。
9.根据权利要求2-8任一所述的计算装置,其中所述处理核的数量为N,所述词典的大小为L,每个处理核被分配处理L/N的所述词典。
10.根据权利要求2-9任一所述的计算装置,其中所述输入词序列x包括一个或多个词序列,并且所述计算装置配置用于根据所述处理核的数量分配所述一个或多个词序列的运算处理。
11.一种芯片,包括根据权利要求1-10任一所述的计算装置。
12.一种板卡,包括根据权利要求11所述的芯片。
13.一种利用权利要求1-10任一所述的计算装置执行神经网络模型的计算方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽寒武纪信息科技有限公司,未经安徽寒武纪信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111109101.9/1.html,转载请声明来源钻瓜专利网。