CN107729998A - 一种用于神经网络处理器的方法 - Google Patents
一种用于神经网络处理器的方法 Download PDFInfo
- Publication number
- CN107729998A CN107729998A CN201711046134.7A CN201711046134A CN107729998A CN 107729998 A CN107729998 A CN 107729998A CN 201711046134 A CN201711046134 A CN 201711046134A CN 107729998 A CN107729998 A CN 107729998A
- Authority
- CN
- China
- Prior art keywords
- neural network
- network processor
- circuit structure
- circuit
- error rate
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Neurology (AREA)
- Semiconductor Integrated Circuits (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
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的测试过程可以被理解为是本领域中根据神经网络处理器所输入的数据集进行正向传播,计算在当前神经网络权重值下的错误率,在错误率未达到收敛时(例如本次迭代与前一次迭代的错误率之间的差值大于设定的阈值)通过执行误差反向传播算法计算获得更新后的神经网络权重值,以用于下一次迭代中基于更新后的神经网络权重值重新计算输出结果的错误率。在操作时,为了避免多次迭代仍无法实现收敛、以及两次迭代的错误率之间的差值一直大于设定的阈值而无法跳出迭代的情况,可以设置相应的最大迭代次数,以控制计算量。在测试过程中对错误率的统计可以采用平均值,也可以采用分类结果的均方根误差。
通过所述测试过程中的多次迭代,可以计算获得在当前频率下所能达到的最小错误率,以及此时所述神经网络处理器的神经网络权重值。这样的过程包括:在当前频率下,神经网络处理器采用前一次迭代中通过计算获得的神经网络权重值(对于第一次迭代而言,采用神经网络设计之初所确定的神经网络权重值),对输入的测试用的数据集进行正向传播的各种计算;将计算的结果与期望的结果进行比对,获得一个错误率;判断是否达到了结束条件,即判断是否达到设定的用于调整神经网络权重值的最大迭代次数,以及判断在未达到设定的用于调整神经网络权重值的最大迭代次数时所述错误率相较于前一次迭代所获得的错误率之间的差异是否小于设定的阈值;若达到所述用于调整神经网络权重值的最大迭代次数、或者在未达到所述最大迭代次数的情况下述差异小于设定的阈值则满足结束条件,并输出所获得的错误率以及当前的神经网络权重值以继续执行随后的步骤,若不满足结束条件,则执行误差反向传播算法,以更新神经网络权重值,并开始下一次迭代以基于更新后的神经网络权重值重新计算输出结果的错误率。
优选地,采用下式计算均方根误差以作为所述错误率:
其中,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)通过调整用于所述神经网络处理器的工作频率并评估在各个工作频率下的工作状况,来确定使得增加了延时后的所述电路构造的错误率满足设计需要时的最大的工作频率,以及对应的神经网络权重值。
2.根据权利要求1所述的方法,其中步骤3)包括:
3-1)确定用于所述神经网络处理器的初始工作频率;
3-2)将测试用的数据集作为经过步骤2)处理后的所述神经网络处理器的输入,在当前的工作频率下测试当所述神经网络处理器的错误率收敛时的错误率;
3-3)若所述收敛时的错误率小于满足设计需要的阈值,则调整所述工作频率并重复上述步骤3-2),若所述收敛时的错误率大于或等于满足设计需要的阈值,则输出当前神经网络处理器的工作频率以及神经网络权重值。
3.根据权利要求2所述的方法,其中步骤3-2)包括:
3-2-1)将测试用的数据集作为经过步骤2)处理后的所述神经网络处理器的输入,所述神经网络处理器采用前一次迭代中计算获得的神经网络权重值,根据输入的测试用的数据集进行正向传播的计算,其中,对于第一次迭代,采用初始的神经网络权重值;
3-2-2)将正向传播的计算的结果与期望的结果进行比对,获得错误率;
3-2-3)在未达到设定的第二最大迭代次数时,若所述错误率收敛,则输出所述错误率和当前的神经网络权重值,否则执行反向传播的计算以更新神经网络权重值,并重复步骤3-2-1)至步骤3-2-3);在达到设定的第二最大迭代次数时,输出所述错误率和当前的神经网络权重值。
4.根据权利要求1-3中任意一项所述的方法,其中步骤2)包括:
2-1)获得所述电路构造中多条路径的延时信息;
2-2)根据所述延时信息,计算所述多条路径中的每一个的建立时间的裕量;
2-3)选择建立时间的裕量最少的至少一条路径上的至少一个器件,增加所述器件的延时。
5.根据权利要求1-3中任意一项所述的方法,其中步骤2)包括:
获得所述电路构造中的一条或多条关键路径的延时信息;
增加所述一条或多条关键路径上的至少一个器件的延时。
6.根据权利要求1-3中任意一项所述的方法,其中所述神经网络处理器的电路构造中包含具有纠错功能的电路。
7.根据权利要求6所述的方法,其中所述具有纠错功能的电路为ECC电路,所述ECC电路设置在与所述神经网络处理器的计算单元连接的存储单元中,用于根据来自所述计算单元的数据计算获得对应的ECC编码,以将数据与对应的ECC编码存入所述存储单元的存储器中,以及用于根据从所述存储单元的存储器中读出的ECC编码对对应的数据进行纠错。
8.根据权利要求1-3中任意一项所述的方法,其中步骤1)包括:
获得工业上已设计完成的神经网络处理器的电路构造,或者通过硬件描述语言编写以获得神经网络处理器的电路构造。
9.根据权利要求4或5所述的方法,其中通过对所述电路构造进行静态时序分析来获得所述电路构造中的路径的延时信息。
10.一种神经网络处理器的设计系统,包括:
存储装置和处理器;
其中,所述存储装置用于存储计算机程序,所述计算机程序在被所述处理器执行时用于实现如权利要求1-9中任意一项所述的方法。
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 true CN107729998A (zh) | 2018-02-23 |
CN107729998B 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 (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647292A (zh) * | 2018-05-07 | 2018-10-12 | 前海梧桐(深圳)数据有限公司 | 基于神经网络算法的企业特性分类计算方法及系统 |
CN109739703A (zh) * | 2018-12-28 | 2019-05-10 | 北京中科寒武纪科技有限公司 | 调错方法及相关产品 |
CN110147873A (zh) * | 2018-05-18 | 2019-08-20 | 北京中科寒武纪科技有限公司 | 卷积神经网络的处理器及训练方法 |
CN110309918A (zh) * | 2019-07-05 | 2019-10-08 | 北京中科寒武纪科技有限公司 | 神经网络在线模型的验证方法、装置和计算机设备 |
JP2020119556A (ja) * | 2019-01-28 | 2020-08-06 | 株式会社ストラドビジョンStradvision,Inc. | 機能的安全性のために極限状況でフォールトトレランス及びフラクチュエーションロバスト性を向上させるようにテストパターンを利用してcnnのパラメータの無欠性を検証するための方法及び装置 |
CN111523654A (zh) * | 2019-02-03 | 2020-08-11 | 上海寒武纪信息科技有限公司 | 处理装置及方法 |
CN112231134A (zh) * | 2020-10-28 | 2021-01-15 | 地平线(上海)人工智能技术有限公司 | 神经网络处理器的故障处理方法及装置、设备、存储介质 |
CN112259071A (zh) * | 2020-09-22 | 2021-01-22 | 北京百度网讯科技有限公司 | 语音处理系统、语音处理方法、电子设备和可读存储介质 |
CN114025912A (zh) * | 2019-06-28 | 2022-02-08 | 三菱电机株式会社 | 加工条件搜索装置以及加工条件搜索方法 |
US11403069B2 (en) | 2017-07-24 | 2022-08-02 | Tesla, Inc. | Accelerated mathematical engine |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11487288B2 (en) | 2017-03-23 | 2022-11-01 | Tesla, Inc. | Data synthesis for autonomous control systems |
US11537811B2 (en) | 2018-12-04 | 2022-12-27 | Tesla, Inc. | Enhanced object detection for autonomous vehicles based on field view |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
US11610117B2 (en) | 2018-12-27 | 2023-03-21 | Tesla, Inc. | System and method for adapting a neural network model on a hardware platform |
US11636333B2 (en) | 2018-07-26 | 2023-04-25 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11665108B2 (en) | 2018-10-25 | 2023-05-30 | Tesla, Inc. | QoS manager for system on a chip communications |
US11681649B2 (en) | 2017-07-24 | 2023-06-20 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11734562B2 (en) | 2018-06-20 | 2023-08-22 | Tesla, Inc. | Data pipeline and deep learning system for autonomous driving |
US11748620B2 (en) | 2019-02-01 | 2023-09-05 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
US12014553B2 (en) | 2019-02-01 | 2024-06-18 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
Families Citing this family (5)
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 |
US11361457B2 (en) | 2018-07-20 | 2022-06-14 | Tesla, Inc. | Annotation cross-labeling for autonomous control systems |
AU2019357615B2 (en) | 2018-10-11 | 2023-09-14 | 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 |
US10956755B2 (en) | 2019-02-19 | 2021-03-23 | Tesla, Inc. | Estimating object properties using visual image data |
Citations (5)
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非监督学习算法的硬件友好型脉冲神经网络模型 |
-
2017
- 2017-10-31 CN CN201711046134.7A patent/CN107729998B/zh active Active
Patent Citations (5)
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 (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12020476B2 (en) | 2017-03-23 | 2024-06-25 | Tesla, Inc. | Data synthesis for autonomous control systems |
US11487288B2 (en) | 2017-03-23 | 2022-11-01 | Tesla, Inc. | Data synthesis for autonomous control systems |
US12086097B2 (en) | 2017-07-24 | 2024-09-10 | Tesla, Inc. | Vector computational unit |
US11681649B2 (en) | 2017-07-24 | 2023-06-20 | Tesla, Inc. | Computational array microprocessor system using non-consecutive data formatting |
US11403069B2 (en) | 2017-07-24 | 2022-08-02 | Tesla, Inc. | Accelerated mathematical engine |
US11409692B2 (en) | 2017-07-24 | 2022-08-09 | Tesla, Inc. | Vector computational unit |
US11561791B2 (en) | 2018-02-01 | 2023-01-24 | Tesla, Inc. | Vector computational unit receiving data elements in parallel from a last row of a computational array |
CN108647292A (zh) * | 2018-05-07 | 2018-10-12 | 前海梧桐(深圳)数据有限公司 | 基于神经网络算法的企业特性分类计算方法及系统 |
CN110147873B (zh) * | 2018-05-18 | 2020-02-18 | 中科寒武纪科技股份有限公司 | 卷积神经网络的处理器及训练方法 |
CN110147873A (zh) * | 2018-05-18 | 2019-08-20 | 北京中科寒武纪科技有限公司 | 卷积神经网络的处理器及训练方法 |
US11734562B2 (en) | 2018-06-20 | 2023-08-22 | 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 |
US12079723B2 (en) | 2018-07-26 | 2024-09-03 | Tesla, Inc. | Optimizing neural network structures for embedded systems |
US11562231B2 (en) | 2018-09-03 | 2023-01-24 | Tesla, Inc. | Neural networks for embedded devices |
US11983630B2 (en) | 2018-09-03 | 2024-05-14 | Tesla, Inc. | Neural networks for embedded devices |
US11665108B2 (en) | 2018-10-25 | 2023-05-30 | 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 |
US11908171B2 (en) | 2018-12-04 | 2024-02-20 | 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 |
CN109739703A (zh) * | 2018-12-28 | 2019-05-10 | 北京中科寒武纪科技有限公司 | 调错方法及相关产品 |
JP2020119556A (ja) * | 2019-01-28 | 2020-08-06 | 株式会社ストラドビジョンStradvision,Inc. | 機能的安全性のために極限状況でフォールトトレランス及びフラクチュエーションロバスト性を向上させるようにテストパターンを利用してcnnのパラメータの無欠性を検証するための方法及び装置 |
US12014553B2 (en) | 2019-02-01 | 2024-06-18 | Tesla, Inc. | Predicting three-dimensional features for autonomous driving |
US11748620B2 (en) | 2019-02-01 | 2023-09-05 | Tesla, Inc. | Generating ground truth for machine learning from time series elements |
CN111523653A (zh) * | 2019-02-03 | 2020-08-11 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
CN111523654B (zh) * | 2019-02-03 | 2024-03-29 | 上海寒武纪信息科技有限公司 | 处理装置及方法 |
CN111523654A (zh) * | 2019-02-03 | 2020-08-11 | 上海寒武纪信息科技有限公司 | 处理装置及方法 |
CN111523653B (zh) * | 2019-02-03 | 2024-03-29 | 上海寒武纪信息科技有限公司 | 运算装置及方法 |
US11567514B2 (en) | 2019-02-11 | 2023-01-31 | Tesla, Inc. | Autonomous and user controlled vehicle summon to a target |
CN114025912B (zh) * | 2019-06-28 | 2023-08-15 | 三菱电机株式会社 | 加工条件搜索装置以及加工条件搜索方法 |
CN114025912A (zh) * | 2019-06-28 | 2022-02-08 | 三菱电机株式会社 | 加工条件搜索装置以及加工条件搜索方法 |
CN110309918B (zh) * | 2019-07-05 | 2020-12-18 | 安徽寒武纪信息科技有限公司 | 神经网络在线模型的验证方法、装置和计算机设备 |
CN110309918A (zh) * | 2019-07-05 | 2019-10-08 | 北京中科寒武纪科技有限公司 | 神经网络在线模型的验证方法、装置和计算机设备 |
CN112259071A (zh) * | 2020-09-22 | 2021-01-22 | 北京百度网讯科技有限公司 | 语音处理系统、语音处理方法、电子设备和可读存储介质 |
CN112231134B (zh) * | 2020-10-28 | 2023-08-08 | 地平线(上海)人工智能技术有限公司 | 神经网络处理器的故障处理方法及装置、设备、存储介质 |
CN112231134A (zh) * | 2020-10-28 | 2021-01-15 | 地平线(上海)人工智能技术有限公司 | 神经网络处理器的故障处理方法及装置、设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107729998B (zh) | 2020-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729998A (zh) | 一种用于神经网络处理器的方法 | |
CN107832840A (zh) | 一种用于神经网络处理器的方法 | |
US10192016B2 (en) | Neural network based physical synthesis for circuit designs | |
CN105138774B (zh) | 一种基于集成电路层次化设计的时序后仿真方法 | |
TWI689833B (zh) | 調整用於靜態時序分析的時序降額的方法與電腦設備 | |
CN103076559B (zh) | 一种针对扫描测试中移位功耗的优化方法 | |
CN109817267A (zh) | 一种基于深度学习的闪存寿命预测方法、系统及计算机可读存取介质 | |
US20100313176A1 (en) | Delay library, delay library creation method, and delay calculation method | |
Ren et al. | Improving accuracy of on-chip diagnosis via incremental learning | |
US20220067255A1 (en) | Dynamic current modeling in dynamic voltage drop analysis | |
CN116457788A (zh) | 仿真系统的机器学习延迟估计 | |
Pandey et al. | GreenTPU: Predictive design paradigm for improving timing error resilience of a near-threshold tensor processing unit | |
Joardar et al. | Learning to train CNNs on faulty ReRAM-based manycore accelerators | |
CN116094068A (zh) | 基于碳排放预测机制的电网调度方法、设备及介质 | |
Alaghi et al. | Optimizing stochastic circuits for accuracy-energy tradeoffs | |
Eldebiky et al. | Correctnet: Robustness enhancement of analog in-memory computing for neural networks by error suppression and compensation | |
CN105372579B (zh) | 一种快速有效的电路单元重要性测度方法 | |
CN110866370A (zh) | 一种电路可靠性逻辑仿真方法、装置、设备及存储介质 | |
US11709984B2 (en) | Automatic sequential retry on compilation failure | |
Nikolopoulos et al. | Energy efficiency through significance-based computing | |
Training for'unstable'cnn accelerator: A case study on fpga | ||
Holst et al. | Gpu-accelerated timing simulation of systolic-array-based ai accelerators | |
CN110377924B (zh) | 硬错误模拟及其使用 | |
CN113569510A (zh) | 通过考虑单元间时序进行的单元感知缺陷特性化 | |
Bortolon et al. | Exploring the impact of soft errors on NoC-based multiprocessor 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 |