CN116795326A - 人工智能芯片检测计算方法 - Google Patents

人工智能芯片检测计算方法 Download PDF

Info

Publication number
CN116795326A
CN116795326A CN202311061722.3A CN202311061722A CN116795326A CN 116795326 A CN116795326 A CN 116795326A CN 202311061722 A CN202311061722 A CN 202311061722A CN 116795326 A CN116795326 A CN 116795326A
Authority
CN
China
Prior art keywords
input
typical
value
calculation
output value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311061722.3A
Other languages
English (en)
Inventor
李慧清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Wisemays Technology Co ltd
Original Assignee
Beijing Wisemays Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Wisemays Technology Co ltd filed Critical Beijing Wisemays Technology Co ltd
Priority to CN202311061722.3A priority Critical patent/CN116795326A/zh
Publication of CN116795326A publication Critical patent/CN116795326A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

本申请提供一种人工智能芯片检测计算方法,在计算阵列内设置多向冗余跳过模块和多个计算单元线,多向冗余跳过模块设置在计算单元线顶层,多向冗余跳过模块包括典型数据存储单元和计数模块,计算单元线包含多个计算单元,典型数据存储单元内预存储有一个或多个典型输入值、典型输入值对应的输入操作及典型输出值;将第一输入数据输入到多向冗余跳过模块,通过将第一输入数据与典型数据存储单元中的数据比对,当两者比对结果符合预设机制,将典型输出值作为计算单元的输出值,计算单元不参与计算,降低了计算单元的计算资源及功耗的功耗,提高计算单元的工作效率。

Description

