System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 补偿存算一体装置中计算结果偏移的方法及存算一体装置制造方法及图纸_技高网
当前位置: 首页 > 专利查询>清华大学专利>正文

补偿存算一体装置中计算结果偏移的方法及存算一体装置制造方法及图纸

技术编号:40195312 阅读:17 留言:0更新日期:2024-01-26 23:58
一种补偿存算一体装置中计算结果偏移的方法及存算一体装置。该方法包括:在存算一体装置上映射运算权重和补偿权重;获取包括偏移补偿元素的输入向量;使用该存算一体装置对该输入向量进行运算。该方法利用存算一体装置中现有的存储阵列和外围电路,通过使用少数存储阵列来映射额外的权重,并在输入向量中增加偏移补偿元素,实现在模拟域减小存算一体装置中计算结果的偏移。通过本公开的实施例提供的方法,可以以更小的功耗和延迟实现对存算一体装置的计算结果偏移的补偿。

【技术实现步骤摘要】

本公开的实施例涉及存算一体装置,更具体地,涉及一种补偿存算一体装置中计算结果偏移的方法及相应的存算一体装置。


技术介绍

1、最近十几年,以神经网络算法为主体的人工智能技术不断发展,其在计算机视觉、自然语言处理、强化学习等方面已经取得很大的成功,并且在某些特定领域已经可以超过人类的能力。预期神经网络算法未来会朝着大模型发展,其训练和推理的数据量和模型参数规模都快速增长,而这需要大算力、高能效的芯片作为支撑。然而,以cpu为代表的基于冯诺依曼架构的传统计算芯片由于其存储和计算单元分离的特点,导致其在处理神经网络算法等计算密集型任务时,存在高能耗、低算力的缺点。而gpu等传统的面向神经网络算法的计算芯片,尽管算力较高,但仍然面临高能耗的问题。因此,在物联网等边缘应用领域,需要新的能够提供足够算力并具有低能耗的计算芯片。

2、近年来,基于非易失性存储阵列的存算一体计算芯片不断发展,其经历了单阵列、宏电路以及多阵列系统集成等发展过程,在大量计算密集型任务场景进行了演示验证可行性。未来,预期基于非易失性存储阵列的存算一体计算芯片将朝着片上系统的方向发展,存算一体片上系统计算芯片将是存算一体计算芯片未来实际应用的主要形式。

3、基于非易失性存储阵列的存算一体计算芯片能突破冯诺依曼架构限制,将存储单元和计算单元融合,因而可以减少数据在存储单元和计算单元之间搬移产生的时延和能耗。在面向神经网络等计算密集型任务时,存储单元和计算单元融合所带来的高能效优势会更加突出。在存算一体计算芯片中,核心计算单元由非易失性存储阵列和外围电路(如模数转换器、数模转换器等)组成,其可以通过模拟计算的方式,加速神经网络等计算密集任务中的核心算子--矩阵向量乘(matrix vector multiplication,mvm)的计算。


技术实现思路

1、本公开至少一实施例提供一种补偿存算一体装置中计算结果偏移的方法,包括:在该存算一体装置上映射运算权重和补偿权重;获取包括偏移补偿元素的输入向量;使用该存算一体装置对该输入向量进行运算。

2、例如,在本公开至少一实施例提供的方法中,在该存算一体装置上映射运算权重和补偿权重,包括:将该运算权重映射到该存算一体装置中的存储阵列中;将该补偿权重映射到该存算一体装置中的补偿阵列中。

3、例如,在本公开至少一实施例提供的方法中,该存储阵列和该补偿阵列位于同一存算一体阵列的不同部分中;或者该存储阵列和该补偿阵列彼此独立提供。

4、例如,在本公开至少一实施例提供的方法中,该存储阵列和该补偿阵列在同一存算一体阵列中在列方向上位于不同行中。

5、例如,在本公开至少一实施例提供的方法中,该存算一体装置包括多个计算单元,该存储阵列和该补偿阵列在同一计算单元中彼此独立提供,或者在不同计算单元中彼此独立提供。

6、例如,在本公开至少一实施例提供的方法中,该补偿权重和该偏移补偿元素通过在该存算一体装置上进行迭代测试获得,其中,在该迭代测试结束时,该补偿权重被映射到该补偿阵列中,最后一次迭代对应的偏移补偿元素作为用于包括到输入向量中的该偏移补偿元素。

7、例如,在本公开至少一实施例提供的方法中,该迭代测试包括:设定补偿权重包括的每个补偿权重向量的长度的初始值、补偿权重的各个元素的初始值、偏移补偿元素的各个元素的初始值,该偏移补偿元素的个数等于补偿权重向量的长度中的最大值;基于该初始值,迭代地在对应补偿阵列上映射每次迭代对应的补偿权重;将该次迭代对应的偏移补偿元素附加到测试向量以获得经补偿的输入测试向量;将该经补偿的输入测试向量输入该存算一体装置来获得该次迭代的测试结果;根据该测试结果,确定是否结束迭代。

