神经处理单元的制作方法

文档序号:37427137发布日期:2024-03-25 19:15阅读:14来源:国知局
神经处理单元的制作方法

在此公开的主题涉及神经网络处理装置。更具体地,在此公开的主题涉及可被重新配置为处理从n:m=1:4、2:4、2:8和4:8细粒度结构化权重稀疏性布置选择的细粒度结构化稀疏性权重布置的神经处理单元。


背景技术:

1、深度神经网络(dnn)的处理可由神经处理单元(npu)加速。也就是说,与dnn中的通用矩阵乘法(gemm)运算相关联的操作数的稀疏性可用于对由npu执行的操作进行加速。与随机稀疏性相比,细粒度结构化稀疏性(fine-grained structured sparsity)(尤其是n:m稀疏性(m个权重值中的n个非零元素))可有助于维持dnn准确度并节省硬件开销。然而,虽然存在额外的细粒度结构化稀疏性配置(诸如,n:m={1:4,4:8,2:8}),但是现有技术仅支持一种n:m配置(即,n:m=2:4)。


技术实现思路

1、示例实施例提供一种神经处理单元,所述神经处理单元可包括权重缓冲器、权重复用器、激活缓冲器、激活复用器和乘法器阵列。权重缓冲器可被配置为以细粒度结构化稀疏性权重布置来存储权重值,细粒度结构化稀疏性权重布置从可包括1:4细粒度结构化稀疏性权重布置、2:4细粒度结构化稀疏性权重布置、4:8细粒度结构化稀疏性权重布置和2:8细粒度结构化稀疏性权重布置中的至少两种布置的细粒度结构化稀疏性权重布置的组被选择。权重复用器阵列可被配置为基于选择的细粒度结构化稀疏性权重布置来输出存储在权重缓冲器中的一个或多个权重值作为第一操作数值。激活缓冲器可被配置为存储激活值。激活复用器阵列可包括到激活复用器阵列的输入,激活复用器阵列可结合到激活缓冲器,并且激活复用器阵列可被配置为输出存储在激活缓冲器中的一个或多个激活值作为第二操作数值,其中,每个相应的第二操作数值和相应的第一操作数值形成操作数值对。乘法器阵列可被配置为输出每个操作数值对的乘积值。在一个实施例中,激活缓冲器可包括用于存储8个激活值的8个激活寄存器,权重复用器阵列可包括第一权重复用器,第一权重复用器被配置为基于选择的细粒度结构化稀疏性权重布置来选择权重寄存器并且输出存储在选择的权重寄存器中的权重值作为第一操作数值,激活复用器阵列可包括第一激活复用器,第一激活复用器可包括七个输入,其中,第一激活复用器的每个相应的输入可连接到第一组激活寄存器内的相应的激活寄存器,第一激活复用器可被配置为基于选择的细粒度结构化稀疏性权重布置来选择第一组激活寄存器中的激活寄存器并且输出存储在选择的激活寄存器中的激活值作为第二操作数值,其中,第二操作数值与第一操作数值对应并且形成第一操作数值对,并且乘法器阵列可包括第一第一乘法器单元,第一第一乘法器单元被配置为输出第一操作数值对的乘积值。在另一实施例中,权重值可以以1:4细粒度结构化稀疏性权重布置或以2:8细粒度结构化稀疏性权重布置被存储在权重缓冲器中,并且第一组激活寄存器可包括7个激活寄存器。在又一实施例中,权重值可以以2:4细粒度结构化稀疏性权重布置被存储在权重缓冲器中,并且第一组激活寄存器可包括4个激活寄存器。在又一实施例中,权重值可以以4:8细粒度结构化稀疏性权重布置被存储在权重缓冲器中,并且第一组激活寄存器可包括6个激活寄存器。在一个实施例中,权重值可以以2:8细粒度结构化稀疏性配置来布置,并且激活寄存器可包括两行的四个激活寄存器,其中,两个输出复用器可被配置为从每行选择一个激活寄存器。在另一实施例中,权重值可以以2:4细粒度结构化稀疏性配置来布置,并且激活寄存器可包括两行的两个激活寄存器,其中,两个输出复用器被配置为从每行选择一个激活寄存器。

