CN115481562B - 多并行度优化方法、装置、识别方法和电子设备 - Google Patents

多并行度优化方法、装置、识别方法和电子设备 Download PDF

Info

Publication number
CN115481562B
CN115481562B CN202110662206.0A CN202110662206A CN115481562B CN 115481562 B CN115481562 B CN 115481562B CN 202110662206 A CN202110662206 A CN 202110662206A CN 115481562 B CN115481562 B CN 115481562B
Authority
CN
China
Prior art keywords
neural network
weight matrix
determining
matrix
weight
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
CN202110662206.0A
Other languages
English (en)
Other versions
CN115481562A (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 Microelectronics of CAS
Original Assignee
Institute of Microelectronics 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 Microelectronics of CAS filed Critical Institute of Microelectronics of CAS
Priority to CN202110662206.0A priority Critical patent/CN115481562B/zh
Publication of CN115481562A publication Critical patent/CN115481562A/zh
Application granted granted Critical
Publication of CN115481562B publication Critical patent/CN115481562B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/10Processors
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Geometry (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Complex Calculations (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开多并行度优化方法、装置、识别方法和电子设备,涉及机器学习及人工智能领域。多并行度优化方法,运行神经网络模型的神经网络处理设备,所述神经网络处理设备具有存算一体芯片,所述方法包括:获取多并行度下所述存算一体芯片的等效电导参数;基于所述等效电导参数确定权重矩阵;基于所述权重矩阵对所述神经网络模型进行训练,确定目标权重;基于所述目标权重调整存算一体芯片的参数。方法应用于多并行度优化装置。本发明提供的方法可以使得该存算一体芯片的器件准确度得以提高,避免了器件的非理想特性导致的误差累积,可以提高器件的识别准确率。

Description

多并行度优化方法、装置、识别方法和电子设备
技术领域
本发明涉及机器学习及人工智能领域,尤其涉及多并行度优化方法、装置、识别方法和电子设备。
背景技术
随着机器学习及人工智能领域的发展,以卷积神经网络、循环神经网络为代表的深度学习模型广泛应用于图像以及语音识别等领域。然而,随着数据量爆发式增长,存储和运算分离的冯诺依曼架构面临着存储墙和功耗墙问题,导致深度学习模型在传统的硬件平台上难以实现高性能低功耗运行。
目前,基于新型器件的存算一体方案可以减小数据迁移量,提高计算能效;同时,通过并行计算大大降低深度学习模型中的矩阵运算复杂度,从而进一步提高速度并且降低功耗。但是,由于新型器件存在大量非理想特性,例如如阻变器件电阻值非线性、电阻值漂移特性、电阻调制曲线非对称特性等,当新型器件读取并行度提高后,由于误差的累积造成推理失效以及电流汇聚误差造成误差的累积方法,导致深度学习模型硬件的识别准确率降低,进一步的,导致硬件平台无法实现高性能低功耗运行深度学习算法。
发明内容
本发明的目的在于提供多并行度优化方法、装置、识别方法和电子设备,以解决现有由于误差的累积导致深度学习模型硬件的识别准确率降低的问题。
第一方面,本发明提供多并行度优化方法,应用于运行神经网络模型的神经网络处理设备,所述神经网络处理设备具有存算一体芯片,所述方法包括:
获取多并行度下所述存算一体芯片的等效电导参数;
基于所述等效电导参数确定权重矩阵;
基于所述权重矩阵对所述神经网络模型进行训练,确定目标权重;
基于所述目标权重调整所述存算一体芯片的参数。
采用上述技术方案的情况下,本发明实施例提供的多并行度优化方法,可以获取多并行度下计算电路的等效电导参数,基于等效电导参数确定权重矩阵,基于权重矩阵对神经网络模型进行训练,确定目标权重,基于目标权重将存算一体芯片计算电路的参数进行调整,调整至目标权重对应的目标参数,其中,由于权重矩阵是基于等效电导参数所确定的,因此,该权重矩阵为真实权重矩阵,则基于该权重矩阵所确定的目标权重较为准确,进一步的,基于该较为准确的目标权重去调整存算一体芯片计算电路的参数,使得该存算一体芯片计算电路的器件准确度得以提高,避免了器件的非理想特性导致的误差累积,可以提高多并行度下的器件的识别准确率。
在一种可能的实现方式中,所述基于所述权重矩阵对所述神经网络模型进行训练,确定目标权重,包括:
基于所述权重矩阵确定辅助权重矩阵;
以所述辅助权重矩阵作为所述神经网络模型的权重,对所述神经网络模型进行训练确定所述目标权重。
在一种可能的实现方式中,所述基于所述权重矩阵确定辅助权重矩阵,包括:基于所述权重矩阵确定所述辅助并行矩阵;对所述辅助并行矩阵采用取整量化操作确定辅助权重矩阵;其中,
所述辅助并行矩阵包括两个平行子矩阵,两个所述平行子矩阵基于平行度构建。
在一种可能的实现方式中,当所述神经网络模型含有归一化层,所述存算一体芯片具有支持实现归一化运行的归一化子电路;所述基于所述目标权重调整所述存算一体芯片的参数,包括:
基于所述目标权重调整所述归一化子电路的参数。
在一种可能的实现方式中,所述参数包括电阻值;
所述等效电导参数包括经元电路的差分汇聚电流,所述基于所述等效电导参数确定权重矩阵包括:
根据所述等效电导参数确定存算一体芯片的并行电导;基于所述并行电导进行差分确定所述权重矩阵。
第二方面,本发明还提供一种多并行度优化装置,应用于运行神经网络模型的神经网络处理设备,所述神经网络处理设备具有存算一体芯片,所述装置包括:
获取模块,用于获取多并行度下所述存算一体芯片的等效电导参数;
第一确定模块,用于基于所述等效电导参数确定权重矩阵;
第二确定模块,用于基于所述权重矩阵对所述神经网络模型进行训练,确定目标权重;
调整模块,用于基于所述目标权重调整所述存算一体芯片的参数。
在一种可能的实现方式中,所述第二确定模块包括:
第一确定子模块,用于基于所述权重矩阵确定辅助权重矩阵;
第二确定子模块,用于以所述辅助权重矩阵作为所述神经网络模型的权重,对所述神经网络模型进行训练确定所述目标权重。
在一种可能的实现方式中,所述第一确定子模块包括:
第一确定单元,用于基于所述权重矩阵确定所述辅助并行矩阵;
第二确定单元,用于对所述辅助并行矩阵采用取整量化操作确定辅助权重矩阵;其中,
所述辅助并行矩阵包括两个平行子矩阵,两个所述平行子矩阵基于平行度构建。
在一种可能的实现方式中,当所述神经网络模型含有归一化层,所述存算一体芯片具有支持实现归一化运行的归一化子电路;所述调整模块包括:
调整子模块,用于基于所述目标权重调整所述归一化子电路的参数。
在一种可能的实现方式中,所述参数包括电阻值;所述等效电导参数包括经元电路的差分汇聚电流,所述第一确定模块包括:
第三确定子模块,用于根据所述等效电导参数确定存算一体芯片的并行电导;
第四确定子模块,用于基于所述并行电导进行差分确定所述权重矩阵。
第二方面提供的多并行度优化装置的有益效果与第一方面或第一方面任一可能的实现方式描述的多并行度优化方法的有益效果相同,此处不做赘述。
第三方面,本发明还提供一种识别方法,应用于运行神经网络模型的神经网络处理设备,所述神经网络处理设备具有存算一体芯片;所述存算一体芯片的参数由第一方面任一项所述方法确定;所述方法包括:
获取多并行度下所述存算一体芯片的等效电导参数;
基于所述等效电导参数确定所述神经网络模型的定点数权重;
向所述神经网络模型输入待识别信息,获得识别结构。
在一种可能的实现方式中,所述神经网络模型包括输入层、输出层以及多个隐藏层;
所述输入层用于对所述待识别信息进行处理,得到第一输出值;
每个所述处理单元用于对所述第一输出值进行处理,在所述隐藏层为最后一层隐藏层的情况下,向所述输出层馈入输出信息,得到第二输出值;
所述输出层用于对所述第二输出值进行概率预测处理,确定预测结果。
第三方面提供的识别方法的有益效果与第二方面或第二方面任一可能的实现方式描述的多并行度优化装置的有益效果相同,此处不做赘述。
第四方面,本发明还提供一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述装置执行第二方面任一可能的实现方式描述的多并行度优化装置。
第三方面提供的电子设备的有益效果与第二方面或第二方面任一可能的实现方式描述的多并行度优化装置的有益效果相同,此处不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本申请实施例提供的多并行度优化方法的结构示意图;
图2示出了本申请实施例提供的另多并行度优化方法的结构示意图;
图3示出了本申请实施例提供的一种数据集的示意图;
图4示出了本申请实施例提供的一种神经网络的结构示意图;
图5示出了本申请实施例提供的一种多并行度优化装置的结构示意图;
图6为本发明实施例提供的一种电子设备的硬件结构示意图;
图7为本发明实施例提供的芯片的结构示意图。
具体实施方式
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一阈值和第二阈值仅仅是为了区分不同的阈值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本发明中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本发明中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b的结合,a和c的结合,b和c的结合,或a、b和c的结合,其中a,b,c可以是单个,也可以是多个。
图1示出了本申请实施例提供的多并行度优化方法的流程示意图,该多并行度优化方法应用于运行神经网络模型的神经网络处理设备,神经网络处理设备具有存算一体芯片。如图1所示,多并行度优化方法包括:
步骤101:获取多并行度下存算一体芯片的等效电导参数。
在本申请中,在接收到输入数据后,神经网络处理设备可以向存算一体芯片发送电压信号,芯片中的计算电路在接收到输入的电压信号后作用于指定地址的多并行器件形成汇聚电流;并基于汇聚电流确定多并行度下的等效电导参数。
步骤102:基于等效电导参数确定权重矩阵。
在本申请中,可以对等效电导参数进行差分处理,得到等效电导参数对应的权重矩阵。
步骤103:基于权重矩阵对神经网络模型进行训练,确定目标权重。
在本申请中,上述步骤103的具体实现步骤可以包括:
子步骤A1:基于权重矩阵确定辅助权重矩阵。
具体的,可以基于权重矩阵确定辅助并行矩阵,进一步的,对辅助并行矩阵采用取整量化操作确定辅助权重矩阵。
子步骤A2:以辅助权重矩阵作为神经网络模型的权重,对神经网络模型进行训练确定目标权重。
步骤104:基于目标权重调整存算一体芯片的参数。
将该参数调整至目标权重对应的目标参数。
其中,存算一体芯片的参数可以是电阻值,还可以是其他参数值,本申请实施例对此不作具体限定。
当存算一体芯片中设置有可以进行编程的电阻的情况下,该存算一体芯片的参数可以是电阻值,则目标参数为目标电阻值。
本发明实施例提供的多并行度优化方法,可以获取多并行度下存算一体芯片的计算电路的等效电导参数,基于等效电导参数确定权重矩阵,基于权重矩阵对神经网络模型进行训练,确定目标权重,基于目标权重将存算一体芯片的计算电路的参数进行调整,调整至目标权重对应的目标参数,其中,由于权重矩阵是基于等效电导参数所确定的,因此,该权重矩阵为真实权重矩阵,则基于该权重矩阵所确定的目标权重较为准确,进一步的,基于该较为准确的目标权重去调整存算一体芯片的计算电路的参数,使得该存算一体芯片的计算电路的器件准确度得以提高,避免了器件的非理想特性导致的误差累积,可以提高器件的识别准确率。
可选的,图2示出了本申请实施例提供的另一种多并行度优化方法的流程示意图,应用于运行神经网络模型的神经网络处理设备,神经网络处理设备具有存算一体芯片,如图2所示,方法包括:
步骤201:获取多并行度下存算一体芯片的等效电导参数。
在本申请中,在接收到输入数据后,神经网络处理设备可以向存算一体芯片发送电压信号,芯片中的计算电路在接收到输入的电压信号后作用于指定地址的多并行器件形成汇聚电流;并基于汇聚电流确定多并行度下的等效电导参数。也即是,根据所述等效电导参数确定存算一体芯片计算电路的并行电导;基于所述并行电导进行差分确定所述权重矩阵。
可选的,本申请实施例中的数据集可以是MINIST数据集,图3示出了本申请实施例提供的一种数据集的示意图,如图3所示,一个任务X包括数据图片0、1、2、3、4、5、6、7、8和9。
神经网络处理设备可以是包括忆阻器阵列芯片等存算一体芯片的设备。
可选的,本申请中的多并行度可以通过位线译码器打开多路地址得到。
步骤202:基于等效电导参数确定定点数权重。
基于等效电导参数进行取整量化操作,确定定点数权重,可以降低器件的非理想特性导致的误差累积。
图4示出了本申请实施例提供的一种神经网络的结构示意图,如图4所示,神经网络包括依次连接的输入层01、全连接层02、归一化层03、判断层04和预测输出层05,还包括和判断层04以及全连接层02连接的激活层06。判断层用于判断是否为最后一层,在确定是最后一层的情况下,将对应的数据传输至预测输出层,在确定不是最后一层的情况下,将对应的数据经过激活层返回至全连接层。
需要说明的是,本申请中采用多层全连接网络的结构,可选的,可以是三层全连接层,三层全连接层是指神经网络中每个隐藏层的结点个数为64,256和10。输入层可以是196个输入,通常输入和输出层不计入隐藏层,因此是三层全连接层,可选的,全连接层的运算可以通过忆阻器阵列等存算一体阵列实现,归一化层和激活层可以采用处理器实现。
其中,定点数权重可以通过忆阻器芯片采用正负差分列量化做差,在处理器中量化得到,具体的,
Figure BDA0003115801710000081
其中,WP表示正电导矩阵,WN表示负电导矩阵;HT表示忆阻器阵列高电导均值;LT表示忆阻器阵列低电导均值;Int为取整操作。
步骤203:基于定点数权重确定第一输出值。
在本申请中,可以基于定点数权重计算当前节点的输出结果,也即是计算第一输出值。
步骤204:基于等效电导参数确定权重矩阵。
在本申请中,可以对等效电导参数进行差分处理,得到等效电导参数对应的权重矩阵。
步骤205:基于权重矩阵确定辅助权重矩阵。
具体的,在得到权重矩阵后可以根据并行度将权重矩阵拆分获得稀疏并行的辅助权重矩阵。其中,所述辅助并行矩阵包括两个并行子矩阵,两个所述并行子矩阵基于并行度构造。
示例的,权重矩阵分解构造辅助权重矩阵具体的过程可以包括:
Figure BDA0003115801710000082
其中,[W]m,n表示权重矩阵;WL表示左并行矩阵;WR表示右并行矩阵;para表示并行度。
具体的,
Figure BDA0003115801710000091
Figure BDA0003115801710000092
步骤206:以辅助权重矩阵作为神经网络模型的权重,对神经网络模型进行重新训练确定目标权重。
可以对辅助权重矩阵和输入的数据相乘后,引入取整量化操作,从而只对并行度数量的结果取整量化,使得软件端可以完全仿照硬件平台操作,实现软件中间结果和硬件中间结果的匹配,将辅助权重矩阵的权重固定,当所述神经网络模型含有归一化层,所述存算一体芯片具有支持实现归一化运行的归一化子电路,则基于该辅助权重矩阵的权重重新训练神经网络模型的归一化层参数,获取训练后的目标权重,也即是基于目标权重调整归一化子电路的参数,并将训练好的目标权重重新部署到硬件中,从而实现软硬件协同优化硬件实现并行度。
步骤207:基于目标权重将存算一体芯片中计算电路的参数进行调整,调整至目标权重对应的目标参数。
其中,存算一体芯片的参数可以是归一化层所对应的参数,具体的,可以是电阻值,还可以是其他参数值,本申请实施例对此不作具体限定。
当存算一体芯片中设置有可以进行编程的电阻的情况下,该存算一体芯片的参数可以是电阻值,则目标参数为目标电阻值。
步骤208:基于目标参数对第一输出值进行归一化和激活处理,得到第二输出值。
参见图4,基于目标参数对第一输出值依次通过归一化层03进行归一化处理,通过激活层进行激活处理,直至计算完最后一层,得到第二输出值。
步骤209:对第二输出值进行概率预测处理,确定预测结果。
在计算完最后一层时,将最后一层对应的第二输出结果进行概率预测(Softmax)处理,确定预测结果。
也即是本申请通过软件对存算一体芯片计算电路的参数进行更新,以使得该存算一体芯片计算电路的器件准确度得以提高,避免了器件的非理想特性导致的误差累积,可以提高器件多并行度下的识别准确率。
在本申请中,随着并行度的提高,由于推理时间大幅度下降,因此硬件识别图片所需的能量也随之大幅度下降,通过本申请的参数调整方法,也即是通过软硬件协同并行度优化可以实现高速低功耗硬件运行神经网络。
本发明实施例提供的多并行度优化方法,可以获取多并行度下计算电路的等效电导参数,基于等效电导参数确定权重矩阵,基于权重矩阵对神经网络模型进行训练,确定目标权重,基于目标权重将存算一体芯片计算电路的参数进行调整,调整至目标权重对应的目标参数,其中,由于权重矩阵是基于等效电导参数所确定的,因此,该权重矩阵为真实权重矩阵,则基于该权重矩阵所确定的目标权重较为准确,进一步的,基于该较为准确的目标权重去调整存算一体芯片计算电路的参数,使得该存算一体芯片计算电路的器件准确度得以提高,避免了器件的非理想特性导致的误差累积,可以提高多并行度下的器件的识别准确率。
本发明还提供一种识别方法,应用于运行神经网络模型的神经网络处理设备,所述神经网络处理设备具有存算一体芯片;所述存算一体芯片的参数由第一方面任一项所述方法确定;所述方法包括:
获取多并行度下所述存算一体芯片的等效电导参数;
基于所述等效电导参数确定所述神经网络模型的定点数权重;
向所述神经网络模型输入待识别信息,获得识别结构。
可选的,所述神经网络模型包括输入层、输出层以及多个隐藏层;
所述输入层用于对所述待识别信息进行处理,得到第一输出值;
每个所述处理单元用于对所述第一输出值进行处理,在所述隐藏层为最后一层隐藏层的情况下,向所述输出层馈入输出信息,得到第二输出值;
所述输出层用于对所述第二输出值进行概率预测处理,确定预测结果。
图4示出了本申请实施例提供的一种神经网络的结构示意图,如图4所示,神经网络包括依次连接的输入层01、全连接层02、归一化层03、判断层04和预测输出层05,还包括和判断层04以及全连接层02连接的激活层06。判断层用于判断是否为最后一层,在确定是最后一层的情况下,将对应的数据传输至预测输出层,在确定不是最后一层的情况下,将对应的数据返回至全连接层。
需要说明的是,本申请中采用多层全连接网络的结构,可选的,可以是三层全连接层,三层全连接层是指神经网络中每个隐藏层的结点个数为64,256和10。输入层可以是196个输入,通常输入和输出层不计入隐藏层,因此是三层全连接层,可选的,全连接层的运算可以通过忆阻器阵列实现,归一化层和激活层可以采用处理器实现。
其中,定点数权重可以通过忆阻器芯片采用正负差分列量化做差,在处理器中量化得到,具体的,
Figure BDA0003115801710000121
其中,WP表示正电导矩阵,WN表示负电导矩阵;HT表示忆阻器阵列高电导均值;LT表示忆阻器阵列电导均值。
本发明实施例提供的识别方法,可以获取多并行度下计算电路的等效电导参数,基于等效电导参数确定权重矩阵,基于权重矩阵对神经网络模型进行训练,确定目标权重,基于目标权重将存算一体芯片计算电路的参数进行调整,调整至目标权重对应的目标参数,其中,由于权重矩阵是基于等效电导参数所确定的,因此,该权重矩阵为真实权重矩阵,则基于该权重矩阵所确定的目标权重较为准确,进一步的,基于该较为准确的目标权重去调整存算一体芯片计算电路的参数,使得该存算一体芯片计算电路的器件准确度得以提高,避免了器件的非理想特性导致的误差累积,可以提高多并行度下的器件的识别准确率。
图5示出了本申请实施例提供的一种多并行度优化装置的结构示意图,应用于运行神经网络模型的神经网络处理设备,神经网络处理设备具有存算一体芯片,如图5所示,多并行度优化装置300包括:
获取模块301,用于获取多并行度下存算一体芯片的等效电导参数;
第一确定模块302,用于基于等效电导参数确定权重矩阵;
第二确定模块303,用于基于权重矩阵对神经网络模型进行训练,确定目标权重;
调整模块304,用于基于目标权重调整存算一体芯片的参数。
可选的,第二确定模块包括:
第一确定子模块,用于基于权重矩阵确定辅助权重矩阵;
第二确定子模块,用于以辅助权重矩阵作为神经网络模型的权重,对神经网络模型进行训练确定目标权重。
可选的,第一确定子模块包括:
第一确定单元,用于基于权重矩阵确定辅助并行矩阵;
第二确定单元,用于对辅助并行矩阵采用取整量化操作确定辅助权重矩阵;其中,
所述辅助并行矩阵包括两个平行子矩阵,两个所述平行子矩阵基于平行度构建。
可选的,当所述神经网络模型含有归一化层,所述存算一体芯片具有支持实现归一化运行的归一化子电路;所述调整模块包括:
调整子模块,用于基于所述目标权重调整所述归一化子电路的参数。
可选的,所述参数包括电阻值;所述等效电导参数包括经元电路的差分汇聚电流,所述第一确定模块包括:
第三确定子模块,用于根据所述等效电导参数确定存算一体芯片的并行电导;
第四确定子模块,用于基于所述并行电导进行差分确定所述权重矩阵。
本发明实施例提供的多并行度优化装置,本发明实施例提供的多并行度优化方法,可以获取多并行度下计算电路的等效电导参数,基于等效电导参数确定权重矩阵,基于权重矩阵对神经网络模型进行训练,确定目标权重,基于目标权重将存算一体芯片计算电路的参数进行调整,调整至目标权重对应的目标参数,其中,由于权重矩阵是基于等效电导参数所确定的,因此,该权重矩阵为真实权重矩阵,则基于该权重矩阵所确定的目标权重较为准确,进一步的,基于该较为准确的目标权重去调整存算一体芯片计算电路的参数,使得该存算一体芯片计算电路的器件准确度得以提高,避免了器件的非理想特性导致的误差累积,可以提高多并行度下的器件的识别准确率。
本发明提供的一种多并行度优化装置,应用于包括控制器以及与控制器电连接的至少一个检测电路的如图1至图4任一所示的多并行度优化方法,为避免重复,这里不再赘述。
本发明实施例中的电子设备可以是装置,也可以是终端中的部件、集成电路、或芯片。该装置可以是移动电子设备,也可以为非移动电子设备。示例性的,移动电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,非移动电子设备可以为服务器、网络附属存储器(NetworkAttached Storage,NAS)、个人计算机(personalcomputer,PC)、电视机(television,TV)、柜员机或者自助机等,本发明实施例不作具体限定。
本发明实施例中的电子设备可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本发明实施例不作具体限定。
图6示出了本发明实施例提供的一种电子设备的硬件结构示意图。如图6所示,该电子设备400包括处理器410。
如图6所示,上述处理器410可以是一个通用中央处理器(central processingunit,CPU),微处理器,专用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。
如图6所示,上述电子设备400还可以包括通信线路440。通信线路440可包括一通路,在上述组件之间传送信息。
可选的,如图6所示,上述电子设备还可以包括通信接口420。通信接口420可以为一个或多个。通信接口420可使用任何收发器一类的装置,用于与其他设备或通信网络通信。
可选的,如图6所示,该电子设备还可以包括存储器430。存储器430用于存储执行本发明方案的计算机执行指令,并由处理器来控制执行。处理器用于执行存储器中存储的计算机执行指令,从而实现本发明实施例提供的方法。
如图6所示,存储器430可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器430可以是独立存在,通过通信线路440与处理器410相连接。存储器430也可以和处理器410集成在一起。
可选的,本发明实施例中的计算机执行指令也可以称之为应用程序代码,本发明实施例对此不作具体限定。
在具体实现中,作为一种实施例,如图6所示,处理器410可以包括一个或多个CPU,如图6中的CPU0和CPU1。
在具体实现中,作为一种实施例,如图6所示,终端设备可以包括多个处理器,如图6中的第一处理器4101和第二处理器4102。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。
图7是本发明实施例提供的芯片的结构示意图。如图7所示,该芯片500包括一个或两个以上(包括两个)处理器410。
可选的,如图7所示,该芯片还包括通信接口420和存储器430,存储器430可以包括只读存储器和随机存取存储器,并向处理器提供操作指令和数据。存储器的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,如图7所示,存储器430存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本发明实施例中,如图7所示,通过调用存储器存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
如图7所示,处理器410控制终端设备中任一个的处理操作,处理器410还可以称为中央处理单元(central processing unit,CPU)。
如图7所示,存储器430可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器430的一部分还可以包括NVRAM。例如应用中存储器、通信接口以及存储器通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图7中将各种总线都标为总线系统540。
如图7所示,上述本发明实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
一方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当指令被运行时,实现上述实施例中由终端设备执行的功能。
一方面,提供一种芯片,该芯片应用于终端设备中,芯片包括至少一个处理器和通信接口,通信接口和至少一个处理器耦合,处理器用于运行指令,以实现上述实施例中由多并行度优化方法执行的功能。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (7)

1.多并行度优化方法,其特征在于,应用于运行神经网络模型的神经网络处理设备,所述神经网络处理设备具有存算一体芯片,所述方法包括:
获取多并行度下所述存算一体芯片的等效电导参数;
基于所述等效电导参数确定权重矩阵;
基于所述权重矩阵对所述神经网络模型进行训练,确定目标权重;
基于所述目标权重调整所述存算一体芯片的参数;
所述基于所述权重矩阵对所述神经网络模型进行训练,确定目标权重,包括:
基于所述权重矩阵确定辅助权重矩阵;
以所述辅助权重矩阵作为所述神经网络模型的权重,对所述神经网络模型进行训练确定所述目标权重;
所述基于所述权重矩阵确定辅助权重矩阵,包括:
基于所述权重矩阵确定所述辅助并行矩阵;对所述辅助并行矩阵采用取整量化操作确定所述辅助权重矩阵;其中,
所述辅助并行矩阵包括两个并行子矩阵,两个所述并行子矩阵基于并行度构建;所述两个并行子矩阵包括左并行矩阵和右并行矩阵;
其中,
Figure FDA0004162037890000011
其中,所述[W]m,n表示所述权重矩阵;所述WL表示所述左并行矩阵;所述WR表示所述右并行矩阵;所述para表示并行度;
具体的,
Figure FDA0004162037890000021
Figure FDA0004162037890000022
所述基于所述等效电导参数确定权重矩阵,包括:
对所述等效电导参数进行差分处理,得到所述等效电导参数对应的所述权重矩阵。
2.根据权利要求1所述的方法,其特征在于,当所述神经网络模型含有归一化层,所述存算一体芯片具有支持实现归一化运行的归一化子电路;所述基于所述目标权重调整所述存算一体芯片的参数,包括:
基于所述目标权重调整所述归一化子电路的参数。
3.根据权利要求1至2任一所述的方法,其特征在于,所述参数包括电阻值;
所述等效电导参数包括经元电路的差分汇聚电流,所述基于所述等效电导参数确定权重矩阵包括:
根据所述等效电导参数确定存算一体芯片的并行电导;基于所述并行电导进行差分确定所述权重矩阵。
4.一种多并行度优化装置,其特征在于,应用于运行神经网络模型的神经网络处理设备,所述神经网络处理设备具有存算一体芯片,所述装置包括:
获取模块,用于获取多并行度下所述存算一体芯片的等效电导参数;
第一确定模块,用于基于所述等效电导参数确定权重矩阵;
第二确定模块,用于基于所述权重矩阵对所述神经网络模型进行训练,确定目标权重;
调整模块,用于基于所述目标权重调整所述存算一体芯片的参数;
所述第二确定模块包括:
第一确定子模块,用于基于所述权重矩阵确定辅助权重矩阵;
第二确定子模块,用于以所述辅助权重矩阵作为所述神经网络模型的权重,对所述神经网络模型进行训练确定所述目标权重;
所述第一确定子模块包括:
第一确定单元,用于基于所述权重矩阵确定所述辅助并行矩阵;
第二确定单元,用于对所述辅助并行矩阵采用取整量化操作确定辅助权重矩阵;其中,
所述辅助并行矩阵包括两个并行子矩阵,两个所述并行子矩阵基于并行度构建;所述两个并行子矩阵包括左并行矩阵和右并行矩阵;
其中,
Figure FDA0004162037890000031
其中,所述[W]m,n表示所述权重矩阵;所述WL表示所述左并行矩阵;所述WR表示所述右并行矩阵;所述para表示并行度;
具体的,
Figure FDA0004162037890000041
Figure FDA0004162037890000042
所述第一确定模块,包括:
权重矩阵确定子模块,用于对所述等效电导参数进行差分处理,得到所述等效电导参数对应的所述权重矩阵。
5.一种识别方法,其特征在于,应用于运行神经网络模型的神经网络处理设备,所述神经网络处理设备具有存算一体芯片;所述存算一体芯片的参数由权利要求1~3任一项所述方法确定;所述方法包括:
获取多并行度下所述存算一体芯片的等效电导参数;
基于所述等效电导参数确定所述神经网络模型的定点数权重;
向所述神经网络模型输入待识别信息,获得识别结构。
6.根据权利要求5所述的方法,其特征在于,所述神经网络模型包括输入层、输出层以及多个隐藏层;
所述输入层用于对所述待识别信息进行处理,得到第一输出值;
每个所述处理单元用于对所述第一输出值进行处理,在所述隐藏层为最后一层隐藏层的情况下,向所述输出层馈入输出信息,得到第二输出值;
所述输出层用于对所述第二输出值进行概率预测处理,确定预测结果。
7.一种电子设备,其特征在于,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当所述指令由所述一个或多个处理器执行时,使得所述设备执行权利要求1-3任一所述的多并行度优化方法。
CN202110662206.0A 2021-06-15 2021-06-15 多并行度优化方法、装置、识别方法和电子设备 Active CN115481562B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110662206.0A CN115481562B (zh) 2021-06-15 2021-06-15 多并行度优化方法、装置、识别方法和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110662206.0A CN115481562B (zh) 2021-06-15 2021-06-15 多并行度优化方法、装置、识别方法和电子设备

Publications (2)

Publication Number Publication Date
CN115481562A CN115481562A (zh) 2022-12-16
CN115481562B true CN115481562B (zh) 2023-05-16

Family

ID=84419101

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110662206.0A Active CN115481562B (zh) 2021-06-15 2021-06-15 多并行度优化方法、装置、识别方法和电子设备

Country Status (1)

Country Link
CN (1) CN115481562B (zh)

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104916313B (zh) * 2015-06-16 2019-06-25 北京灵汐科技有限公司 基于忆阻器件的神经网络突触结构及突触权重构建方法
CN108009640B (zh) * 2017-12-25 2020-04-28 清华大学 基于忆阻器的神经网络的训练装置及其训练方法
WO2019127363A1 (zh) * 2017-12-29 2019-07-04 清华大学 神经网络权重编码方法、计算装置及硬件系统
CN111048135A (zh) * 2018-10-14 2020-04-21 天津大学青岛海洋技术研究院 一种基于忆阻器内存计算的cnn处理装置及其工作方法
CN109543827B (zh) * 2018-12-02 2020-12-29 清华大学 生成式对抗网络装置及训练方法
CN109800870B (zh) * 2019-01-10 2020-09-18 华中科技大学 一种基于忆阻器的神经网络在线学习系统
CN110443168A (zh) * 2019-07-23 2019-11-12 华中科技大学 一种基于忆阻器的神经网络人脸识别系统
US20210097379A1 (en) * 2019-09-26 2021-04-01 Qatar Foundation For Education, Science And Community Development Circuit for calculating weight adjustments of an artificial neural network, and a module implementing a long short-term artificial neural network
CN110796241B (zh) * 2019-11-01 2022-06-17 清华大学 基于忆阻器的神经网络的训练方法及其训练装置
CN110807519B (zh) * 2019-11-07 2023-01-17 清华大学 基于忆阻器的神经网络的并行加速方法及处理器、装置
CN112825153A (zh) * 2019-11-20 2021-05-21 华为技术有限公司 神经网络系统中数据处理的方法、神经网络系统
CN111985495B (zh) * 2020-07-09 2024-02-02 珠海亿智电子科技有限公司 模型部署方法、装置、系统及存储介质
CN112101549B (zh) * 2020-09-22 2024-05-10 清华大学 基于忆阻器阵列的神经网络的训练方法和装置
CN112199234A (zh) * 2020-09-29 2021-01-08 中国科学院上海微系统与信息技术研究所 一种基于忆阻器的神经网络容错方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于忆耦器实现神经突触可塑性和神经网络模拟;尚大山,孙阳;《物理》;第47卷(第6期);第376-378页 *
基于磁电耦合效应的基本电路元件和非易失性存储器;申见昕,尚大山,孙阳;《物理学报》;第67卷(第12期);第186-200页 *

Also Published As

Publication number Publication date
CN115481562A (zh) 2022-12-16

Similar Documents

Publication Publication Date Title
US11790212B2 (en) Quantization-aware neural architecture search
CN109754066B (zh) 用于生成定点型神经网络的方法和装置
US20210004663A1 (en) Neural network device and method of quantizing parameters of neural network
US20190171927A1 (en) Layer-level quantization in neural networks
US11604960B2 (en) Differential bit width neural architecture search
US20210400286A1 (en) Video Compression in Removable Storage Device having Deep Learning Accelerator and Random Access Memory
WO2021042857A1 (zh) 图像分割模型的处理方法和处理装置
US20200302273A1 (en) Subsampling training data during artificial neural network training
US20200302283A1 (en) Mixed precision training of an artificial neural network
CN111950692B (zh) 用于改进的通用化的基于汉明距离的稳健输出编码
CN111105017A (zh) 神经网络量化方法、装置及电子设备
US20200074285A1 (en) Artificial neural network and method of controlling fixed point in the same
CN111079753A (zh) 一种基于深度学习与大数据结合的车牌识别方法及装置
US20230133337A1 (en) Quantization calibration method, computing device and computer readable storage medium
WO2020005599A1 (en) Trend prediction based on neural network
CN116090504A (zh) 图神经网络模型训练方法及装置、分类方法、计算设备
CN116542673B (zh) 应用于机器学习的欺诈行为识别方法及系统
CN115481562B (zh) 多并行度优化方法、装置、识别方法和电子设备
CN111310743A (zh) 人脸识别方法、装置、电子设备及可读存储介质
CN112651467B (zh) 卷积神经网络的训练方法和系统以及预测方法和系统
US20220044102A1 (en) Fault tolerant artificial neural network computation in deep learning accelerator having integrated random access memory
Wang et al. A Weight Importance Analysis Technique for Area-and Power-Efficient Binary Weight Neural Network Processor Design
CN115984302B (zh) 基于稀疏混合专家网络预训练的多模态遥感图像处理方法
US20230297815A1 (en) Sparse binary representation for self supervised information extraction
CN117218493A (zh) 一种图小样本类增学习的存内计算实现方法、装置和电子设备

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