CN107729998B - 一种用于神经网络处理器的方法 - Google Patents

一种用于神经网络处理器的方法 Download PDF

Info

Publication number
CN107729998B
CN107729998B CN201711046134.7A CN201711046134A CN107729998B CN 107729998 B CN107729998 B CN 107729998B CN 201711046134 A CN201711046134 A CN 201711046134A CN 107729998 B CN107729998 B CN 107729998B
Authority
CN
China
Prior art keywords
neural network
network processor
circuit
error rate
weight 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.)
Active
Application number
CN201711046134.7A
Other languages
English (en)
Other versions
CN107729998A (zh
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.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN201711046134.7A priority Critical patent/CN107729998B/zh
Publication of CN107729998A publication Critical patent/CN107729998A/zh
Application granted granted Critical
Publication of CN107729998B publication Critical patent/CN107729998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

本发明提供一种用于神经网络处理器的方法,包括:1)确定所述神经网络处理器的电路构造;2)增加所述电路构造中至少一条路径上的至少一个器件的延时;3)通过调整用于所述神经网络处理器的工作频率并评估在各个工作频率下的工作状况,来确定使得增加了延时后的所述电路构造的错误率满足设计需要时的最大的工作频率,以及对应的神经网络权重值。

Description

一种用于神经网络处理器的方法
技术领域
本发明涉及对神经网络处理器的设计及优化。
背景技术
深度学习是机器学习领域的重要分支,随着深度神经网络技术的发展,一些用于深度神经网络的专用处理器也应运而生。研究人员在神经网络的硬件加速领域进行了探索,神经网络处理器正在向与异构多核平台发展,例如GPU、FPGA和ASIC等。伴随神经网络复杂度的不断提高,神经网络技术在实际应用过程中存在占用资源多、运算速度慢、能量消耗大等问题,尤其在嵌入式设备中终端设备通常需要较长的续航时间,因此,能耗对与神经网络处理器的功能完整性起着至关重要的作用。
另一方面,近阈值(Near-Threshold)集成电路设计是一种针对电路设计的方法,其原理在于首先确定基于工艺的器件电压阈值,通过对电路设计进行调整使得所获得的电路能够在接近晶体管的阈值电压的水平下进行工作。这样的近阈值集成电路设计方法被认为是能够大幅度地降低能耗、将计算能效提升一个数量级的设计技术。
然而,直接将电压降低至近阈值水平往往会导致电路无法正常工作或者会大幅地增加系统发生故障的概率,急需一种将近阈值集成电路设计方法与神经网络处理器结合在一起并且能够有效地改善处理器电路性能的用于神经网络处理器的工业设计方法。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供1.一种用于神经网络处理器的方法,包括:
1)确定所述神经网络处理器的电路构造;
2)增加所述电路构造中至少一条路径上的至少一个器件的延时;
3)通过调整用于所述神经网络处理器的工作频率并评估在各个工作频率下的工作状况,来确定使得增加了延时后的所述电路构造的错误率满足设计需要时的最大的工作频率,以及对应的神经网络权重值。
优选地,根据所述方法,其中步骤3)包括:
3-1)确定用于所述神经网络处理器的初始工作频率;
3-2)将测试用的数据集作为经过步骤2)处理后的所述神经网络处理器的输入,在当前的工作频率下测试当所述神经网络处理器的错误率收敛时的错误率;
3-3)若所述收敛时的错误率小于满足设计需要的阈值,则调整所述工作频率并重复上述步骤3-2),若所述收敛时的错误率大于或等于满足设计需要的阈值,则输出当前神经网络处理器的工作频率以及神经网络权重值。
优选地,根据所述方法,其中步骤3-2)包括:
3-2-1)将测试用的数据集作为经过步骤2)处理后的所述神经网络处理器的输入,所述神经网络处理器采用前一次迭代中计算获得的神经网络权重值,根据输入的测试用的数据集进行正向传播的计算,其中,对于第一次迭代,采用初始的神经网络权重值;
3-2-2)将正向传播的计算的结果与期望的结果进行比对,获得错误率;
3-2-3)在未达到设定的第二最大迭代次数时,若所述错误率收敛,则输出所述错误率和当前的神经网络权重值,否则执行反向传播的计算以更新神经网络权重值,并重复步骤3-2-1)至步骤3-2-3);在达到设定的第二最大迭代次数时,输出所述错误率和当前的神经网络权重值。
优选地,根据所述方法,其中步骤2)包括:
2-1)获得所述电路构造中多条路径的延时信息;
2-2)根据所述延时信息,计算所述多条路径中的每一个的建立时间的裕量;
2-3)选择建立时间的裕量最少的至少一条路径上的至少一个器件,增加所述器件的延时。
优选地,根据所述方法,其中步骤2)包括:
获得所述电路构造中的一条或多条关键路径的延时信息;
增加所述一条或多条关键路径上的至少一个器件的延时。
优选地,根据所述方法,其中所述神经网络处理器的电路构造中包含具有纠错功能的电路。
优选地,根据所述方法,其中所述具有纠错功能的电路为ECC电路,所述ECC电路设置在与所述神经网络处理器的计算单元连接的存储单元中,用于根据来自所述计算单元的数据计算获得对应的ECC编码,以将数据与对应的ECC编码存入所述存储单元的存储器中,以及用于根据从所述存储单元的存储器中读出的ECC编码对对应的数据进行纠错。
优选地,根据所述方法,其中步骤1)包括:
获得工业上已设计完成的神经网络处理器的电路构造,或者通过硬件描述语言编写以获得神经网络处理器的电路构造。
优选地,根据所述方法,其中通过对所述电路构造进行静态时序分析来获得所述电路构造中的路径的延时信息。
以及,一种神经网络处理器的设计系统,包括:
存储装置和处理器;
其中,所述存储装置用于存储计算机程序,所述计算机程序在被所述处理器执行时用于实现如前述任意一项所述的方法。
与现有技术相比,本发明的优点在于:提供了一种针对能够在低电压、甚至在近阈值电压下正常工作、具有较高电路准确性的神经网络处理器的设计方法,其能够确定满足设计所需的最低标准的错误率时的最大工作频率以及对应的神经网络权重值。使得所设计的神经网络处理器在执行相同计算量的任务时占用更少的资源、消耗更少的能量,对于嵌入到终端设备中的神经网络处理器而言可以维持更长的续航时间。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1是根据本发明的一个实施例的针对采用低电压或近阈值电压的深度神经网络处理器的设计方法;
图2是根据本发明的一个实施例的神经网络处理器的存储单元的结构示意图;
图3是根据本发明的一个实施例将来自神经网络处理器计算单元的计算结果的数据存入到存储单元的存储器中的过程;
图4是根据本发明的一个实施例从神经网络处理器存储单元的存储器中读出数据的过程。
具体实施方式
下面结合附图和具体实施方式对本发明作详细说明。
在本领域中存在普遍的共识,采用近阈值集成电路设计可以在低电压下实现电路功能,但是,降低电路电压会影响电路元件的稳定性从而影响电路的整体性能。换句话说,降低电路电压时,为了保证系统正常运作,电路所支持的工作频率会大幅降低,致使电路的处理速度大幅降低。
发明人认为近阈值器件和电路设计,可以极大程度地降低同工艺尺寸芯片的功耗。在传统的先进集成电路工艺中,器件边缘效应会导致阈值电压的漂移,高温工作环境不但影响阈值电压、还会导致小尺寸MOS器件性能参数的快速退化,从而影响电路的可靠性及稳定性。当电路工作在近阈值电压状态下时,电路的可靠性将会大幅降低,因此近阈值器件往往被用在频率以及运算负载比较低的应用中。相比之下,对于神经网络的电路而言,由于神经网络算法本身有着固有的强容错性的特点,可以弥补近阈值器件和电路可靠性差的弊端。
发明人通过研究发现,神经网络中存在多个层级,基于神经网络的处理算法,逐层地对数据进行加工、学习并获得最终的处理结果,通过每个层级所获得的中间结果对于系统的错误率存在一定的容忍度。即便是在某一中间层所获得的中间结果并没有达到较高的准确率,也不会对最终的处理结果造成较大的影响。因此,发明人认为若是将近阈值集成电路设计应用到针对深度神经网络处理器的设计中,在面对同样的系统的准确率的需求下,能够支持比设计普通电路更高的频率。
并且,发明人认为,在调低电压后对硬件元件的影响可能会导致器件故障,其反应在处理器的工作状态上往往表现为时序故障,即系统以固定频率在某一时刻开始对信号采样,然而信号并没有在期望的时刻到达(例如较早到达或较晚到达),这使得采样开始的时刻没有与信号对齐,周期性实施的采样操作并非在期望的时刻实施,因而无法采样获得期望的幅值。这可以理解为系统采样获得的信号与期望获得信号之间存在相位差(phasedifference)以及白噪声(white noise),这样的偏差中的一部分可以被认为是由于硬件器件没能正常工作而引入的。此外,在提供给电路的工作电压相对较低甚至接近阈值的情况下,这样的电压无法支持电路在原本的频率下进行工作,从而降低了电路的工作效率。
对于一个通过设计已确定其所采用电路构造的神经网络处理器,在其不改变电路构造的情况下,存在一套能够在理想电压下使得电路准确性最高的神经网络权重值,所述神经网络权重值可以通过电路设计而获得。然而如前文所述,当所述神经网络处理器在近阈值电压下工作时,会影响电路中部件的性能,此时若仍采用原有的神经网络权重值往往难以获得最好的电路准确性,从而影响神经网络处理器的处理结果。
对此,本发明提出了一种深度神经网络处理器的设计方法,其可以针对神经网络处理器的电路构造,确定在低电压、甚至是在近阈值电压下优选的神经网络权重值。
根据本发明的一个实施例,所述深度神经网络处理器的设计方法包括:
步骤1.确定所述深度神经网络处理器的电路构造。这里的深度神经网络处理器的电路可以是工业上已设计完成的处理器,也可以是通过诸如VHDL、AHDL、Verilog等硬件描述语言编写获得的电路布局布线。优选地,将所述深度神经网络处理器的电路构造转换为逻辑门级的网表,以用于在随后的步骤中分析电路构造中相应路径的延时信息。
步骤2.采用辅助设计工具通过计算机仿真对所获得神经网络处理器的电路构造进行静态时序分析,获得所述电路构造中每条路径的延时信息,也可以根据需要仅对所述电路构造中关键路径仿真获得延时信息。这里可以采用静态时序分析工具进行静态时序分析,例如采用诸如Synopsys PrimeTime等工具获得电路中各条路径的周期、信号提前或延后的时长等。
步骤3.根据通过步骤2所获得的所述电路构造的延时信息,计算获得电路构造中对应路径的建立时间的容忍性(即裕量),利用所获得的裕量为所述电路构造注入时序故障信息。
如前文中所介绍地,在设计需要在低电压、甚至是近阈值电压下能够工作的电路时,可以计算电路中路径的建立时间的裕量,从而仿真电路的工作环境恶化的情况。
其中,所述建立时间指的是,在触发器的时钟信号上升沿(对于上升沿触发的触发器而言,对于下降沿触发器则为下降沿)到来以前,触发器输入数据端口稳定不变的时间;如果电路中器件的延迟增加则会导致建立时间不足,从而产生数据捕获错误并产生建立时间违例。在此步骤3中可以增加路径中器件的延迟,从而仿真电路工作环境发生恶化的情况。
根据本发明的一个具体的实施例,采用以下方式计算路径的建立时间的裕量:
tclk+tskew+tjitter≥tc-q+tlogic+tsu
其中,tclk为时钟周期,tskew为时钟偏差,tjitter是时钟抖动,tc-q是寄存器传播延时,tlogic是传输延时,tsu是寄存器建立时间。建立时间的裕量可以根据上述不等式计算得出。
根据本发明的一个具体的实施例,可以通过以下方式对设计的近阈值电压供电神经网络处理器的电路注入时序故障信息,包括:
步骤3.1.从神经网络处理器的完整电路构造和/或神经网络处理器的计算单元的电路构造中选取建立时间的裕量最少的n条路径,从所述n条路径上的全部多个器件中随机选取a个器件,将所述a个器件中的每一个的延时增加p%;其中,n和a为大于等于1的正整数。在一个实施例中,可以不按百分比来增加延时,而是将延时增加一个绝对量。并且,在一个实施例中,针对所述a个器件中的每一个所增加的延时量不必完全一致。
在上述实施例中,通过选取参数n、a、p,可以调整对于电路构造恶化程度的约束,其中所选择的参数n、a、p的值越大,则对应于更加严格的约束。可以理解,对于电路构造的恶化程度需要与电路构造的容忍度匹配,即在最极端状态下即便恶化到电路构造所能容忍的极限(例如不存在裕量)也可以保证电路构造能够正常运行。本领域技术人员可以根据设计以及使用的实际需要通过选择恶化所采用的参数来选择对电路构造的恶化程度。
并且,可以理解,在本发明的一个实施例中还可以仅选择一条或多条关键路径执行对电路构造的恶化,在该实施例中,在上述步骤2中,可以仅对所述一条或多条关键路径仿真获得延时信息,并且在步骤3中对所述一条或多条关键路径中的一个或多个器件进行恶化处理。
通过上述步骤3,本发明利用对电路进行恶化处理来仿真低电压下电路的工作状态。在随后的步骤中,本发明将通过测试来确定在恶化后的环境中,在可以容忍的错误率下,电路可以达到的最高频率,以及确定针对该工作频率而设置的深度神经网络处理器的神经网络权重值。
步骤4.针对神经网络处理器选择初始工作频率。这里可以通过设置时钟频率来改变所述工作频率。
步骤5.将当前的工作频率上调一个设定的大小。这里可以根据需要调整所述上调的幅度,较大的上调幅度对应于较小的计算量以及相对较低的精度,较小的上调幅度对应于较大的计算量以及相对较高的精度。
步骤6.将测试用的数据集作为注入了时序故障信息的所述神经网络处理器的电路构造的输入,在通过步骤5所确定的所述工作频率下评估电路构造的工作状况,并获得神经网络处理器的神经网络权重值。在神经网络处理器内部,对所输入的数据集进行一系列运算,并最终输出相应的结果,这里通过统计所输出的结果的准确性来评估电路构造的工作状况。其中,所述数据集指的是,用于训练和验证神经网络处理器的电路的数据资料的集合。
在本发明中可以采用本领域常用的各种数据集,例如用于物体分类的Imagenet数据集,其涵盖2万多个类别的1400多万幅图片。也可以根据需要,采用其他类型的数据集作为神经网络处理器的输入以检测输出结果的准确性。
本发明步骤6的测试过程可以被理解为是本领域中根据神经网络处理器所输入的数据集进行正向传播,计算在当前神经网络权重值下的错误率,在错误率未达到收敛时(例如本次迭代与前一次迭代的错误率之间的差值大于设定的阈值)通过执行误差反向传播算法计算获得更新后的神经网络权重值,以用于下一次迭代中基于更新后的神经网络权重值重新计算输出结果的错误率。在操作时,为了避免多次迭代仍无法实现收敛、以及两次迭代的错误率之间的差值一直大于设定的阈值而无法跳出迭代的情况,可以设置相应的最大迭代次数,以控制计算量。在测试过程中对错误率的统计可以采用平均值,也可以采用分类结果的均方根误差。
通过所述测试过程中的多次迭代,可以计算获得在当前频率下所能达到的最小错误率,以及此时所述神经网络处理器的神经网络权重值。这样的过程包括:在当前频率下,神经网络处理器采用前一次迭代中通过计算获得的神经网络权重值(对于第一次迭代而言,采用神经网络设计之初所确定的神经网络权重值),对输入的测试用的数据集进行正向传播的各种计算;将计算的结果与期望的结果进行比对,获得一个错误率;判断是否达到了结束条件,即判断是否达到设定的用于调整神经网络权重值的最大迭代次数,以及判断在未达到设定的用于调整神经网络权重值的最大迭代次数时所述错误率相较于前一次迭代所获得的错误率之间的差异是否小于设定的阈值;若达到所述用于调整神经网络权重值的最大迭代次数、或者在未达到所述最大迭代次数的情况下述差异小于设定的阈值则满足结束条件,并输出所获得的错误率以及当前的神经网络权重值以继续执行随后的步骤,若不满足结束条件,则执行误差反向传播算法,以更新神经网络权重值,并开始下一次迭代以基于更新后的神经网络权重值重新计算输出结果的错误率。
优选地,采用下式计算均方根误差以作为所述错误率:
Figure BDA0001452298290000081
其中,vi表示电路实际测试时的输出结果,pi表示无故障注入时,电路的输出结果,n表示输出的数量。
步骤7.若通过步骤6所获得的错误率小于设定的阈值,则输出当前的工作频率以及神经网络权重值,否则返回上述步骤5,调整神经网络处理器的工作频率,并在该工作频率下重新执行步骤6。
在此步骤中,可以测试在当前工作频率下收敛达到的错误率是否能够达到设计所需的标准。通过这样的方式,可以找出在经过恶化后的环境下电路可以采用至多多少的工作频率,以及对应的神经网络权重值。
可以理解,在本发明的一个实施例中还可以首先针对神经网络处理器选择一个足够大(例如远大于设计需要)的初始工作频率,并在每次迭代中采用递减工作频率的方式进行计算。如此,在上述步骤7中,若通过步骤6所获得的错误率大于设定的阈值并且没有达到设定的用于调整工作频率的最大迭代次数,则返回上述步骤5,若通过步骤6所获得的错误率小于或等于设定的阈值或者达到了所述用于调整工作频率的最大迭代次数,则输出当前深度神经网络处理器的工作频率以及神经网络权重值(也即,最后一次执行步骤6所获得的神经网络权重值)。
在本发明的一个实施例中,可以在上述步骤6和步骤7中的任一个或两者中不限定迭代次数。
如前文中所述,神经网络对于系统的错误率存在一定的容忍度,因此适合于采用低电压甚至近阈值电压的设计。可以理解,若是进一步地增加神经网络处理器对存储部件错误率的容忍度,则可以使得根据本发明的上述设计方法获得更好的效果。发明人认为,在设计深度神经网络处理器的电路构造时可以增加用于执行纠错的电路构造,并对这样的电路执行如前文中的所述设计方法。优选地,可以采用ECC电路。
图2示出了根据本发明的一个实施例的神经网络处理器的存储单元。所述存储单元与神经网络处理器的计算单元(未示出)连接,在计算单元执行计算获得了计算结果之后,由所述存储单元对计算结果进行存储。参考图2,存储单元中包括存储器101、缓存102、ECC模块103。其中,存储器101用于存储数据内容;ECC模块103用于向输入存储单元的计算结果的数据中增加ECC编码以存入存储器101中,以及针对从存储器101中读出的内容根据其中的ECC编码对数据进行纠错操作;缓存102用于对纠错的中间结果进行缓存。
可以理解,ECC编码的工作原理是,根据数据内容通过相应的算法计算出相应的ECC编码,通常编码的长度远小于对应的数据内容的长度,将对应的数据以及对应的ECC编码一并存储。当需要读取数据内容时,将对应的数据以及对应的ECC编码一并读出,根据ECC编码的部分进行计算从而确定数据内容是否存在错误和/或确定数据内容中的哪些位置存在错误,以实现纠错。
图3示出了将计算结果的数据存入到存储器101中的过程。可以看到,对于来自计算单元的计算结果的数据,首先需要经过ECC模块103内部的编码器进行处理,以在数据中增加ECC编码的部分。数据被划分成了许多部分,针对每一部分的数据内容执行计算以获得与该部分的数据内容对于的ECC编码。数据内容与与之对应的ECC编码被一并存储到存储器101中,优选地将对应的数据内容和对应的ECC编码存储在相邻的位置处。图4示出了从存储器101中读出数据的过程。从存储器101中读出的对应的数据内容和对应的ECC编码被输入到ECC模块103内部的同一个解码器中,解码器根据ECC编码进行相应的计算,根据计算的结果确定数据内容中的哪一位或哪几位出现了错误。通过这样的方式,可以对出现错误的位数进行纠错,以达到提升神经网络处理器的容错性的效果。
通过上述实施例可以看出,本发明通过对深度神经网络处理器的电路构造进行延时上的恶化处理以模拟由于低电压或者近阈值电压而对电路器件造成的影响,并且通过确定在经过恶化处理后使得错误率最小的优选工作频率以及神经网络权重值,来使得深度神经网络处理器能够应对在低电压或者近阈值电压下工作而带来的负面影响,并且高效地进行工作。通过本发明设计获得的神经网络处理器能够在低电压、甚至在近阈值电压下正常工作,使得所设计的神经网络处理器在执行相同计算量的任务时占用更少的资源、消耗更少的能量,对于嵌入到终端设备中的神经网络处理器而言可以维持更长的续航时间。
需要说明的是,上述实施例中介绍的各个步骤并非都是必须的,本领域技术人员可以根据实际需要进行适当的取舍、替换、修改等。
最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管上文参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