人工智能芯片检测计算方法
技术领域
本申请涉及智能芯片检测领域,具体而言,涉及一种人工智能芯片检测计算方法。
背景技术
现有技术中,已有的人工智能芯片方案主要分为两类,一类是专门针对人工神经网络的加速处理器,如英伟达的图形处理器、谷歌的谷歌张量处理器等;另一类是通用处理器,如电脑的中央处理器(CPU)、可编程阵列逻辑(FPGA)等,通过软件实现人工智能计算。
这些芯片方案在不同场景下有其优劣势,但是对于调度的问题,需要在软硬件结合的设计上做更多的优化和创新。传统的人工神经网络处理器中,面临着算力不足及功耗过大等问题,严重影响人工智能芯片在更多场景中的普及和使用。因此,如何进一步提升人工智能芯片计算能力是要解决的重要挑战。
发明内容
本申请实施例的目的在于提供一种人工智能芯片检测计算方法,用以实现提高检测计算效率的技术效果。
本申请实施例提供了一种人工智能芯片检测计算方法,包括:S1,在计算阵列内设置多向冗余跳过模块和多个计算单元线,所述多向冗余跳过模块设置在所述计算单元线顶层,所述多向冗余跳过模块包括典型数据存储单元和计数模块,所述计算单元线包含多个计算单元,所述典型数据存储单元内预存储有一个或多个典型输入值、典型输入值对应的输入操作及典型输出值;S2,将第一输入数据输入到所述多向冗余跳过模块,所述第一输入数据包含一个或多个第一输入值,对应的第一输入操作及第一输出值,所述计数模块统计第一输入值及对应的第一输入操作和第一输出值出现频次,并保留高出现频次的第一输入值及对应的第一输入操作和第一输出值;S3,第一输入值包括第一参数和第二参数,当第一输入操作为乘法运算时,若第一参数为零或第二参数为零,则将第一输出值设为零并作为所述计算单元第一输出值;当第一输入操作为加法运算时,若第一参数和第二参数皆为零,则将第一输出值设为零作为所述计算单元第二输出值;当第一输入操作为平方运算时,若所述第一输入值为零,则将第一输出值设为零作为所述计算单元第三输出值;S4,所述多向冗余跳过模块将第一输入值及对应的第一输入操作与典型输入值及对应的输入操作比对,若比对一致则将典型输出值作为所述计算单元第四输出值;S5,所述多向冗余跳过模块将第一输入值及对应的第一输入操作与典型输入值及对应的输入操作比对,当第一输入操作为乘法运算时,若第一输入值为典型输入值的第一倍数,则将第二典型输出值调整为典型输出值的第一倍数,所述第二典型输出值作为所述计算单元第五输出值;S6,所述多向冗余跳过模块将第一输入值与典型输入值比对,若第一输入值与典型输入值的差值低于预设阈值,且第一输入操作与典型输入值对应的输入操作一致,则将典型输出值作为所述计算单元第六输出值;S7,重复执行步骤S2~步骤S6直至第一输入数据计算完成。
在上述实现过程中,在计算阵列内设置多向冗余跳过模块和多个计算单元线,多向冗余跳过模块设置在计算单元线顶层,多向冗余跳过模块包括典型数据存储单元和计数模块,计算单元线包含多个计算单元,典型数据存储单元内预存储有一个或多个典型输入值、典型输入值对应的输入操作及典型输出值,典型输出值是在典型输入值执行对应的输入操作后得到的,输入操作可以为乘法运算、加法运算、除法运算、平方运算等。将第一输入数据输入到多向冗余跳过模块,第一输入数据包含一个或多个第一输入值,对应的第一输入操作及第一输出值,计数模块统计第一输入值及对应的第一输入操作和第一输出值出现频次,计数模块内预设有频次阈值,频次阈值的设立方式为:某数据出现频次占总数据出现频次的百分比,以保留高于频次阈值的第一输入值及对应的第一输入操作和第一输出值,出现频次较高的第一输入数据可以作为典型数据存储到典型数据存储单元。第一输入值包括第一参数和第二参数,第一参数和第二参数执行第一输入操作得到第一输出值,当第一输入操作为乘法运算时,若第一参数为零或第二参数为零,则将第一输出值设为零并作为计算单元第一输出值,此时计算单元不工作;当第一输入操作为加法运算时,若第一参数和第二参数皆为零,则将第一输出值设为零作为计算单元第二输出值,此时计算单元不工作;当第一输入操作为平方运算时,若第一输入值为零,则将第一输出值设为零作为计算单元第三输出值,此时计算单元不工作,多向冗余跳过模块将第一输入值及对应的第一输入操作与典型输入值及对应的输入操作比对,若比对一致证明第一输出值和典型输出值相同,则将典型输出值作为计算单元第四输出值,此时计算单元不工作;S5,多向冗余跳过模块将第一输入值及对应的第一输入操作与典型输入值及对应的输入操作比对,当第一输入操作为乘法运算时,若第一输入值为典型输入值的第一倍数,则将第二典型输出值调整为典型输出值的第一倍数,第二典型输出值作为计算单元第五输出值,此时计算单元不工作,例如第一输入值为典型输入值的两倍,那么第一输出值也应为典型输出值的两倍,只需将典型输出值扩大为原来的两倍作为计算单元第五输出值;S6,多向冗余跳过模块将第一输入值与典型输入值比对,若第一输入值与典型输入值的差值低于预设阈值,且第一输入操作与典型输入值对应的输入操作一致,则将典型输出值作为计算单元第六输出值,此时计算单元不工作,第一输入值与典型输入值有时并不完全一样,例如典型输入值及执行的操作为12345+12345,第一输入值及执行的操作为12344+12344,两者相似计算的结果也相似,可以调用典型输出值即12345+12345的计算结果,作为计算单元第六输出值,阈值的设定方式可以为:第一输入值与典型输入值的差值小于典型输入值的1%;重复执行步骤S2~步骤S6直至第一输入数据计算完成。如果以上皆不符合,计算单元则按常规方式计算并输出。通过以搜索匹配的方式代替常规的计算方式,降低了计算单元的计算资源及功耗的功耗,提高计算单元的工作效率。
在一种可能的实现方式中,所述典型数据存储单元具有第一比特位宽,所述第一比特位宽为芯片最大数据位宽三倍加上第一计数位宽,所述第一计数位宽用于存放第一输入数据出现频次。
在上述实现过程中,最大数据位宽由芯片本身计算性能决定,第一计数位宽统计当前存储各数据出现的频次,之所以需要芯片最大数据位宽的三倍,是由于其需要存储两个输入值和一个输出值,典型数据存储单元同步存储两个进行操作的输入值,提高典型数据存储单元的存储效率。
在一种可能的实现过程中,所述第一比特位宽包括第一输入数据位宽、第二输入数据位宽和输出数据位宽,所述输出数据位宽高于或等于所述第一输入数据位宽和所述第二输入数据位宽。
在上述实现过程中,第一比特位宽包括第一输入数据位宽、第二输入数据位宽和输出数据位宽,输出数据位宽高于或等于第一输入数据位宽和第二输入数据位宽。之所以输出数据位宽高于或等于输入位宽,是为了确保降低计算过程中的误差损耗,顾保留了更多的位宽信息,以确保最终的计算精度。
在一种可能的实现过程中,当所述典型数据存储单元存储数据达到上限时,所述典型数据存储单元剔除存储次数较少的第一输入数据。
在上述实现过程中,当典型数据存储单元存储数据达到上限时,可以主动剔除存储次数较少的第一输入数据,以留出存储空间存储频次更高的第一输入数据。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种人工智能芯片检测计算方法的的流程图;
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
请参考图1,本申请实施例提供了一种人工智能芯片检测计算方法,包括:S1,在计算阵列内设置多向冗余跳过模块和多个计算单元线,多向冗余跳过模块设置在计算单元线顶层,多向冗余跳过模块包括典型数据存储单元和计数模块,计算单元线包含多个计算单元,典型数据存储单元内预存储有一个或多个典型输入值、典型输入值对应的输入操作及典型输出值;S2,将第一输入数据输入到多向冗余跳过模块,第一输入数据包含一个或多个第一输入值,对应的第一输入操作及第一输出值,计数模块统计第一输入值及对应的第一输入操作和第一输出值出现频次,并保留高出现频次的第一输入值及对应的第一输入操作和第一输出值;S3,第一输入值包括第一参数和第二参数,当第一输入操作为乘法运算时,若第一参数为零或第二参数为零,则将第一输出值设为零并作为计算单元第一输出值;当第一输入操作为加法运算时,若第一参数和第二参数皆为零,则将第一输出值设为零作为计算单元第二输出值;当第一输入操作为平方运算时,若第一输入值为零,则将第一输出值设为零作为计算单元第三输出值;S4,多向冗余跳过模块将第一输入值及对应的第一输入操作与典型输入值及对应的输入操作比对,若比对一致则将典型输出值作为计算单元第四输出值;S5,多向冗余跳过模块将第一输入值及对应的第一输入操作与典型输入值及对应的输入操作比对,当第一输入操作为乘法运算时,若第一输入值为典型输入值的第一倍数,则将第二典型输出值调整为典型输出值的第一倍数,第二典型输出值作为计算单元第五输出值;S6,多向冗余跳过模块将第一输入值与典型输入值比对,若第一输入值与典型输入值的差值低于预设阈值,且第一输入操作与典型输入值对应的输入操作一致,则将典型输出值作为计算单元第六输出值;S7,重复执行步骤S2~步骤S6直至第一输入数据计算完成。
在上述实现过程中,在计算阵列内设置多向冗余跳过模块和多个计算单元线,多向冗余跳过模块设置在计算单元线顶层,多向冗余跳过模块包括典型数据存储单元和计数模块,计算单元线包含多个计算单元,典型数据存储单元内预存储有一个或多个典型输入值、典型输入值对应的输入操作及典型输出值,典型输出值是在典型输入值执行对应的输入操作后得到的,输入操作可以为乘法运算、加法运算、除法运算、平方运算等。将第一输入数据输入到多向冗余跳过模块,第一输入数据包含一个或多个第一输入值,对应的第一输入操作及第一输出值,计数模块统计第一输入值及对应的第一输入操作和第一输出值出现频次,计数模块内预设有频次阈值,频次阈值的设立方式为:某数据出现频次占总数据出现频次的百分比,以保留高于频次阈值的第一输入值及对应的第一输入操作和第一输出值,出现频次较高的第一输入数据可以作为典型数据存储到典型数据存储单元。第一输入值包括第一参数和第二参数,第一参数和第二参数执行第一输入操作得到第一输出值,当第一输入操作为乘法运算时,若第一参数为零或第二参数为零,则将第一输出值设为零并作为计算单元第一输出值,此时计算单元不工作;当第一输入操作为加法运算时,若第一参数和第二参数皆为零,则将第一输出值设为零作为计算单元第二输出值,此时计算单元不工作;当第一输入操作为平方运算时,若第一输入值为零,则将第一输出值设为零作为计算单元第三输出值,此时计算单元不工作,多向冗余跳过模块将第一输入值及对应的第一输入操作与典型输入值及对应的输入操作比对,若比对一致证明第一输出值和典型输出值相同,则将典型输出值作为计算单元第四输出值,此时计算单元不工作;S5,多向冗余跳过模块将第一输入值及对应的第一输入操作与典型输入值及对应的输入操作比对,当第一输入操作为乘法运算时,若第一输入值为典型输入值的第一倍数,则将第二典型输出值调整为典型输出值的第一倍数,第二典型输出值作为计算单元第五输出值,此时计算单元不工作,例如第一输入值为典型输入值的两倍,那么第一输出值也应为典型输出值的两倍,只需将典型输出值扩大为原来的两倍作为计算单元第五输出值;S6,多向冗余跳过模块将第一输入值与典型输入值比对,若第一输入值与典型输入值的差值低于预设阈值,且第一输入操作与典型输入值对应的输入操作一致,则将典型输出值作为计算单元第六输出值,此时计算单元不工作,第一输入值与典型输入值有时并不完全一样,例如典型输入值及执行的操作为12345+12345,第一输入值及执行的操作为12344+12344,两者相似计算的结果也相似,可以调用典型输出值即12345+12345的计算结果,作为计算单元第六输出值,阈值的设定方式可以为:第一输入值与典型输入值的差值小于典型输入值的1%;重复执行步骤S2~步骤S6直至第一输入数据计算完成。通过以搜索匹配的方式代替常规的计算方式,降低了计算单元的计算资源及功耗的功耗,提高计算单元的工作效率。
在一种可能的实现方式中,典型数据存储单元具有第一比特位宽,第一比特位宽为芯片最大数据位宽三倍加上第一计数位宽,第一计数位宽用于存放第一输入数据出现频次。
在上述实现过程中,最大数据位宽由芯片本身计算性能决定,第一计数位宽统计当前存储各数据出现的频次,之所以需要芯片最大数据位宽的三倍,是由于其需要存储两个输入值和一个输出值,典型数据存储单元同步存储两个进行操作的输入值,提高典型数据存储单元的存储效率。
在一种可能的实现过程中,第一比特位宽包括第一输入数据位宽、第二输入数据位宽和输出数据位宽,输出数据位宽高于或等于第一输入数据位宽和第二输入数据位宽。
在上述实现过程中,第一比特位宽包括第一输入数据位宽、第二输入数据位宽和输出数据位宽,输出数据位宽高于或等于第一输入数据位宽和第二输入数据位宽。之所以输出数据位宽高于或等于输入位宽,是为了确保降低计算过程中的误差损耗,顾保留了更多的位宽信息,以确保最终的计算精度。
在一种可能的实现过程中,当典型数据存储单元存储数据达到上限时,典型数据存储单元剔除存储次数较少的第一输入数据。
在上述实现过程中,当典型数据存储单元存储数据达到上限时,可以主动剔除存储次数较少的第一输入数据,以留出存储空间存储频次更高的第一输入数据。
在一种可能的设计中,其特征在于,该芯片的计算流程如下:S1常规计算:人工神经网络处理器需要对不同层的数据依次进行计算,每一层网络的卷积计算,需要依次进行。S2存储和分析当前层数据:当当前层数据进行计算之前,典型输入值存储单元对输入数据进行存储和记录,并在计数区域记录出现数据的频次,保留最高频次出现的数据,并一并存储典型输入数据的计算输出。S3全零探测和跳过:当前层数据送入计算阵列并进行相应的分析,首先探测是否出现大段全零数据,全零输入的乘法或加法操作输出均为零,一旦探测发现,也可以直接将输出进行读出零即可。S4典型值数据探测和跳过:控制器会将送入计算单元的数据与典型值存储单元中的典型值进行比对,一旦发现新送入的数据与之前计算的数据一致,则跳过计算阶段,直接从所在典型值存储单元将相对应的输出值进行读取。S5倍数关系探测和近似值探测及校准:例如当前输入为已存储于典型输入值存储单元内的输入的第一倍数,则只需要将输出取出并调整为原先输出的第一倍数即可完成原有计算。当输入数据与已存储于典型输入值存储单元内的输入存在较小的误差时,此时在精度允许的情况下,即当前处理器支持允许误差模式下,则直接调用原有存储数据的计算结果作为当前数据的计算结果,以完成原有计算,并向上层告知当前计算结果为近似计算所得。S6反复迭代,完成计算:将上述状态不断循环,最终实现计算单元阵列内对输入数据的检测和比对,以实现用匹配代替常规计算的冗余跳过机制,以进一步提升人工神经网络处理器计算速度,并降低整体计算资源和功耗消耗。所有的网络计算完成之后,向上层控制模块发出计算完成的指示,并将典型输入值存储单元的数据进行清零。在一种可能的设计中,其特征在于,所述计算任务包括训练任务、推理任务和训练推理同步任务的至少一项。
在一种可能的设计中,其特征在于,所述计算任务类型及配置调整由芯片内部自发进行,无需额外外部控制信号。
在一种可能的设计中,所提出的人工智能芯片,所述多向冗余跳过单元可以在计算任务进行的同时,根根据计算任务和计算配置需要对除去上层模块的计算优化以外,进入到数据计算单元线内部的数据通过搜索比对的方式来实现一定程度的计算替代。
在一种可能的设计中,所提出的人工智能芯片,执行所述计算任务类型包括训练任务、推理任务和训练推理同步进行任务。
在一种可能的设计中,所提出的人工智能芯片,根据不同的任务和配置需要,在一种可能的设计中,所提出的人工智能芯片的多向冗余跳过单元,根据不同的任务和配置需要,多向冗余跳过机制主要的目的是跳过全零操作、重复操作、可变换重复操作以及近似操作。

