CN114722751B - 运算单元的构架选择模型训练方法和构架选择方法 - Google Patents
运算单元的构架选择模型训练方法和构架选择方法 Download PDFInfo
- Publication number
- CN114722751B CN114722751B CN202210632181.4A CN202210632181A CN114722751B CN 114722751 B CN114722751 B CN 114722751B CN 202210632181 A CN202210632181 A CN 202210632181A CN 114722751 B CN114722751 B CN 114722751B
- Authority
- CN
- China
- Prior art keywords
- framework
- arithmetic unit
- constraint
- training
- optimized
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
- G06F30/27—Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
-
- 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/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/04—Constraint-based CAD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/06—Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明公开了一种运算单元的构架选择模型训练方法和构架选择方法,应用于电路设计领域,所述训练方法包括:计算机设备在获取到运算单元对应的多种特征值后,将根据优化目标从多种特征值中选取对应的至少一种特征值作为构架的约束参数,以在确定每个构架的约束参数后,将构架和对应的约束参数作为数据点,并构建训练预设的神经网络模型所需的数据集,接着利用训练集训练神经网络模型,最后在满足预设的训练终止条件时,停止所述神经网络模型的训练,进而得到运算单元的构架选择模型。基于此,本发明通过模型训练避免了设计逻辑树或决策系统所需的成本,且在应用后能将通过模型高效完成构架优化,避免了穷举法产生的效率与精度均较低的问题。
Description
技术领域
本发明涉及电路设计领域,尤其涉及一种运算单元的构架选择模型训练方法和构架选择方法。
背景技术
随着超大规模集成电路的发展和高性能计算需求的出现,对集成电路中运算单元的优化的重要性成已为电路设计的重点。
常见的,运算单元的优化包括构架优化,构架优化即为运算单元选择合适的构架。以运算单元加法器为例,运算单元加法器的构架有链式进位加法(Ripple Carry Adder)、提前进位加法(Carry Lookahead Adder)及前缀式加法类(Prefix Adder)等宏构架,且不同宏构架又对应有多种微构架,进而对运算单元加法器进行构架优化则为从多种构架中选择满足时延最低或电路面积最小等设计需要的构架。
但在超大规模电路中,运算单元的数量通常十分巨大,因而对每个运算单元均采用穷尽法以进行构架优化,将对计算机的硬件造成极大负荷,且需较长的时间。
发明内容
有鉴于此,本发明提供一种运算单元的构架选择模型训练方法和构架选择方法,以改善超大规模电路中采用穷尽法以进行构架优化,将对计算机的硬件造成极大负荷,且需较长的时间的现状。
第一方面,本发明实施例提供一种运算单元的构架选择模型训练方法,包括:
获取运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数,并将每种所述构架和对应的约束参数作为数据点,构建数据集;
利用所述数据集训练预设的神经网络模型,以使所述神经网络模型根据输入的约束参数,输出满足所述优化目标的构架;
当满足预设的训练终止条件时,停止所述神经网络模型的训练,得到所述运算单元的构架选择模型。
可选的,在本发明实施例提供的一种可行方式中,所述基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数,并将每种所述构架和对应的约束参数作为数据点,构建数据集,包括:
基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数;
设置所述约束参数满足所述优化目标对应的构架的标签为第一预设值,并设置所述约束参数不满足所述优化目标对应的构架的标签为第二预设值;
将每种所述构架的标签和对应的约束参数作为数据点,构建数据集。
可选的,在本发明实施例提供的一种可行方式中,所述约束参数包括电路面积和时延,所述优化目标包括最小化所述约束参数对应的第一代价函数,所述第一代价函数包括:
式中,f cost表示第一代价函数,Area表示电路面积,λ表示第一预设参数,t s 表示最差负时序裕量。
可选的,在本发明实施例提供的一种可行方式中,所述约束参数包括电路面积和时延,所述优化目标包括最小化所述约束参数对应的第二代价函数,所述第二代价函数包括:
第二方面,本发明实施例提供一种运算单元的构架选择方法,包括:
获取待优化电路中待优化运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
根据所述待优化电路的设计规则,确定所述待优化运算单元对应的优化目标;
基于所述优化目标将每种所述构架的多种特征值中的至少一种特征值作为每种所述构架的约束参数;
根据所述优化目标和所述约束参数,确定所述待优化运算单元的构架选择模型,并将所述每种构架的约束参数输入至所述构架选择模型,得到目标构架,其中,所述待优化运算单元的构架选择模型通过第一方面中任一种所述的运算单元的构架选择模型训练方法得到。
可选的,在本发明实施例提供的一种可行方式中,所述约束参数还包括所述待优化电路中,与所述待优化运算单元相连的运算单元的特征值。
第三方面,本发明实施例提供一种运算单元的构架选择模型训练装置,包括:
特征获取模块,用于获取运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
数据集构建模块,用于基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数,并将每种所述构架和对应的约束参数作为数据点,构建数据集;
第一训练模块,用于利用所述数据集训练预设的神经网络模型,以使所述神经网络模型根据输入的约束参数,输出满足所述优化目标的构架;
第二训练模块,用于当满足预设的训练终止条件时,停止所述神经网络模型的训练,得到所述运算单元的构架选择模型。
第四方面,本发明实施例提供一种运算单元的构架选择装置,包括:
特征值获取模块,用于获取待优化电路中待优化运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
目标确定模块,用于根据所述待优化电路的设计规则,确定所述待优化运算单元对应的优化目标;
约束确定模块,用于基于所述优化目标将每种所述构架的多种特征值中的至少一种特征值作为每种所述构架的约束参数;
选择模块,用于根据所述优化目标和所述约束参数,确定所述待优化运算单元的构架选择模型,并将所述每种构架的约束参数输入至所述构架选择模型,得到目标构架,其中,所述待优化运算单元的构架选择模型通过第一方面中任一种所述的运算单元的构架选择模型训练方法得到。
第五方面,本发明实施例提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中任一种公开的所述的运算单元的构架选择模型训练方法,或如第二方面中任一种公开的所述的运算单元的构架选择方法。
第六方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在处理器上运行时执行如第一方面中任一种公开的所述的运算单元的构架选择模型训练方法,或如第二方面中任一种公开的所述的运算单元的构架选择方法。
本发明实施例提供的构架选择模型训练方法中,计算机设备在获取到运算单元对应的每种构架的时钟频率、驱动电容、位宽、电路面积、时延及功耗等特征值后,将根据优化目标从多种特征值中选取对应的至少一种特征值作为构架的约束参数,以在确定每个构架的约束参数后,将构架和对应的约束参数作为数据点,并构建训练预设的神经网络模型所需的数据集,接着利用训练集训练神经网络模型,也即,使神经网络模型根据数据集中的数据和优化目标,不断预测输入参数中满足优化目标的结果,即构架,从而调整神经网络模型中的各个权重参数和偏置参数,最后在满足预设的训练终止条件时,停止所述神经网络模型的训练,进而得到运算单元的构架选择模型。
基于此,本发明实施例基于神经网络模型的训练,避免了人工设计逻辑树或决策系统所需的大量人工成本,进而在应用于实际生产环境后,计算机设备将根据训练好的构架选择模型高效地完成构架优化,从而避免了采用穷举法进行构架优化而带来的效率较低的问题,并且,相比于穷举法,构架选择模型将输出质量更高的构架选择结果;此外,因神经网络模型的输出结果和优化目标均可根据实际情况灵活设置,使得本发明提供的构架选择模型训练方法具备较高的泛化性和延伸性,从而能满足不同的构架优化需求;而且,不同约束参数、不同运算单元及不同优化目标对应的神经网络模型将可基于轻量化结构实现,使得计算机设备能高效地完成不同神经网络模型的训练。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本发明实施例提供的运算单元的构架选择模型训练方法的流程示意图;
图2示出了本发明实施例提供的运算单元的构架选择模型训练装置的结构示意图;
图3示出了本发明实施例提供的运算单元的构架选择方法的流程示意图;
图4示出了本发明实施例提供的运算单元的构架选择装置的结构示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
实施例1
参照图1,示出了本发明实施例提供的运算单元的构架选择模型训练的流程示意图,本发明实施例提供的种运算单元的构架选择模型训练包括:
S110,获取运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗。
需理解的是,本发明实施例中的特征值代表构架的物理特性和工业特性,包括但不限于时钟频率、驱动电容、位宽、电路面积、时延及功耗。示范性的,在一种针对加法运算单元的实例中,加法运算单元对应的每种构架的多种特征值除上述内容外,还包括左右操作数的每一位信号的时延、与门子单元的面积、与门子单元的时延等等参数。
S120,基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数,并将每种所述构架和对应的约束参数作为数据点,构建数据集。
可以理解的是,本发明实施例中的约束参数仅为所有构架的多种特征值中的一部分,用于构成训练预设的神经网络模型的数据集。示范性的,在一种可行方式中,每种构架对应的特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗时,约束参数为每种构架的位宽和电路面积。
还可以理解的是,本发明实施例中的优化目标表示训练好的神经网络模型的作用,示范性的,在一种可行方式中,优化目标为从运算单元对应的多种构架中选取时延最小的构架,故在利用数据集训练神经网络模型时,神经网络模型将根据数据集中每种构架的约束参数,预测时延最小的构架;而在另一种可行方式中,优化目标为位宽为预设位宽且电容值为预设电容值时,延时最小的构架。
需说明的是,虽然在本发明实施例中以一种特征值作为约束参数为可行的方式,但在实际生产环境,常采用五种及五种以上特征值作为约束参数,以避免神经网络模型的性能浪费。
为更好地说明本发明实施例中的预收参数,请参考表1,示出了本发明实施例提供的一种实例中的约束参数表。
表1
约束 参数 1 | W1 | 左操作数位宽 |
约束 参数 2 | W 2 | 右操作数位宽 |
约束 参数 3 | T | 运算电路的时钟周期 |
约束 参数 4 | D1 | 左操作数时延 |
约束 参数 5 | D2 | 右操作数时延 |
约束 参数 6 | C | 输出信号所驱动的电容值 |
约束 参数 7 | AND 1 | 工艺映射库中与门的面积 |
约束 参数 8 | A ND2 | 工艺映射库中与门的时延 |
需说明的是,表1表示训练最小时延的加法运算单元时所采用的约束参数,也即利用表1进行模型训练时,构架选择模型将输出约束参数1-8均满足优化目标的预测结果。
此外,利用数据点构建数据集的方式可根据实际情况设置,如在一种可行方式中,计算机设备在得到多个数据点后,将按照8:1:1的比例,将多个数据点划分为训练集、验证集以及测试集,从而完成数据集的构建。
S130,利用所述数据集训练预设的神经网络模型,以使所述神经网络模型根据输入的约束参数,输出满足所述优化目标的构架。
也即,本发明实施例利用数据集对预设的神经网络模型进行训练,即训练神经网络模型中的各个权重参数和偏置参数。
可以理解的是,因运算单元的特征值较多,仅通过构建不同的逻辑树或其他决策系统来对运算单元进行不同的构架优化将涉及较大的工程量,且需人工设计不同逻辑分支或不同策略,进而需产生较大的人工成本。因此,本发明实施例通过训练轻量且高效的神经网络模型来进行不同的构架优化。
还可以理解的是,神经网络模型的具体结构可根据实际情况设置,如在本发明实施例提供的一种可行方式中,神经网络模型为包含4层前馈网络的多层感知器(MultilayerPerceptron,MLP),其中包含两层节点数为16的隐藏层。
S140,当满足预设的训练终止条件时,停止所述神经网络模型的训练,得到所述运算单元的构架选择模型。
可以理解的是,训练终止条件可根据实际情况设置,如在一种可行方式中,训练终止条件为已训练10个周期(epoch);在另一种可行方式中,训练终止条件为模型出现过拟合现象时停止,其中,过拟合现象包括但不限于损失函数收敛一段时间后出现波动,训练次数的增加但准确率却逐渐降低等等现象。
还可以理解的是,当完成不同优化目标、不同约束参数及不同运算单元的构架选择模型时,计算机设备将保存训练好的构架选择模型的各个参数,以在后续需调用模型时,可直接加载模型的参数以响应模型调用。
本发明实施例提供的运算单元的构架选择模型训练方法中,计算机设备在获取到运算单元对应的每种构架的时钟频率、驱动电容、位宽、电路面积、时延及功耗等特征值后,将根据优化目标从多种特征值中选取对应的至少一种特征值作为构架的约束参数,以在确定每个构架的约束参数后,将构架和对应的约束参数作为数据点,并构建训练预设的神经网络模型所需的数据集,接着利用训练集训练神经网络模型,也即,使神经网络模型根据数据集中的数据和优化目标,不断预测输入参数中满足优化目标的结果,即构架,从而调整神经网络模型中的各个权重参数和偏置参数,最后在满足预设的训练终止条件时,停止所述神经网络模型的训练,得到运算单元的构架选择模型。
基于此,本发明实施例基于神经网络模型的训练,避免了人工设计逻辑树或决策系统所需的大量人工成本,进而在应用于实际生产环境后,计算机设备将根据训练好的构架选择模型高效地完成构架优化,从而避免了采用穷举法进行构架优化而带来的效率较低的问题,并且,相比于穷举法,构架选择模型将输出质量更高的构架选择结果;此外,因神经网络模型的输出结果和优化目标均可根据实际情况灵活设置,使得本发明提供的构架选择模型训练方法具备较高的泛化性和延伸性,从而能满足不同的构架优化需求;而且,不同约束参数、不同运算单元及不同优化目标对应的神经网络模型将可基于轻量化结构实现,使得计算机设备能高效地完成不同神经网络模型的训练。
可选的,在本发明实施例提供的一种可行方式,S120包括:
基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数;
设置所述约束参数满足所述优化目标对应的构架的标签为第一预设值,并设置所述约束参数不满足所述优化目标对应的构架的标签为第二预设值;
将每种所述构架的标签和对应的约束参数作为数据点,得到数据集。
可以理解的是,因模型任务的不同,生成数据点的过程亦会存在不同的差异,在此种可行方式中,本发明实施例将基于监督学习任务设置数据点。也即,本发明实施例中的计算机设备将利用穷举遍历或是其他方式,预先确定运算单元对应的所有构架中约束参数满足优化目标的目标构架,接着将目标构架的标签设置为第一预设值,将其他构架的标签设置为第二预设值,从而完成构架的标注。
可选的,在一种可行方式中,第一预设值为1,第二预设值为0。
还可以理解的是,相比于无监督学习,基于监督学习的模型训练相对简单,进而能更为高效地完成模型训练。
进一步的,当采用此种基于监督学习设置数据点的方式时,本发明实施例将使用对应的指标来评估构架选择模型的训练效果,在一种优选方式中,对应的指标为F1分数(F1-score)。
可选的,在本发明实施例提供的一种可行方式中,所述约束参数包括电路面积和时延,所述优化目标包括最小化所述约束参数对应的第一代价函数,所述第一代价函数包括:
式中,f cost表示第一代价函数,Area表示电路面积,λ表示第一预设参数,t s 表示最差负时序裕量。
可以理解的是,本发明实施例提供的代价函数(cost function)用于表征构架选择模型的训练过程中,构架选择模型输出的预测值与真实值之间的差异,代价函数越小,说明构架选择模型的预测准确率越高。
还可以理解的是,第一代价函数越小,越能表明构架选择模型输出的预测值为时延最小的构架,也可以理解为在优先保证时延已较小的情况下,电路面积最小的构架,也即Delay First Area Second(时延优先电路面积次之,DFAS)。
具体而言,最差负时序裕量(worst negative slack,wns)若小于0,第一代价函数将等于电路面积加上第一预设参数与最差负时序裕量之和,若第一代价函数最小,则说明电路面积与最差负时序裕量最小。可以理解的是,为保证模型能准确地学习到预测结果需满足DFAS的知识,第一预设参数需设置为一个较大值。
若最差负时序裕量大于等于0,则说明时延约束已得到满足,进而此时以电路面积最小为目标。
此外,需说明的是,此种可行方式下的代价函数为本发明实施例提供的一种可选方式之一,代价函数可根据实际情况设置。如在另一种可行方式中,所述约束参数包括电路面积和时延,所述优化目标包括最小化所述约束参数对应的第二代价函数,所述第二代价函数包括:
也即,此种实施方式下本发明实施例将基于第二预设参数平衡电路面积和时延的关系,换言之,因第二代价函数中第二预设参数的不同取值,优化的方向将对应地靠近电路面积优先或时延优先。
实施例2
本发明实施例2提供一种运算单元的构架选择方法,参照图2,示出了本发明实施例提供的运算单元的构架选择方法的流程示意图,本发明实施例提供的运算单元的构架选择方法,包括:
S210,获取待优化电路中待优化运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
S220,根据所述待优化电路的设计规则,确定所述待优化运算单元对应的优化目标;
S230,基于所述优化目标将每种所述构架的多种特征值中的至少一种特征值作为每种所述构架的约束参数;
S240,根据所述优化目标和所述约束参数,确定所述待优化运算单元的构架选择模型,并将所述每种构架的约束参数输入至所述构架选择模型,得到目标构架,其中,所述待优化运算单元的构架选择模型通过实施例1所述的运算单元的构架选择模型训练方法得到。
也即,本发明实施例将获取待优化电路中的待优化运算单元,也即待优化电路中需进行构架优化的运算单元对应的特征值,如时钟频率、驱动电容、位宽、电路面积、时延及功耗。
接着,计算机设备根据预先接收到的设计规则信息,如待优化电路中所有运算单元的电路面积需最小,或待优化电路的信号处理速度,也即待优化电路的时延需最小,又或是待优化电路中待优化运算单元的位宽为预设位宽时,构架的时延需最小等等设计规则信息,确定待优化电路的设计规则,进而根据待优化电路的设计规则确定待优化运算单元对应的优化目标。如若待优化电路要求时延需最小,则待优化运算单元对应的优化目标为时延最小。
然后,计算机设备基于待优化运算单元对应的优化目标,从先前获取到的待优化运算单元对应的多种特征值中,抽取至少一种特征值以作为约束参数;
最后,将根据优化目标和约束参数,确定对待优化运算单元进行构架优化所需的构架选择模型,同时将每种构架的约束参数输入至构架选择模型,以使构架选择模型选择所有构架中的最优构架,即目标构架。
可以理解的是,因构架选择模型已通过训练学习到选择目标构架所需的知识,即模型中训练好的权重参数和偏置参数等,进而能从众多构架中选择出对应的目标构架。
基于此,本发明实施例基于训练好的构架选择模型简单高效地完成最优构架的选择,避免了采用穷举法所带来的选择效率过低的问题。
可选的,在本发明实施例提供的一种可行方式中,所述约束参数还包括所述待优化电路中,与所述待优化运算单元相连的运算单元的特征值。
需理解的是,因在电路设计中,因不同运算单元间的连接关系会对不同单元的构架优化造成一定影响,如第一运算单元与第二运算单元相连,且第一运算单元的信号需发送至第二运算单元,则第一运算单元的输出信号的位宽将对第二运算单元的输入信号的位宽造成限定。
因此,为避免构架选择的过程中,仅通过优化运算单元对应的构建的特征值及构架选择模型,选择出待优化运算单元的最优构架,但忽略了与优化运算单元相连的运算单元的连接关系,导致产生局部最优的情况,本发明实施例还将与待优化运算单元相连的运算单元的特征值一并用于待优化运算单元的构架优化中,以实现全局最优。
还需理解的是,在实际情况中,若与待优化运算单元相连的运算单元,即邻居单元的构架已确定,则邻居单元的构架的特征值如输出信号位宽等特征值将作为待优化运算单元的特征值;而若邻居单元的构架未确定,则邻居单元对应的部分约束参数则需设置为待优化运算单元的约束参数,如邻居单元对应的部分约束参数包含输出信号位宽或输入信号位宽时,需将输出信号位宽或输入信号位宽一并作为待优化运算单元的约束参数。
实施例3
与本发明实施例1提供的运算单元的构架选择模型训练方法相对应的,本发明实施例3还提供一种运算单元的构架选择模型训练装置,参照图3,示出了本发明实施例提供的运算单元的构架选择模型训练装置的结构示意图,本发明实施例提供的运算单元的构架选择模型训练装置300,包括:
特征获取模块310,用于获取运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
数据集构建模块320,用于基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数,并将每种所述构架和对应的约束参数作为数据点,构建数据集;
第一训练模块330,用于利用所述数据集训练预设的神经网络模型,以使所述神经网络模型根据输入的约束参数,输出满足所述优化目标的构架;
第二训练模块340,用于当满足预设的训练终止条件时,停止所述神经网络模型的训练,得到所述运算单元的构架选择模型。
本申请实施例提供的运算单元的构架选择模型训练装置300能够实现实施例1对应的方法实施例中运算单元的构架选择模型训练方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
可选的,在本发明实施例提供的一种可行方式中,所述数据集构建模块,包括:
约束参数选取子模块,用于基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数;
标签设置子模块,用于设置所述约束参数满足所述优化目标对应的构架的标签为第一预设值,并设置所述约束参数不满足所述优化目标对应的构架的标签为第二预设值;
构建子模块,用于将每种所述构架的标签和对应的约束参数作为数据点,构建数据集。
可选的,在本发明实施例提供的一种可行方式中,所述约束参数包括电路面积和时延,所述优化目标包括最小化所述约束参数对应的第一代价函数,所述第一代价函数包括:
式中,f cost表示第一代价函数,Area表示电路面积,λ表示第一预设参数,t s 表示最差负时序裕量。
可选的,在本发明实施例提供的一种可行方式中,所述约束参数包括电路面积和时延,所述优化目标包括最小化所述约束参数对应的第二代价函数,所述第二代价函数包括:
实施例4
与本发明实施例2提供的运算单元的构架选择方法相对应的,本发明实施例4还提供一种运算单元的构架选择装置,参照图4,图4示出了本发明实施例提供的运算单元的构架选择装置的结构示意图,本发明实施例提供的运算单元的构架选择装置400,包括:
特征值获取模块410,用于获取待优化电路中待优化运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
目标确定模块420,用于根据所述待优化电路的设计规则,确定所述待优化运算单元对应的优化目标;
约束确定模块430,用于基于所述优化目标将每种所述构架的多种特征值中的至少一种特征值作为每种所述构架的约束参数;
选择模块440,用于根据所述优化目标和所述约束参数,确定所述待优化运算单元的构架选择模型,并将所述每种构架的约束参数输入至所述构架选择模型,得到目标构架,其中,所述待优化运算单元的构架选择模型通过实施例1所述的运算单元的构架选择模型训练方法得到。
本申请实施例提供的运算单元的构架选择装置能够实现实施例2对应的方法实施例中运算单元的构架选择方法的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
可选的,在本发明实施例提供的一种可行方式中,所述约束参数还包括所述待优化电路中,与所述待优化运算单元相连的运算单元的特征值。
本发明实施例还提供一种计算机设备,包括存储器以及处理器,存储器存储有计算机程序,计算机程序在处理器上运行时执行如实施例1所述的运算单元的构架选择模型训练方法,或如实施例2所述的运算单元的构架选择方法。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在处理器上运行时执行如实施例1所述的运算单元的构架选择模型训练方法,或如实施例2所述的运算单元的构架选择方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系构架、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (9)
1.一种运算单元的构架选择模型训练方法,其特征在于,包括:
获取运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数,并将每种所述构架和对应的约束参数作为数据点,构建数据集;
利用所述数据集训练预设的神经网络模型,以使所述神经网络模型根据输入的约束参数,输出满足所述优化目标的构架;
当满足预设的训练终止条件时,停止所述神经网络模型的训练,得到所述运算单元的构架选择模型;
所述基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数,并将每种所述构架和对应的约束参数作为数据点,构建数据集,包括:
基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数;
设置所述约束参数满足所述优化目标对应的构架的标签为第一预设值,并设置所述约束参数不满足所述优化目标对应的构架的标签为第二预设值;
将每种所述构架的标签和对应的约束参数作为数据点,构建数据集。
4.一种运算单元的构架选择方法,其特征在于,包括:
获取待优化电路中待优化运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
根据所述待优化电路的设计规则,确定所述待优化运算单元对应的优化目标;
基于所述优化目标将每种所述构架的多种特征值中的至少一种特征值作为每种所述构架的约束参数;
根据所述优化目标和所述约束参数,确定所述待优化运算单元的构架选择模型,并将所述每种构架的约束参数输入至所述构架选择模型,得到目标构架,其中,所述待优化运算单元的构架选择模型通过权利要求1-3任一项所述的运算单元的构架选择模型训练方法得到。
5.根据权利要求4所述的运算单元的构架选择方法,其特征在于,所述约束参数还包括所述待优化电路中,与所述待优化运算单元相连的运算单元的特征值。
6.一种运算单元的构架选择模型训练装置,其特征在于,包括:
特征获取模块,用于获取运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
数据集构建模块,用于基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数,并将每种所述构架和对应的约束参数作为数据点,构建数据集;
第一训练模块,用于利用所述数据集训练预设的神经网络模型,以使所述神经网络模型根据输入的约束参数,输出满足所述优化目标的构架;
第二训练模块,用于当满足预设的训练终止条件时,停止所述神经网络模型的训练,得到所述运算单元的构架选择模型;
所述数据集构建模块,包括:
约束参数选取子模块,用于基于预设的优化目标,将每种所述构架的所述多种特征值中的至少一种特征值作为每种所述构架的约束参数;
标签设置子模块,用于设置所述约束参数满足所述优化目标对应的构架的标签为第一预设值,并设置所述约束参数不满足所述优化目标对应的构架的标签为第二预设值;
构建子模块,用于将每种所述构架的标签和对应的约束参数作为数据点,构建数据集。
7.一种运算单元的构架选择装置,其特征在于,包括:
特征值获取模块,用于获取待优化电路中待优化运算单元对应的每种构架的多种特征值,其中,所述多种特征值包括时钟频率、驱动电容、位宽、电路面积、时延及功耗;
目标确定模块,用于根据所述待优化电路的设计规则,确定所述待优化运算单元对应的优化目标;
约束确定模块,用于基于所述优化目标将每种所述构架的多种特征值中的至少一种特征值作为每种所述构架的约束参数;
选择模块,用于根据所述优化目标和所述约束参数,确定所述待优化运算单元的构架选择模型,并将所述每种构架的约束参数输入至所述构架选择模型,得到目标构架,其中,所述待优化运算单元的构架选择模型通过权利要求1-3任一项所述的运算单元的构架选择模型训练方法得到。
8.一种计算机设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行如权利要求1-3任一项所述的运算单元的构架选择模型训练方法,或如权利要求4-5任一项所述的运算单元的构架选择方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在处理器上运行时执行如权利要求1-3任一项所述的运算单元的构架选择模型训练方法,或如权利要求4-5任一项所述的运算单元的构架选择方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210632181.4A CN114722751B (zh) | 2022-06-07 | 2022-06-07 | 运算单元的构架选择模型训练方法和构架选择方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210632181.4A CN114722751B (zh) | 2022-06-07 | 2022-06-07 | 运算单元的构架选择模型训练方法和构架选择方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114722751A CN114722751A (zh) | 2022-07-08 |
CN114722751B true CN114722751B (zh) | 2022-09-02 |
Family
ID=82232420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210632181.4A Active CN114722751B (zh) | 2022-06-07 | 2022-06-07 | 运算单元的构架选择模型训练方法和构架选择方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114722751B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646219A (zh) * | 2013-11-29 | 2014-03-19 | 东南大学 | 基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法 |
CN107817708A (zh) * | 2017-11-15 | 2018-03-20 | 复旦大学 | 一种高兼容性可编程神经网络加速阵列 |
CN108537331A (zh) * | 2018-04-04 | 2018-09-14 | 清华大学 | 一种基于异步逻辑的可重构卷积神经网络加速电路 |
CN110366734A (zh) * | 2017-02-23 | 2019-10-22 | 谷歌有限责任公司 | 优化神经网络架构 |
CN112132272A (zh) * | 2020-09-22 | 2020-12-25 | 中国科学院计算技术研究所 | 神经网络的计算装置、处理器和电子设备 |
CN112541159A (zh) * | 2020-09-30 | 2021-03-23 | 华为技术有限公司 | 一种模型训练方法及相关设备 |
CN113033794A (zh) * | 2021-03-29 | 2021-06-25 | 重庆大学 | 基于深度可分离卷积的轻量级神经网络硬件加速器 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190180183A1 (en) * | 2017-12-12 | 2019-06-13 | Amazon Technologies, Inc. | On-chip computational network |
CN110276447A (zh) * | 2018-03-14 | 2019-09-24 | 上海寒武纪信息科技有限公司 | 一种计算装置及方法 |
-
2022
- 2022-06-07 CN CN202210632181.4A patent/CN114722751B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103646219A (zh) * | 2013-11-29 | 2014-03-19 | 东南大学 | 基于神经网络功耗预测的功耗补偿抗攻击电路及控制方法 |
CN110366734A (zh) * | 2017-02-23 | 2019-10-22 | 谷歌有限责任公司 | 优化神经网络架构 |
CN107817708A (zh) * | 2017-11-15 | 2018-03-20 | 复旦大学 | 一种高兼容性可编程神经网络加速阵列 |
CN108537331A (zh) * | 2018-04-04 | 2018-09-14 | 清华大学 | 一种基于异步逻辑的可重构卷积神经网络加速电路 |
CN112132272A (zh) * | 2020-09-22 | 2020-12-25 | 中国科学院计算技术研究所 | 神经网络的计算装置、处理器和电子设备 |
CN112541159A (zh) * | 2020-09-30 | 2021-03-23 | 华为技术有限公司 | 一种模型训练方法及相关设备 |
CN113033794A (zh) * | 2021-03-29 | 2021-06-25 | 重庆大学 | 基于深度可分离卷积的轻量级神经网络硬件加速器 |
Non-Patent Citations (2)
Title |
---|
基于卷积神经网络加速运算单元设计;江凯等;《计算机工程与设计》;20191216;第40卷(第12期);3620-3624 * |
基于多视图并行的可配置卷积神经网络加速器设计;应三丛等;《工程科学与技术》;20220314;第54卷(第2期);188-195 * |
Also Published As
Publication number | Publication date |
---|---|
CN114722751A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102483639B1 (ko) | 뉴럴 네트워크 구조 확장 방법, 디멘션 리덕션 방법, 및 그 방법을 이용한 장치 | |
US20200097810A1 (en) | Automated window based feature generation for time-series forecasting and anomaly detection | |
US20190138887A1 (en) | Systems, methods, and media for gated recurrent neural networks with reduced parameter gating signals and/or memory-cell units | |
KR102399548B1 (ko) | 뉴럴 네트워크를 위한 방법 및 그 방법을 수행하는 장치 | |
US11521066B2 (en) | Method and apparatus for partitioning deep neural networks | |
US11755904B2 (en) | Method and device for controlling data input and output of fully connected network | |
CN110659742B (zh) | 获取用户行为序列的序列表示向量的方法和装置 | |
CN109697977B (zh) | 语音识别方法和设备 | |
US20210350233A1 (en) | System and Method for Automated Precision Configuration for Deep Neural Networks | |
KR101828215B1 (ko) | Long Short Term Memory 기반 순환형 상태 전이 모델의 학습 방법 및 장치 | |
CN114651261A (zh) | 用于持续学习的条件计算 | |
CN109359730B (zh) | 面向固定输出范式Winograd卷积的神经网络处理器 | |
US20220156508A1 (en) | Method For Automatically Designing Efficient Hardware-Aware Neural Networks For Visual Recognition Using Knowledge Distillation | |
US11348572B2 (en) | Speech recognition method and apparatus | |
US20230162034A1 (en) | Method and apparatus with neural network data input and output control | |
CN112149809A (zh) | 模型超参数的确定方法及设备、计算设备和介质 | |
CN114722751B (zh) | 运算单元的构架选择模型训练方法和构架选择方法 | |
US11256488B1 (en) | Graph-based vectorization for software code optimizations | |
CN114154615A (zh) | 基于硬件性能的神经架构搜索方法和设备 | |
JP2022042467A (ja) | 人工ニューラルネットワークモデル学習方法およびシステム | |
Ortega-Zamorano et al. | FPGA implementation of neurocomputational models: comparison between standard back-propagation and C-Mantec constructive algorithm | |
Veyseh et al. | Improving slot filling by utilizing contextual information | |
US20210279575A1 (en) | Information processing apparatus, information processing method, and storage medium | |
US12001954B2 (en) | Method of performing learning of deep neural network and apparatus thereof | |
KR20190125694A (ko) | 학습 및 추론 장치 및 그 방법 |
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 |