Claims (10)

1.一种用于神经网络处理器的方法,包括:
1)确定所述神经网络处理器的电路构造;
2)增加所述电路构造中至少一条路径上的至少一个器件的延时;
3)通过调整用于所述神经网络处理器的工作频率并评估在各个工作频率下的工作状况,来确定使得增加了延时后的所述电路构造的错误率满足设计需要时的最大的工作频率,以及对应的神经网络权重值,包括:
3-1)确定用于所述神经网络处理器的初始工作频率;
3-2)将测试用的数据集作为经过步骤2)处理后的所述神经网络处理器的输入,在当前的工作频率下测试当所述神经网络处理器的错误率收敛时的错误率;
3-3)若所述收敛时的错误率小于满足设计需要的阈值,则调整所述工作频率并重复上述步骤3-2),若所述收敛时的错误率大于或等于满足设计需要的阈值,则输出当前神经网络处理器的工作频率以及神经网络权重值。
2.根据权利要求1所述的方法,其中步骤3-2)包括:
3-2-1)将测试用的数据集作为经过步骤2)处理后的所述神经网络处理器的输入,所述神经网络处理器采用前一次迭代中计算获得的神经网络权重值,根据输入的测试用的数据集进行正向传播的计算,其中,对于第一次迭代,采用初始的神经网络权重值;
3-2-2)将正向传播的计算的结果与期望的结果进行比对,获得错误率;
3-2-3)在未达到设定的第二最大迭代次数时,若所述错误率收敛,则输出所述错误率和当前的神经网络权重值,否则执行反向传播的计算以更新神经网络权重值,并重复步骤3-2-1)至步骤3-2-3);在达到设定的第二最大迭代次数时,输出所述错误率和当前的神经网络权重值。
3.根据权利要求1-2中任意一项所述的方法,其中步骤2)包括:
2-1)获得所述电路构造中多条路径的延时信息;
2-2)根据所述延时信息,计算所述多条路径中的每一个的建立时间的裕量;
2-3)选择建立时间的裕量最少的至少一条路径上的至少一个器件,增加所述器件的延时。
4.根据权利要求1-2中任意一项所述的方法,其中步骤2)包括:
获得所述电路构造中的一条或多条关键路径的延时信息;
增加所述一条或多条关键路径上的至少一个器件的延时。
5.根据权利要求1-2中任意一项所述的方法,其中所述神经网络处理器的电路构造中包含具有纠错功能的电路。
6.根据权利要求5所述的方法,其中所述具有纠错功能的电路为ECC电路,所述ECC电路设置在与所述神经网络处理器的计算单元连接的存储单元中,用于根据来自所述计算单元的数据计算获得对应的ECC编码,以将数据与对应的ECC编码存入所述存储单元的存储器中,以及用于根据从所述存储单元的存储器中读出的ECC编码对对应的数据进行纠错。
7.根据权利要求1-2中任意一项所述的方法,其中步骤1)包括:
获得工业上已设计完成的神经网络处理器的电路构造,或者通过硬件描述语言编写以获得神经网络处理器的电路构造。
8.根据权利要求3所述的方法,其中通过对所述电路构造进行静态时序分析来获得所述电路构造中的路径的延时信息。
9.根据权利要求4所述的方法,其中通过对所述电路构造进行静态时序分析来获得所述电路构造中的路径的延时信息。
10.一种神经网络处理器的设计系统,包括:
存储装置和处理器;
其中,所述存储装置用于存储计算机程序,所述计算机程序在被所述处理器执行时用于实现如权利要求1-9中任意一项所述的方法。
CN201711046134.7A 2017-10-31 2017-10-31 一种用于神经网络处理器的方法 Active CN107729998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711046134.7A CN107729998B (zh) 2017-10-31 2017-10-31 一种用于神经网络处理器的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711046134.7A CN107729998B (zh) 2017-10-31 2017-10-31 一种用于神经网络处理器的方法