Claims (4)

1.一种人工智能芯片检测计算方法,其特征在于,包括:
S1,在计算阵列内设置多向冗余跳过模块和多个计算单元线,所述多向冗余跳过模块设置在所述计算单元线顶层,所述多向冗余跳过模块包括典型数据存储单元和计数模块,所述计算单元线包含多个计算单元,所述典型数据存储单元内预存储有一个或多个典型输入值、典型输入值对应的输入操作及典型输出值;
S2,将第一输入数据输入到所述多向冗余跳过模块,所述第一输入数据包含一个或多个第一输入值,对应的第一输入操作及第一输出值,所述计数模块统计第一输入值及对应的第一输入操作和第一输出值出现频次,并保留高出现频次的第一输入值及对应的第一输入操作和第一输出值;
S3,第一输入值包括第一参数和第二参数,当第一输入操作为乘法运算时,若第一参数为零或第二参数为零,则将第一输出值设为零并作为所述计算单元第一输出值;当第一输入操作为加法运算时,若第一参数和第二参数皆为零,则将第一输出值设为零作为所述计算单元第二输出值;当第一输入操作为平方运算时,若所述第一输入值为零,则将第一输出值设为零作为所述计算单元第三输出值;
S4,所述多向冗余跳过模块将第一输入值及对应的第一输入操作与典型输入值及对应的输入操作比对,若比对一致则将典型输出值作为所述计算单元第四输出值;
S5,所述多向冗余跳过模块将第一输入值及对应的第一输入操作与典型输入值及对应的输入操作比对,当第一输入操作为乘法运算时,若第一输入值为典型输入值的第一倍数,则将第二典型输出值调整为典型输出值的第一倍数,所述第二典型输出值作为所述计算单元第五输出值;
S6,所述多向冗余跳过模块将第一输入值与典型输入值比对,若第一输入值与典型输入值的差值低于预设阈值,且第一输入操作与典型输入值对应的输入操作一致,则将典型输出值作为所述计算单元第六输出值;
S7,重复执行步骤S2~步骤S6直至第一输入数据计算完成。
2.根据权利要求1所述的人工智能芯片检测计算方法,其特征在于,所述典型数据存储单元具有第一比特位宽,所述第一比特位宽为芯片最大数据位宽三倍加上第一计数位宽,所述第一计数位宽用于存放第一输入数据出现频次。
3.根据权利要求2所述的人工智能芯片检测计算方法,其特征在于,所述第一比特位宽包括第一输入数据位宽、第二输入数据位宽和输出数据位宽,所述输出数据位宽高于或等于所述第一输入数据位宽和所述第二输入数据位宽。
4.根据权利要求2所述的人工智能芯片检测计算方法,其特征在于,当所述典型数据存储单元存储数据达到上限时,所述典型数据存储单元剔除存储次数较少的第一输入数据。
CN202311061722.3A 2023-08-23 2023-08-23 人工智能芯片检测计算方法 Pending CN116795326A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311061722.3A CN116795326A (zh) 2023-08-23 2023-08-23 人工智能芯片检测计算方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311061722.3A CN116795326A (zh) 2023-08-23 2023-08-23 人工智能芯片检测计算方法