2、示例实施例提供一种神经处理单元,所述神经处理单元可包括第一权重缓冲器、第一权重复用器、第一激活缓冲器、第一激活复用器和第一乘法器单元。第一权重缓冲器可包括第一权重寄存器的阵列,其中,每个第一权重寄存器可被配置为以细粒度结构化稀疏性权重布置来存储权重值,细粒度结构化稀疏性权重布置从可包括1:4细粒度结构化稀疏性权重布置、2:4细粒度结构化稀疏性权重布置、4:8细粒度结构化稀疏性权重布置和2:8细粒度结构化稀疏性权重布置中的至少两种布置的细粒度结构化稀疏性权重布置的组被选择。第一权重复用器可被配置为基于选择的细粒度结构化稀疏性权重布置来选择第一权重寄存器,并且输出存储在选择的第一权重寄存器中的权重值作为第一操作数值。第一激活缓冲器可以是第一预定数量的第一激活寄存器,其中,每个第一激活寄存器可被配置为存储激活值。第一激活复用器可包括第二预定数量的第一激活复用器输入,其中,第一激活复用器的每个相应的输入可连接到第一组第一激活寄存器内的相应的第一激活寄存器,并且其中,第一激活复用器可被配置为基于选择的细粒度结构化稀疏性权重布置来选择第一激活寄存器,并且输出存储在选择的第一激活寄存器中的激活值作为第二操作数值,作为第二操作数值被输出的激活值与作为第一操作数值被输出的权重值对应。第一乘法器单元可被配置为输出第一操作数值与第二操作数值的第一乘积值。在一个实施例中,第一激活寄存器的第一预定数量可以是8,并且激活输入的第二预定数量可以是7。在另一实施例中,权重值可以以1:4细粒度结构化稀疏性配置来布置。在又一实施例中,权重值可以以2:4细粒度结构化稀疏性配置来布置。在又一实施例中,权重值可以以4:8细粒度结构化稀疏性配置来布置。在一个实施例中,权重值可以以2:8细粒度结构化稀疏性配置来布置。在另一实施例中,所述神经处理单元还可包括第二权重复用器、第二激活复用器和第二乘法器单元,其中,第二权重复用器可被配置为基于选择的细粒度结构化稀疏性权重布置来选择第一权重寄存器,并且输出存储在选择的第一权重寄存器中的权重值作为第三操作数值,第二激活复用器可包括第二预定数量的第二激活复用器输入,其中,第二激活复用器的每个相应的输入可连接到与第一组第一激活寄存器不同的第二组激活寄存器内的相应的第一激活寄存器,第二激活复用器可被配置为基于选择的细粒度结构化稀疏性权重布置来选择第一激活寄存器,并且输出存储在选择的第一权重寄存器中的激活值作为第四操作数值,并且作为第四操作数值被输出的激活值与作为第三操作数值被输出的权重值对应,并且第二乘法器单元可被配置为输出第三操作数值与第四操作数值的第二乘积值。在又一实施例中,所述神经处理单元还可包括第二权重缓冲器、第三权重复用器、第二激活缓冲器、第三激活复用器、第三乘法器单元、第四权重复用器、第四激活复用器和第四乘法器单元,其中,第二权重缓冲器可被配置为基于选择的细粒度结构化稀疏性权重布置来存储细粒度结构化稀疏性权重的权重值,第三权重复用器可被配置为基于选择的细粒度结构化稀疏性权重布置来选择第二权重寄存器,并且输出存储在选择的第二权重寄存器中的权重值作为第五操作数值,第二激活缓冲器可包括第一预定数量的第二激活寄存器,其中,每个第二激活寄存器可被配置为存储激活值,并且第三激活复用器包括第二预定数量的第三激活复用器输入,第三激活复用器的每个相应的输入连接到第一组第二激活寄存器内的相应的第二激活寄存器,第三激活复用器被配置为基于选择的细粒度结构化稀疏性权重布置来选择第二激活寄存器并且输出存储在选择的第二激活寄存器中的激活值作为第六操作数值,作为第六操作数值被输出的激活值与作为第五操作数值被输出的权重值对应,第三乘法器单元可被配置为输出第五操作数值与第六操作数值的第三乘积值,第四权重复用器可被配置为基于选择的细粒度结构化稀疏性权重布置来选择第二权重寄存器并且输出存储在选择的第二权重寄存器中的权重值作为第七操作数值,第四激活复用器可包括第二预定数量的第四激活复用器输入,其中,第四激活复用器的每个相应的输入可连接到与第三组激活寄存器不同的第四组第二激活寄存器内的相应的第二激活寄存器,并且其中,第四激活复用器可被配置为基于选择的细粒度结构化稀疏性权重布置来选择第二激活寄存器并且输出存储在选择的第二激活寄存器中的激活值作为第八操作数值,并且第四乘法器单元可被配置为输出第七操作数值与第八操作数值的第四乘积值。在一个实施例中,第一预定数量的第一激活寄存器可以是8个第一激活寄存器,第二预定数量的第一激活复用器输入可以是7个第一激活复用器输入,第二预定数量的第二激活复用器输入可以是7个第二激活复用器输入,第一预定数量的第二激活寄存器可以是8个第二激活寄存器,第二预定数量的第三激活复用器输入可以是7个第三激活复用器输入,并且第二预定数量的第四激活复用器输入可以是7个第四激活复用器输入。在另一实施例中,权重值可以以1:4细粒度结构化稀疏性配置来布置,第一组第一激活寄存器可包括四个第一激活寄存器,第二组第一激活寄存器可包括四个第一激活寄存器并且与第一组第一激活寄存器不同,第三组第二激活寄存器可包括四个第二激活寄存器,并且第四组第二激活寄存器可包括四个第二激活寄存器并且与第三组第二激活寄存器不同。在又一实施例中,权重值可以以2:8细粒度结构化稀疏性配置来布置,第一组第一激活寄存器可包括七个第一激活寄存器,第二组第一激活寄存器可包括七个第一激活寄存器并且与第一组第一激活寄存器不同,第三组第二激活寄存器可包括七个第二激活寄存器,并且第四组第二激活寄存器可包括七个第二激活寄存器并且与第三组第二激活寄存器不同。在又一实施例中,权重值可以以2:4细粒度结构化稀疏性配置来布置,激活值可被存储在第一激活缓冲器的四个第一激活寄存器中并且可被存储在第二激活缓冲器的四个第二激活寄存器中,第一组第一激活寄存器可包括存储激活值的四个第一激活寄存器,第二组第一激活寄存器可包括与第一组第二激活寄存器相同的四个第一激活寄存器,第三组第二激活寄存器可包括存储激活值的四个第二激活寄存器,并且第四组第二激活寄存器可包括与第三组激活寄存器相同的四个第二激活寄存器。在一个实施例中,权重值可以以4:8细粒度结构化稀疏性配置来布置,激活值可被存储在第一激活缓冲器的六个第一激活寄存器中和第二激活缓冲器的六个第二激活寄存器中,第一组第一激活寄存器可包括存储激活值的六个第一激活寄存器,第二组第一激活寄存器可包括与第一组第二激活寄存器相同的六个激活寄存器,第三组第二激活寄存器可包括存储激活值的六个第二激活寄存器,并且第四组第二激活寄存器可包括与第三组第二激活寄存器相同的六个第二激活寄存器。在又一实施例中,权重值可以以2:8细粒度结构化稀疏性配置来布置,并且第一激活寄存器可包括两行的四个激活寄存器,其中,两个输出复用器可被配置为从每行选择一个激活寄存器。在又一实施例中,权重值可以以2:4细粒度结构化稀疏性配置来布置,并且第一激活寄存器可包括两行的两个激活寄存器,其中,两个输出复用器可被配置为从每行选择一个激活寄存器。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1