Publications (2)

Publication Number Publication Date
CN107729998A CN107729998A (zh) 2018-02-23
CN107729998B true CN107729998B (zh) 2020-06-05

Family

ID=61202510

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711046134.7A Active CN107729998B (zh) 2017-10-31 2017-10-31 一种用于神经网络处理器的方法

Country Status (1)

Country Link
CN (1) CN107729998B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11790664B2 (en) 2019-02-19 2023-10-17 Tesla, Inc. Estimating object properties using visual image data
US11797304B2 (en) 2018-02-01 2023-10-24 Tesla, Inc. Instruction set architecture for a vector computational unit
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11841434B2 (en) 2018-07-20 2023-12-12 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11893774B2 (en) 2018-10-11 2024-02-06 Tesla, Inc. Systems and methods for training machine models with augmented data
US11983630B2 (en) 2023-01-19 2024-05-14 Tesla, Inc. Neural networks for embedded devices

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018176000A1 (en) 2017-03-23 2018-09-27 DeepScale, Inc. Data synthesis for autonomous control systems
US10671349B2 (en) 2017-07-24 2020-06-02 Tesla, Inc. Accelerated mathematical engine
US11157441B2 (en) 2017-07-24 2021-10-26 Tesla, Inc. Computational array microprocessor system using non-consecutive data formatting
US11409692B2 (en) 2017-07-24 2022-08-09 Tesla, Inc. Vector computational unit
CN108647292A (zh) * 2018-05-07 2018-10-12 前海梧桐(深圳)数据有限公司 基于神经网络算法的企业特性分类计算方法及系统
CN110147872B (zh) * 2018-05-18 2020-07-17 中科寒武纪科技股份有限公司 编码存储装置及方法、处理器及训练方法
US11215999B2 (en) 2018-06-20 2022-01-04 Tesla, Inc. Data pipeline and deep learning system for autonomous driving
US11636333B2 (en) 2018-07-26 2023-04-25 Tesla, Inc. Optimizing neural network structures for embedded systems
US11562231B2 (en) 2018-09-03 2023-01-24 Tesla, Inc. Neural networks for embedded devices
US11196678B2 (en) 2018-10-25 2021-12-07 Tesla, Inc. QOS manager for system on a chip communications
US11537811B2 (en) 2018-12-04 2022-12-27 Tesla, Inc. Enhanced object detection for autonomous vehicles based on field view
US11610117B2 (en) 2018-12-27 2023-03-21 Tesla, Inc. System and method for adapting a neural network model on a hardware platform
CN109739703B (zh) * 2018-12-28 2020-01-17 中科寒武纪科技股份有限公司 调错方法及相关产品
US10373025B1 (en) * 2019-01-28 2019-08-06 StradVision, Inc. Method and device for verifying integrity of parameters of CNN by using test pattern to enhance fault tolerance and fluctuation robustness in extreme situations for functional safety
US10997461B2 (en) 2019-02-01 2021-05-04 Tesla, Inc. Generating ground truth for machine learning from time series elements
CN111523656B (zh) * 2019-02-03 2024-03-26 上海寒武纪信息科技有限公司 处理装置及方法
US11567514B2 (en) 2019-02-11 2023-01-31 Tesla, Inc. Autonomous and user controlled vehicle summon to a target
KR102422358B1 (ko) * 2019-06-28 2022-07-18 미쓰비시덴키 가부시키가이샤 가공 조건 탐색 장치 및 가공 조건 탐색 방법
CN110309918B (zh) * 2019-07-05 2020-12-18 安徽寒武纪信息科技有限公司 神经网络在线模型的验证方法、装置和计算机设备
CN112259071A (zh) * 2020-09-22 2021-01-22 北京百度网讯科技有限公司 语音处理系统、语音处理方法、电子设备和可读存储介质
CN112231134B (zh) * 2020-10-28 2023-08-08 地平线(上海)人工智能技术有限公司 神经网络处理器的故障处理方法及装置、设备、存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103399487A (zh) * 2013-07-30 2013-11-20 东北石油大学 一种基于非线性多入多出mimo系统的解耦控制方法及其装置
CN105867116A (zh) * 2016-06-06 2016-08-17 国网福建省电力有限公司 一种基于延时补偿的电网谐波电流信号跟踪控制方法
CN106291324A (zh) * 2016-08-18 2017-01-04 北京航空航天大学 一种适用于高速集成电路的片上差分时延测量系统及回收集成电路识别方法
CN106777608A (zh) * 2016-12-02 2017-05-31 天津大学 精确快速低投入的fpga 延时估计方法
CN107092959A (zh) * 2017-04-07 2017-08-25 武汉大学 基于stdp非监督学习算法的硬件友好型脉冲神经网络模型

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103399487A (zh) * 2013-07-30 2013-11-20 东北石油大学 一种基于非线性多入多出mimo系统的解耦控制方法及其装置
CN105867116A (zh) * 2016-06-06 2016-08-17 国网福建省电力有限公司 一种基于延时补偿的电网谐波电流信号跟踪控制方法
CN106291324A (zh) * 2016-08-18 2017-01-04 北京航空航天大学 一种适用于高速集成电路的片上差分时延测量系统及回收集成电路识别方法
CN106777608A (zh) * 2016-12-02 2017-05-31 天津大学 精确快速低投入的fpga 延时估计方法
CN107092959A (zh) * 2017-04-07 2017-08-25 武汉大学 基于stdp非监督学习算法的硬件友好型脉冲神经网络模型

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11893393B2 (en) 2017-07-24 2024-02-06 Tesla, Inc. Computational array microprocessor system with hardware arbiter managing memory requests
US11797304B2 (en) 2018-02-01 2023-10-24 Tesla, Inc. Instruction set architecture for a vector computational unit
US11841434B2 (en) 2018-07-20 2023-12-12 Tesla, Inc. Annotation cross-labeling for autonomous control systems
US11893774B2 (en) 2018-10-11 2024-02-06 Tesla, Inc. Systems and methods for training machine models with augmented data
US11816585B2 (en) 2018-12-03 2023-11-14 Tesla, Inc. Machine learning models operating at different frequencies for autonomous vehicles
US11790664B2 (en) 2019-02-19 2023-10-17 Tesla, Inc. Estimating object properties using visual image data
US11983630B2 (en) 2023-01-19 2024-05-14 Tesla, Inc. Neural networks for embedded devices