Publications (1)

Publication Number Publication Date
CN116795326A true CN116795326A (zh) 2023-09-22

Family

ID=88046246

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311061722.3A Pending CN116795326A (zh) 2023-08-23 2023-08-23 人工智能芯片检测计算方法

Country Status (1)

Country Link
CN (1) CN116795326A (zh)

Similar Documents

Publication Publication Date Title
CN108701250B (zh) 数据定点化方法和装置
JP2019148896A (ja) 演算処理装置、情報処理装置、情報処理方法、およびプログラム
WO2020108371A1 (en) Partitioning of deep learning inference with dynamic offloading
JP2020077143A (ja) 学習プログラム、学習方法、情報処理装置
US20220076123A1 (en) Neural network optimization method, electronic device and processor
US11928599B2 (en) Method and device for model compression of neural network
CN112540849B (zh) 一种分布式计算作业的参数配置优化方法及系统
CN111831355B (zh) 权重精度配置方法、装置、设备及存储介质
US20200250529A1 (en) Arithmetic device
CN111831359B (zh) 权重精度配置方法、装置、设备及存储介质
JP2019133628A (ja) 情報処理方法及び情報処理システム
CN109325590A (zh) 用于实现计算精度可变的神经网络处理器的装置
CN111626497B (zh) 人流量预测方法、装置、设备和存储介质
KR102460485B1 (ko) 정책 벡터 기반 인공신경망 탐색 장치 및 방법
CN111831358A (zh) 权重精度配置方法、装置、设备及存储介质
CN114461538A (zh) 一种基于实时内容预测与历史资源占用的云计算应用内存管理方法
US20210097397A1 (en) Information processing apparatus and information processing method
CN116795326A (zh) 人工智能芯片检测计算方法
US20200302278A1 (en) Method and device for determining a global memory size of a global memory size for a neural network
WO2023071766A1 (zh) 模型压缩方法、模型压缩系统、服务器及存储介质
CN115293335A (zh) 基于隐式通用矩阵乘的图像识别方法及装置
WO2022003855A1 (ja) データ処理装置およびデータ処理方法
CN110415162B (zh) 大数据中面向异构融合处理器的自适应图划分方法
KR102657904B1 (ko) 뉴럴 네트워크에서의 다중 레벨 단계적 양자화 방법 및 장치
CN115204359A (zh) 基于Winograd卷积的并行深度卷积神经网络优化方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination