用于稀疏矩阵乘法的系统和方法与流程

allin2026-09-11  23



背景技术:

1、深度神经网络(dnn)可以用于机器学习中以构建人工智能模型。深度学习工作量包括输入数据、在监督训练期间学习的权重矩阵、以及从输入数据和权重矩阵计算的激活矩阵。由于计算资源扩展,更大的数据集可以被处理,因此需要将dnn按比例放大。稀疏性可以被用作减少用于在dnn的训练期间和/或在部署经训练的dnn时的推理期间所需要的操作的所消耗的计算和/或内存的数量的工具。


技术实现思路

1、提供本
技术实现要素:
以便以简化形式介绍在以下具体实施方式中进一步所描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或者必要特征,也不旨在用于限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分中所提到的任何或者所有缺点的实现。

2、一种用于稀疏矩阵乘法的方法包括,接收具有在第一维度中的m个元素的第一块,并且将m个元素的第一块解析为包括第一维度中的m/b个元素的第一b个子块集合。将具有s%稀疏性的第一稀疏性掩码应用于元素的第一块,使得第一b个子块集合中的每个子块具有s%稀疏性。接收具有在第二维度中的m个元素的第二块。将元素的第二块解析为包括在第二维度中的m/b个元素的第二b个子块集合。将具有s’%稀疏性的第二稀疏性掩码应用于元素的第二块,使得s’%的第二b个子块集合的s’%具有100%稀疏性并且第二b个子块集合的(100-s’)%具有0%稀疏性。然后对第一块和第二块进行矩阵相乘。



技术特征:

1.一种用于稀疏矩阵乘法的方法,包括:

2.根据权利要求1所述的方法,其中s=s’。

3.根据权利要求1所述的方法,其中所述第一稀疏性掩码和所述第二稀疏性掩码中的一个或多个稀疏性掩码基于针对相应的m/b个元素集合的最低一范数集合被生成。

4.根据权利要求1所述的方法,其中所述第一稀疏性掩码和所述第二稀疏性掩码中的一个或多个稀疏性掩码基于针对相应的m/b个元素集合的绝对模长被生成。

5.根据权利要求1所述的方法,其中元素的所述第一块从权重矩阵被导出,并且其中元素的所述第二块从激活矩阵被导出。

6.根据权利要求5所述的方法,其中所述稀疏矩阵乘法在神经网络的训练期间发生。

7.根据权利要求6所述的方法,其中所述第一稀疏性掩码和所述第二稀疏性掩码针对所述神经网络的训练的每次迭代来动态地被重新计算。

8.根据权利要求5所述的方法,其中所述稀疏矩阵乘法在经训练的神经网络的推理操作期间发生。

9.根据权利要求8所述的方法,其中所述第一稀疏性掩码在所述推理操作的每次迭代期间被维护,并且其中所述第二稀疏性掩码针对所述推理操作的每个前向阶段动态地被重新计算。

10.根据权利要求1所述的方法,其中所述稀疏矩阵乘法在变换器语言模型的自注意力层内发生,并且其中元素的所述第一块和元素的所述第二块两者都从激活矩阵被导出。

11.一种用于实现深度神经网络的计算系统,包括:

12.根据权利要求11所述的计算系统,其中s=s’。

13.根据权利要求11所述的计算系统,其中所述第一稀疏性掩码和所述第二稀疏性掩码中的一个或多个稀疏性掩码基于针对相应的m/b个元素集合的最低一范数集合被生成。

14.根据权利要求11所述的计算系统,其中元素的所述第一块从权重矩阵被导出,并且其中元素的所述第二块从激活矩阵被导出,所述权重矩阵和所述激活矩阵被用作稀疏矩阵乘法的输入。

15.根据权利要求14所述的计算系统,其中所述稀疏矩阵乘法在神经网络的训练期间发生。


技术总结
一种用于稀疏矩阵乘法的方法包括,接收具有在第一维度中的M个元素的第一块,并且将M个元素的第一块解析为包括第一维度中的M/B个元素的第一B个子块集合。将具有S%稀疏性的第一稀疏性掩码应用于元素的第一块,使得第一B个子块集合中的每个子块具有S%稀疏性。接收具有在第二维度中的M个元素的第二块,并且将该第二块解析为包括在第二维度中的M/B个元素的第二B个子块集合。将具有S’%稀疏性的第二稀疏性掩码应用于元素的第二块,使得第二B个子块集合的S’%具有100%稀疏性并且第二B个子块集合的(100‑S’)%具有0%稀疏性。然后对第一块和第二块进行矩阵相乘。

技术研发人员:V·埃兰戈,B·达尔维什·鲁哈尼,E·S·钟,D·C·伯格
受保护的技术使用者:微软技术许可有限责任公司
技术研发日:
技术公布日:2024/10/31
转载请注明原文地址: https://www.8miu.com/read-31092.html

最新回复(0)