Also Published As

Publication number Publication date
CN107729998A (zh) 2018-02-23

Similar Documents

Publication Publication Date Title
CN107729998B (zh) 一种用于神经网络处理器的方法
CN107832840B (zh) 一种用于神经网络处理器的方法
US8347165B2 (en) Self-timed error correcting code evaluation system and method
Zhu et al. Ultra low-power high-speed flexible probabilistic adder for error-tolerant applications
US10372868B2 (en) Error resilient digital signal processing device
US10740520B2 (en) Pessimism in static timing analysis
CN115796093B (zh) 电路时序优化方法、装置、电子设备及存储介质
US8255199B2 (en) Characterizing performance of an electronic system
Pandey et al. GreenTPU: Predictive design paradigm for improving timing error resilience of a near-threshold tensor processing unit
Xu et al. R2F: A remote retraining framework for AIoT processors with computing errors
Huang et al. Sensor-based approximate adder design for accelerating error-tolerant and deep-learning applications
CN112731100B (zh) 神经网络电路的超低功耗负时序余量时序监测方法
Zhao et al. Improving transient error tolerance of digital VLSI circuits using RObustness COmpiler (ROCO)
US20090037860A1 (en) Apparatus, system and method for simulating operation of circuit
Xing Training for'unstable'cnn accelerator: A case study on fpga
Kumar Statistical guarantees of performance for RTL designs
Abdallah et al. Stochastic hardware architectures: A survey
Pirbadian et al. State dependent statistical timing model for voltage scaled circuits
CN112134557B (zh) 基于脉冲锁存器时序监测的宽电压自适应调节系统及方法
Zhang et al. Reliable network-on-chip router for crosstalk and soft error tolerance
Amin et al. Low-cost fault tolerant methodology for real time MPSoC based embedded system
Kang et al. Fast Bit Inversion Vulnerability Pre-estimation using Tcl and UPF in RTL Simulation Runtime
Ikezoe et al. Recovering faulty non-volatile flip flops for coarse-grained reconfigurable architectures
CN117811592A (zh) 针对触发器的单粒子翻转纠错方法、装置和设备
Santos et al. Low cost dynamic scrubbing for real-time systems

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
GR01 Patent grant
GR01 Patent grant