8、例如,在本公开至少一实施例提供的方法中,根据该测试结果,确定是否结束迭代,包括:如果该测试结果满足第一条件,则结束迭代,并存储最后一次迭代对应的偏移补偿元素作为用于包括到输入向量的该偏移补偿元素;否则,根据设定的迭代步长分别增加相应补偿权重向量的长度的值、补偿权重的各个元素的值、偏移补偿元素的各个元素的值中的至少一项进行下一次迭代。

9、例如,在本公开至少一实施例提供的方法中,该第一条件为:该测试结果中大于偏移阈值的元素个数小于第一阈值或该测试结果中的每个元素的值都不大于偏移阈值。

10、例如,在本公开至少一实施例提供的方法中,该补偿权重和该偏移补偿元素根据模型得出,该模型表示,对于映射了该运算权重的存算一体装置,补偿权重、偏移补偿元素与计算结果的偏移之间的关系。

11、例如,本公开至少一实施例提供的方法还包括:将测试向量输入映射了该运算权重的存算一体装置以获得对应的偏移向量;该补偿权重和该偏移补偿元素还基于该偏移向量得出。

12、例如,在本公开至少一实施例提供的方法中,该测试向量为全0向量,其元素个数与该运算权重的行数相同。

13、例如,在本公开至少一实施例提供的方法中,该运算权重包括神经网络的多层网络对应的多个权重矩阵。

14、例如,在本公开至少一实施例提供的方法中,该多层网络中的每层网络对应的补偿权重被编码到该存算一体装置的存算一体阵列的不同行。

15、本公开至少一实施例提供一种存算一体装置,包括:权重映射装置,配置为在该存算一体装置上映射运算权重和补偿权重;输入装置,配置为获取包括偏移补偿元素的输入向量;控制装置,使用该存算一体装置对该输入向量进行运算。

16、例如,本公开至少一实施例提供的存算一体装置还包括一个或多个存算一体阵列;该权重映射装置进一步配置为在该一个或多个存算一体阵列中映射该运算权重和该补偿权重;该输入装置包括:第一寄存器,用于存储该偏移补偿元素;第二寄存器,用于存储基于原始输入向量获得的包括该偏移补偿元素的该输入向量。

17、本公开至少一实施例提供一种计算装置,包括根据本公开至少一实施例提供的存算一体装置。

本文档来自技高网...

【技术保护点】

1.一种补偿存算一体装置中计算结果偏移的方法,包括:

2.根据权利要求1所述的方法,其中,在所述存算一体装置上映射运算权重和补偿权重,包括:

3.根据权利要求2所述的方法,其中,所述存储阵列和所述补偿阵列位于同一存算一体阵列的不同部分中;或者

4.根据权利要求3所述的方法,其中,所述存储阵列和所述补偿阵列在同一存算一体阵列中在列方向上位于不同行中。

5.根据权利要求3所述的方法,其中,所述存算一体装置包括多个计算单元,

6.根据权利要求2所述的方法,其中,所述补偿权重和所述偏移补偿元素通过在所述存算一体装置上进行迭代测试获得,

7.根据权利要求6所述的方法,其中,所述迭代测试包括:

8.根据权利要求7所述的方法,其中,根据所述测试结果,确定是否结束迭代,包括:

9.根据权利要求8所述的方法,其中,所述第一条件为:

10.根据权利要求1所述的方法,其中,所述补偿权重和所述偏移补偿元素根据模型得出,所述模型表示,对于映射了所述运算权重的存算一体装置,补偿权重、偏移补偿元素与计算结果的偏移之间的关系。

11.根据权利要求10所述的方法,还包括:

12.根据权利要求1-11中任一项所述的方法,其中,所述运算权重包括神经网络的多层网络对应的多个权重矩阵,

13.一种存算一体装置,包括:

14.根据权利要求13所述的存算一体装置,还包括一个或多个存算一体阵列;

15.一种计算装置,包括根据权利要求13或14所述的存算一体装置。

...

【技术特征摘要】

1.一种补偿存算一体装置中计算结果偏移的方法,包括:

2.根据权利要求1所述的方法,其中,在所述存算一体装置上映射运算权重和补偿权重,包括:

3.根据权利要求2所述的方法,其中,所述存储阵列和所述补偿阵列位于同一存算一体阵列的不同部分中;或者

4.根据权利要求3所述的方法,其中,所述存储阵列和所述补偿阵列在同一存算一体阵列中在列方向上位于不同行中。

5.根据权利要求3所述的方法,其中,所述存算一体装置包括多个计算单元,

6.根据权利要求2所述的方法,其中,所述补偿权重和所述偏移补偿元素通过在所述存算一体装置上进行迭代测试获得,

7.根据权利要求6所述的方法,其中,所述迭代测试包括:

8.根据权利要求7所述的方法...

【专利技术属性】
技术研发人员:张清天秦琦姚鹏高滨唐建石吴华强钱鹤
申请(专利权)人:清华大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1