WO2023143121A1 - 一种数据处理方法及其相关装置 - Google Patents
一种数据处理方法及其相关装置 Download PDFInfo
- Publication number
- WO2023143121A1 WO2023143121A1 PCT/CN2023/072060 CN2023072060W WO2023143121A1 WO 2023143121 A1 WO2023143121 A1 WO 2023143121A1 CN 2023072060 W CN2023072060 W CN 2023072060W WO 2023143121 A1 WO2023143121 A1 WO 2023143121A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- sequence
- network
- input
- alignment
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 13
- 238000005457 optimization Methods 0.000 claims abstract description 82
- 238000003062 neural network model Methods 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 113
- 230000006870 function Effects 0.000 claims description 110
- 230000008569 process Effects 0.000 claims description 57
- 238000012545 processing Methods 0.000 claims description 41
- 238000013528 artificial neural network Methods 0.000 claims description 40
- 238000013461 design Methods 0.000 claims description 27
- 230000015654 memory Effects 0.000 claims description 27
- 238000004422 calculation algorithm Methods 0.000 claims description 16
- 238000003860 storage Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 11
- 230000006403 short-term memory Effects 0.000 claims description 11
- 238000013527 convolutional neural network Methods 0.000 claims description 10
- 230000000306 recurrent effect Effects 0.000 claims description 10
- 238000011156 evaluation Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 24
- 230000015572 biosynthetic process Effects 0.000 description 23
- 235000000332 black box Nutrition 0.000 description 23
- 238000003786 synthesis reaction Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 18
- 239000013598 vector Substances 0.000 description 15
- 238000012549 training Methods 0.000 description 14
- 238000013473 artificial intelligence Methods 0.000 description 8
- 125000004122 cyclic group Chemical group 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 238000005070 sampling Methods 0.000 description 6
- 238000010801 machine learning Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000011022 operating instruction Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000003055 full factorial design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000003058 natural language processing Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002787 reinforcement Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000012367 process mapping Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3867—Concurrent instruction execution, e.g. pipeline, look ahead using instruction pipelines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
Abstract
本申请公开了一种数据处理方法,用于解决序列优化问题。本方案中,通过设计多个对齐网络分别对输入序列中不同阶段的数据进行处理,且对齐网络中包括有多个参数对齐网络。针对于同一个阶段中不同输入长度的数据,由相应的参数对齐网络进行处理,以实现将不同输入长度的数据映射为相同长度的特征数据,从而将不同长度的输入序列转换为相同长度的输出序列。最后,通过构建神经网络模型对输出序列进行性能值评估,实现基于流水线的输入序列预测对应的性能值,从而能够基于输入序列和预测的性能值解决序列优化问题。
Description
本申请要求于2022年1月29日提交中国专利局、申请号202210111692.1、发明名称为“一种数据处理方法及其相关装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
本申请涉及人工智能技术领域,尤其涉及一种数据处理方法及其相关装置。
序列优化(sequence optimization)是一类常见的优化问题,本质上是优化一条流水线上不同阶段的选项及其配置,使得经过流水线后所得的性能最优。一般来说,一条流水线中通常包括多个阶段,每个阶段具有多个选项,且每个选项具有待配置的参数。由于流水线中每个阶段只能选择一个选项,且不同选项之间的参数类型是不相同的,从而导致流水线的输入值的长度是不固定的。
序列优化问题可以视为一个黑盒优化问题,即输入和输出之间的解析表达式未知,需要基于大量的输入和输出确定能够使得输出值最优的输入。传统的黑盒优化方法是通过一定的方式选择大量的输入值,并基于输入值进行评估,得到相应的输出值,从而基于大量输入值与输出值之间的关系确定使得输出值最优的输入值。
然而,传统的黑盒优化方法主要用于解决输入值长度固定的参数向量优化问题,而序列优化问题的输入值并非是固定的,难以应用传统的黑盒优化方法来解决序列优化问题。
因此,目前亟需一种能够有效解决序列优化问题的方案。
发明内容
本申请提供了一种数据处理方法,通过设计多个对齐网络分别对输入序列中不同阶段的数据进行处理,且对齐网络中包括有多个参数对齐网络。针对于同一个阶段中不同输入长度的数据,由相应的参数对齐网络进行处理,以实现将不同输入长度的数据映射为相同长度的特征数据,从而将不同长度的输入序列转换为相同长度的输出序列。最后,通过构建神经网络模型对输出序列进行性能值评估,实现基于流水线的输入序列预测对应的性能值,从而能够基于输入序列和预测的性能值解决序列优化问题。
本申请第一方面提供一种数据处理方法,包括:获取输入序列,所述输入序列包括多个数据,所述多个数据中的每个数据分别用于表示流水线任务在不同阶段中所配置的参数,所述流水线任务包括多个待配置参数的阶段。例如,在流水线任务包括N个阶段的情况下,输入序列中包括N个数据,每个数据用于表示N个阶段中的某一个阶段所配置的参数。
将所述输入序列输入第一网络模型,得到包括多个特征数据的输出序列。第一网络模型用于分别对输入序列中的各个数据进行特征提取,得到输入序列中各个数据对应的特征数据,从而得到由多个特征数据所构成的输出序列。并且,对于用于表示同一个流水线任务但长度不同的输入序列,第一网络模型能够将这些输入序列转换为长度相同的输出序列。其中,所述多个特征数据是所述第一网络模型中的多个对齐网络分别对所述多个数据中不
同的数据进行处理得到的,所述多个对齐网络中的每个对齐网络均包括选择网络和多个参数对齐网络,所述选择网络用于根据输入的数据的类型将所述数据输出至所述多个参数对齐网络中的目标参数对齐网络并将所述目标参数对齐网络输出的特征数据作为对齐网络的输出,所述多个参数对齐网络分别用于将不同长度的数据映射为相同长度的特征数据。
将所述输出序列输入第二网络模型,得到性能值,所述第二网络模型用于预测所述流水线任务在采用输入序列来配置参数时所对应的性能值。
本方案中,通过设计多个对齐网络分别对输入序列中不同阶段的数据进行处理,且对齐网络中包括有多个参数对齐网络。针对于同一个阶段中不同输入长度的数据,由相应的参数对齐网络进行处理,以实现将不同输入长度的数据映射为相同长度的特征数据,从而将不同长度的输入序列转换为相同长度的输出序列。最后,通过构建神经网络模型对输出序列进行性能值评估,实现基于流水线的输入序列预测对应的性能值,从而能够基于输入序列和预测的性能值解决序列优化问题。
在一个可能的实现方式中,所述流水线任务中的每个阶段包括多个选项,所述多个选项中不同选项下的待配置参数的长度不一样,所述多个数据中的每个数据分别用于表示一个阶段中的一个选项所对应的配置参数;所述选择网络用于根据所述输入的数据所属的目标选项,将所述数据输出至与所述目标选项对应的目标参数对齐网络。
对于流水线任务中的任意一个阶段,该阶段中包括多个选项,而不同选项之间需配置的参数是不相同的,且不同选项之间需配置的参数的个数也可能是不相同的。那么,对于用于表示输入序列中同一个阶段的不同数据而言,由于这些数据所表示的参数是不相同的且参数的个数也可能是不相同的,因此这些数据的长度也可能是不相同的。也就是说,对于同一个流水线任务,用于表示该流水线任务中不同参数的输入序列的长度可能是不相同的。
在一个可能的实现方式中,所述多个对齐网络中的每个对齐网络均用于输出相同长度的特征数据,所述多个特征数据中每个特征数据的长度相同。
通过构建输出相同长度的特征数据的多个对齐网络,可以将不同的输出序列转换为长度固定的输出序列,且输出序列间的各个特征数据的长度相同,便于后续的时间序列模型学习特征数据之间的序列关系。
在一个可能的实现方式中,所述多个参数对齐网络包括多层感知机或卷积神经网络。
在一个可能的实现方式中,所述第二网络模型为时间序列模型,所述第二网络模型用于基于所述多个特征数据以及所述多个特征数据之间的关系预测所述性能值。
本方案中,基于时间序列模型来构建第二网络模型,考虑了输入序列中不同数据之间的序列关系,能够有效提高第二网络模型预测性能值的精度和效率。
在一个可能的实现方式中,所述第二网络模型包括循环神经网络、长短期记忆网络或注意力网络。
在一个可能的实现方式中,所述第二网络模型包括多个子网络,所述多个子网络用于分别对所述输出序列进行处理,以得到多个预测值,所述性能值是基于所述多个预测值得到的。
本方案中,在第二网络模型中采用多个独立的网络模型来对输出序列进行处理,并综合多个独立的网络模型的输出来得到最终的预测值,能够防止第二网络模型过拟合到数据上(即第二网络模型在训练过程中只学习到了与训练数据密切相关的知识),提高第二网络模型的预测精度。
在一个可能的实现方式中,基于所述输入序列和所述多个预测值,通过搜索函数进行序列搜索,得到推荐序列,所述推荐序列为所述搜索函数所搜索到的性能值最高的序列。
本方案中,基于第二网络模型预测得到的性能值,进一步搜索未知空间中性能值最高的序列,得到相应的推荐序列,能够提高序列优化的效率,尽快找到使得性能值最高的输入序列。
在一个可能的实现方式中,所述基于所述输入序列和所述多个预测值,通过搜索函数进行序列搜索,包括:基于所述输入序列和所述多个预测值,构建多个不同的搜索函数,所述多个不同的搜索函数均用于进行序列搜索;基于多目标优化算法,确定所述多个不同的搜索函数的帕累托前沿,所述帕累托前沿用于表示所述多个不同的搜索函数的共同优化结果;基于所述帕累托前沿,确定所述推荐序列。
在一个可能的实现方式中,所述流水线任务包括电路设计任务、神经网络模型设计任务、软件设计任务或软件部署任务。
本申请第二方面提供一种数据处理装置,包括:
获取模块,用于获取输入序列,所述输入序列包括多个数据,所述多个数据中的每个数据分别用于表示流水线任务在不同阶段中所配置的参数,所述流水线任务包括多个待配置参数的阶段;
处理模块,用于将所述输入序列输入第一网络模型,得到包括多个特征数据的输出序列,所述多个特征数据是所述第一网络模型中的多个对齐网络分别对所述多个数据中不同的数据进行处理得到的,所述多个对齐网络中的每个对齐网络均包括选择网络和多个参数对齐网络,所述选择网络用于根据输入的数据的类型将所述数据输出至所述多个参数对齐网络中的目标参数对齐网络并将所述目标参数对齐网络输出的特征数据作为对齐网络的输出,所述多个参数对齐网络分别用于将不同长度的数据映射为相同长度的特征数据;
所述处理模块,还用于将所述输出序列输入第二网络模型,得到性能值,所述第二网络模型用于预测所述流水线任务在采用输入序列来配置参数时所对应的性能值。
在一个可能的实现方式中,所述流水线任务中的每个阶段包括多个选项,所述多个选项中不同选项下的待配置参数的长度不一样,所述多个数据中的每个数据分别用于表示一个阶段中的一个选项所对应的配置参数;所述选择网络用于根据所述输入的数据所属的目标选项,将所述数据输出至与所述目标选项对应的目标参数对齐网络。
在一个可能的实现方式中,所述多个对齐网络中的每个对齐网络均用于输出相同长度的特征数据,所述多个特征数据中每个特征数据的长度相同。
在一个可能的实现方式中,所述多个参数对齐网络包括多层感知机或卷积神经网络。
在一个可能的实现方式中,所述第二网络模型为时间序列模型,所述第二网络模型用
于基于所述多个特征数据以及所述多个特征数据之间的关系预测所述性能值。
在一个可能的实现方式中,所述第二网络模型包括循环神经网络、长短期记忆网络或注意力网络。
在一个可能的实现方式中,所述第二网络模型包括多个子网络,所述多个子网络用于分别对所述输出序列进行处理,以得到多个预测值,所述性能值是基于所述多个预测值得到的。
在一个可能的实现方式中,所述处理模块,还用于基于所述输入序列和所述多个预测值,通过搜索函数进行序列搜索,得到推荐序列,所述推荐序列为所述搜索函数所搜索到的性能值最高的序列。
在一个可能的实现方式中,所述处理模块,具体用于:基于所述输入序列和所述多个预测值,构建多个不同的搜索函数,所述多个不同的搜索函数均用于进行序列搜索;基于多目标优化算法,确定所述多个不同的搜索函数的帕累托前沿,所述帕累托前沿用于表示所述多个不同的搜索函数的共同优化结果;基于所述帕累托前沿,确定所述推荐序列。
在一个可能的实现方式中,所述流水线任务包括电路设计任务、神经网络模型设计任务、软件设计任务或软件部署任务。
本申请第三方面提供一种数据处理装置,包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述数据处理装置执行如前述第一方面任一实现方式所述的方法。
本申请第四方面提供一种计算机存储介质,其特征在于,所述计算机存储介质存储有指令,所述指令在由计算机执行时使得所述计算机实施前述第一方面任一实现方式所述的方法。
本申请第五方面提供一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,所述指令在由计算机执行时使得所述计算机实施前述第一方面任一实现方式所述的方法。
本申请第六方面提供一种芯片,该芯片包括处理器和通信接口,该通信接口用于与所示芯片之外的模块通信,该处理器用于运行计算机程序或指令,使得安装该芯片的装置可以执行前述第一方面任一实现方式的方法。
其中,第二方面至第六方面中任一种实现方式所带来的技术效果可参见上述第一方面中不同实现方式所带来的技术效果,此处不再赘述。
图1为本申请实施例提供的一种流水线的示意图;
图2为本申请实施例提供的一种逻辑综合过程的示意图;
图3为本申请实施例提供的一种电子设备101的结构示意图;
图4为本申请实施例提供的一种数据处理方法的流程示意图;
图5为本申请实施例提供的一种第一网络模型的结构示意图;
图6为本申请实施例提供的一种对齐网络的结构示意图;
图7为本申请实施例提供的一种对齐网络处理数据的流程示意图;
图8为本申请实施例提供的一种第二网络模型的结构示意图;
图9为本申请实施例提供的一种帕累托前沿的示意图;
图10为本申请实施例提供的一种序列推荐的流程示意图;
图11为本申请实施例提供的一种序列推荐方法的对比示意图;
图12为本申请实施例提供的一种数据处理装置1200的结构示意图;
图13为本申请实施例提供的电子设备的一种结构示意图;
图14为本申请实施例提供的计算机可读存储介质的一种结构示意图。
下面结合附图,对本申请的实施例进行描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。本领域普通技术人员可知,随着技术的发展和新场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块。在本申请中出现的对步骤进行的命名或者编号,并不意味着必须按照命名或者编号所指示的时间/逻辑先后顺序执行方法流程中的步骤,已经命名或者编号的流程步骤可以根据要实现的技术目的变更执行次序,只要能达到相同或者相类似的技术效果即可。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
为了便于理解,以下先对本申请实施例所涉及的技术术语进行解释。
黑盒函数:输入空间到输出空间的一个映射函数。但是,黑盒函数的解析表达式未知。当给定一个输入,该黑盒函数返回一个输出。因为该映射函数的具体工作方式未知,所以称为黑盒函数。
黑盒优化:由于黑盒函数的解析表达式和工作方式未知,只能通过不断地将数据输入给黑盒函数,然后通过黑盒函数的输出来判断结构信息。求解黑盒函数最优解的过程称为黑盒优化。网格搜索、随机搜索和贝叶斯优化是常见的黑盒优化方法,在分子设计、材料科学、数据中心冷却、芯片设计等实际问题上也有广泛应用。
循环神经网络(Recurrent Neural Network,RNN):是一类以序列数据为输入的人工神经网络,在时序方向上其节点之间的连接形成了一个有向图,可捕捉序列数据之间的动态信息,经常应用于手写字识别、语音识别、自然语言处理等。其中,序列数据是指有先后次序的一组数据。
逻辑综合(Logic Synthesis):在满足一定约束的条件下,将所设计数字电路的高级语言描述转化为门级电路表示的过程,是集成电路电子设计自动化的重要组成部分,制约着后续设计性能。
逻辑综合主要包括三个阶段。
1,翻译:将硬件描述语言(Hardware Description Language,HDL)描述的电路转化为用库元件组成的逻辑电路的过程。
2,优化:在满足设计约束的前提下,优化翻译所得到的初始电路的功耗、面积和速度。
3,工艺映射:将优化后的电路映射到制造商所提供的工艺库上,输出工艺相关的门级网表。
序列优化是一类常见的优化问题,本质上是优化一条流水线上不同阶段的选项及其配置,使得经过流水线后所得的性能最优。可以参阅图1,图1为本申请实施例提供的一种流水线的示意图。如图1所示,在一条流水线上不同的阶段优化不同的模块。例如在第1阶段,对于模块1来说,可以设置的选项包括A、B或C:当选择选项A的时候,有参数a1和a2需要调节;当选择选项B的时候,有参数b1需要调节;当选择选项C的时候,有参数c1和c2需要调节。需要注意的是:选项A、B和C是互斥的,即只能从中选择一个;并且,在选择了某个选项之后,还需要设置该选项对应的参数。当该阶段的模块选项及其参数设置完成后,再设置接下来阶段模块的选项及其参数,如此循环,直到流水线末端。序列优化所需要解决的问题是优化整条流水线上不同阶段的选项及其参数,使得整条流水线操作下来后所得到的性能达到最优。
由图1可以看到,序列优化每个阶段的选项及其参数不尽相同。因此,在序列优化过程中,对于不同的输入序列而言,这些输入序列的长度可能是不一样的。例如,输入序列1在阶段1选择了具有两个待调节参数的选项1,在阶段2选择了具有三个待调节参数的选项2,以及在阶段3选择了四个待调节参数的选项3,则输入序列1中至少包括9个参数;
输入序列1在阶段1选择了具有一个待调节参数的选项2,在阶段2选择了具有两个个待调节参数的选项1,以及在阶段3选择了一个待调节参数的选项1,则输入序列2中包括4个参数。显然,输入序列1与输入序列2的长度具有较大的差别。
目前,常见的序列优化问题包括有逻辑综合以及神经网络架构搜索。
逻辑综合是集成电路电子设计自动化的重要组成部分,在满足一定条件的约束下,将所设计的数字电路的寄存器转换级别(Register Transformation Level,RTL)描述转化成指定工艺库中单元电路连接的过程。其中,逻辑优化需要对翻译后的初始电路进行一系列操作,在满足设计约束的前提下,优化面积、时序和功耗,得到一个功能和时序都满足的网表。逻辑综合过程可以抽象成对电路的流水线操作:在初始电路的基础上,顺序地选择逻辑综合算子并设置其参数,最终使得所得到的电路面积、功耗最小,性能最大化。因此,逻辑综合是一个典型的序列优化问题。假定候选逻辑综合算子集合为每个优化算子对应流水线中的某一个阶段。任意一个优化算子对应的参数向量记为pi=(pi1,pi2,…,pin},其中i∈{1,2,…,m}。需要注意的是,pi的大小并不一定相等,即不同算子对应的参数并不一定相等;pi甚至为空,表明对应的算子Oi没有参数需要优化;pij∈pi可以为连续变量、类别变量或者布尔变量。
可以参阅图2,图2为本申请实施例提供的一种逻辑综合过程的示意图。如图2所示,给定一个算子及其参数的序列逻辑综合工具根据该序列对初始电路顺序地执行优化算法,最终得到优化后电路对应的网表。逻辑综合算子序列优化的任务就是找到一个序列,使得所得到电路的面积、时延、速度等达到最优。
对于神经网络架构搜索,神经网络架构搜索过程涉及到多个阶段,包括数据预处理、特征工程、算法选择、模型评估及超参数优化等阶段;并且每个阶段又包含了多种方法。一般来说,数据分析人员需要了解每个阶段中每个方法的适用场景、运行原理以及超参数调优技巧,并通过不断尝试各种算法模型,反复迭代和试错,最终针对实际业务数据特征设计性能优异的神经网络架构流水线。因此,开发一个高效的全流程的神经网络架构具有技术难度大、严重依赖专家经验、周期较长等困难。
基于专家经验,手动地设置不同阶段的选项及其参数是一种解决序列黑盒优化问题的最常见方案,例如上述的神经网络架构探索、逻辑综合算子序列优化等。然而,基于专家经验,一方面所得到的序列难以保证是最优序列;另一方面专家经验难以推广。其中,专家经验难以推广的原因包括:1,由于依赖专家经验,所以导致优化成本高;2,当场景发生变化时,专家需要重新评估优化序列,否则在新场景下已有优化序列的效果难以保证。
特别的,序列优化问题可以视为一个黑盒优化问题,即输入和输出之间的解析表达式未知,需要基于大量的输入和输出确定能够使得输出值最优的输入。传统的黑盒优化方法是通过一定的方式选择大量的输入值,并基于输入值进行评估,得到相应的输出值,从而基于大量输入值与输出值之间的关系确定使得输出值最优的输入值。
传统的黑盒优化方案主要包括以下的多种方案。
1,网格搜索(grid search):是最基本的黑盒优化方法,也被称为全因子设计(full factorial
design)。用户为每一个需要优化的参数设置一个候选集,然后在参数的笛卡尔积组成的参数组合上进行性能评估。在网格搜索方案中,评估次数随着参数个数的增加而指数增长,因此难以应用到高维参数优化场景。另外,如果对参数网格设置过密,即使参数较少,计算代价也较大;如果参数网格设置稀疏,则很有可能没有覆盖到最优参数值。
2,随机搜索(random search):在参数的候选取值中随机采样,然后进行性能评估,一直到计算资源上限。当其中某些参数比另一些参数重要得多时,随机探索算法往往比网格搜索方法更有效。
3,贝叶斯优化:根据一组初始采样点及其函数值,通过高斯过程回归建立模型预测任意点处函数值的概率分布。根据高斯过程回归构建查询函数,用以平衡探索未知区域数据点和利用已知区域数据点,从而确定下一个/组采样点。然后将这些采样点加入到初始数据点,重复上述步骤,直至迭代终止。最终从这些采样点中,找出极值点作为问题的解。
然而,传统的黑盒优化方法主要用于解决输入值长度固定的参数向量优化问题,而序列优化问题的输入值并非是固定的,难以应用传统的黑盒优化方法来解决序列优化问题。
有鉴于此,本申请实施例提供了一种数据处理方法,通过设计多个对齐网络分别对输入序列中不同阶段的数据进行处理,且对齐网络中包括有多个参数对齐网络。针对于同一个阶段中不同输入长度的数据,由相应的参数对齐网络进行处理,以实现将不同输入长度的数据映射为相同长度的特征数据,从而将不同长度的输入序列转换为相同长度的输出序列。最后,通过构建神经网络模型对输出序列进行性能值评估,实现基于流水线的输入序列预测对应的性能值,从而能够基于输入序列和预测的性能值解决序列优化问题。
本申请实施例的数据处理方法可以集成在一个或多个电子设备中,该电子设备可以包括服务器或终端设备。
其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云计算服务的云服务器。
终端设备可以是智能手机(mobile phone)、个人电脑(personal computer,PC)、笔记本电脑、平板电脑、智慧电视、拼接屏、投影仪、移动互联网设备(mobile internet device,MID)、可穿戴设备(如智能手表、智能眼镜或者智能头盔等),虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线电子设备、无人驾驶(self driving)中的无线电子设备、远程手术(remote medical surgery)中的无线电子设备、智能电网(smart grid)中的无线电子设备、运输安全(transportation safety)中的无线电子设备、智慧城市(smart city)中的无线电子设备、智慧家庭(smart home)中的无线电子设备等。以下实施例对该终端设备的具体形式不做特殊限制。此外,终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做具体限定。
可以参阅图3,图3为本申请实施例提供的一种电子设备101的结构示意图。如图3所示,电子设备101包括处理器103,处理器103和系统总线105耦合。处理器103可以是一个或者多个处理器,其中每个处理器都可以包括一个或多个处理器核。显示适配器
(video adapter)107,显示适配器可以驱动显示器109,显示器109和系统总线105耦合。系统总线105通过总线桥111和输入输出(I/O)总线耦合。I/O接口115和I/O总线耦合。I/O接口115和多种I/O设备进行通信,比如输入设备117(如:触摸屏等),外存储器121,(例如,硬盘、软盘、光盘或优盘),多媒体接口等)。收发器123(可以发送和/或接收无线电通信信号),摄像头155(可以捕捉静态和动态数字视频图像)和外部USB端口125。其中,可选地,和I/O接口115相连接的接口可以是USB接口。
其中,处理器103可以是任何传统处理器,包括精简指令集计算(reduced instruction set Computing,RISC)处理器、复杂指令集计算(complex instruction set computing,CISC)处理器或上述的组合。可选地,处理器可以是诸如ASIC的专用装置。
电子设备101可以通过网络接口129和软件部署服务器149通信。示例性的,网络接口129是硬件网络接口,比如,网卡。网络127可以是外部网络,比如因特网,也可以是内部网络,比如以太网或者虚拟私人网络(virtual private network,VPN)。可选地,网络127还可以是无线网络,比如WiFi网络,蜂窝网络等。
硬盘驱动器接口131和系统总线105耦合。硬件驱动接口和硬盘驱动器133相连接。内存储器135和系统总线105耦合。运行在内存储器135的数据可以包括电子设备101的操作系统(OS)137、应用程序143和调度表。
处理器103可以通过系统总线105与内存储器135通信,从内存储器135中取出应用程序143中的指令和数据,从而实现程序的执行。
操作系统包括Shell 139和内核(kernel)141。Shell 139是介于使用者和操作系统的内核间的一个接口。Shell 139是操作系统最外面的一层。Shell 139管理使用者与操作系统之间的交互:等待使用者的输入,向操作系统解释使用者的输入,并且处理各种各样的操作系统的输出结果。
内核141由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。内核141直接与硬件交互,操作系统内核通常运行进程,并提供进程间的通信,提供CPU时间片管理、中断、内存管理和IO管理等等。
示例性地,在电子设备101为智能手机的情况下,应用程序143包括即时通讯相关的程序。在一个实施例中,在需要执行应用程序143时,电子设备101可以从软件部署服务器149下载应用程序143。
可以参阅图4,图4为本申请实施例提供的一种数据处理方法的流程示意图。如图4所示,该数据处理方法包括以下的步骤401-403。
步骤401,获取输入序列,所述输入序列包括多个数据,所述多个数据中的每个数据分别用于表示流水线任务在不同阶段中所配置的参数,所述流水线任务包括多个待配置参数的阶段。
本实施例中,输入序列用于表示流水线任务中各个阶段所配置的参数,输入序列的多个数据中的每个数据则分别用于表示流水线任务在不同阶段中所配置的参数。例如,在流水线任务包括N个阶段的情况下,输入序列中包括N个数据,每个数据用于表示N个阶段
中的某一个阶段所配置的参数。
具体地,流水线任务包括多个阶段,每个阶段均有相应的参数需要配置。例如,流水线任务的每个阶段中包括多个选项,每个选项具有一个或多个待配置的参数;在一些情况下,流水线任务的阶段中的某些选项可能不具备待配置的参数,即该选项无需进行参数的配置。
对于流水线任务中的任意一个阶段,该阶段中包括多个选项,而不同选项之间需配置的参数是不相同的,且不同选项之间需配置的参数的个数也可能是不相同的。那么,对于用于表示输入序列中同一个阶段的不同数据而言,由于这些数据所表示的参数是不相同的且参数的个数也可能是不相同的,因此这些数据的长度也可能是不相同的。也就是说,对于同一个流水线任务,用于表示该流水线任务中不同参数的输入序列的长度可能是不相同的。
示例性地,所述流水线任务包括电路设计任务、神经网络模型设计任务、软件设计任务或软件部署任务。其中,电路设计任务例如可以为上述的逻辑综合任务,神经网络模型设计任务例如可以为上述的神经网络架构搜索,具体可以参考上述的介绍,在此不再赘述。软件设计任务可以为基于软件需实现的功能,按照模块化的方式设计并编写软件代码的过程。软件部署任务可以为将软件中不同的功能模块部署于不同的硬件或架构上,从而基于不同硬件或架构所构成的系统来保证软件的实现。除了上述所介绍的任务之外,流水线任务还可以是包括其他具有多个阶段的任务,本实施例并不对此进行限定。
步骤402,将所述输入序列输入第一网络模型,得到包括多个特征数据的输出序列。
本实施例中,第一网络模型用于分别对输入序列中的各个数据进行特征提取,得到输入序列中各个数据对应的特征数据,从而得到由多个特征数据所构成的输出序列。并且,对于用于表示同一个流水线任务但长度不同的输入序列,第一网络模型能够将这些输入序列转换为长度相同的输出序列。
具体地,第一网络模型中包括多个对齐网络,每个对齐网络分别用于处理输入序列的多个数据中不同的数据,得到对应的特征数据。即,输出序列中的所述多个特征数据是所述第一网络模型中的多个对齐网络分别对所述多个数据中不同的数据进行处理得到的。例如,假设输入序列中包括N个数据,则第一网络模型中同样包括N个对齐网络,即第一网络模型中的多个对齐网络与输入序列中的多个第一数据具有一一对应的关系。
可以参阅图5,图5为本申请实施例提供的一种第一网络模型的结构示意图。如图5所示,输入序列中包括n个数据,具体为{x1,x2,x3…xn}。第一网络模型中则包括n个对齐网络,分别为:对齐网络1,对齐网络2,对齐网络3…对齐网络n。第一网络模型中的每个对齐网络分别对输入序列中相应的数据进行处理,得到相应的特征数据。例如,对齐网络1对输入序列中的数据x1进行处理,得到特征数据X1;对齐网络2对输入序列中的数据x2进行处理,得到特征数据X2;对齐网络n对输入序列中的数据xn进行处理,得到特征数据Xn。
所述多个对齐网络中的每个对齐网络均包括选择网络和多个参数对齐网络,所述选择
网络用于根据输入的数据的类型将所述数据输出至所述多个参数对齐网络中的目标参数对齐网络并将所述目标参数对齐网络输出的特征数据作为对齐网络的输出,所述多个参数对齐网络分别用于将不同长度的数据映射为相同长度的特征数据。
也就是说,对于多个对齐网络中的任意一个对齐网络,该对齐网络的输入为输入序列的多个数据中的一个数据。并且,对齐网络中包括选择网络和多个参数对齐网络,选择网络在获取到输入对齐网络的数据后,根据所输入的数据的类型,选择具体由多个参数对齐网络中的哪一个参数对齐网络来执行数据处理,并将输入的数据输出至该参数对齐网络中。对于被选择网络所选择到的参数对齐网络,则对选择网络所输出的数据进行特征提取处理,得到对应的特征数据。并且,被选择网络所选择到的参数对齐网络输出的特征数据作为该参数对齐网络所属的对齐网络的输出。例如,选择网络根据所述输入的数据所属的目标选项,将所述数据输出至与所述目标选项对应的目标参数对齐网络。
可以参阅图6,图6为本申请实施例提供的一种对齐网络的结构示意图。如图6所示,对齐网络中包括选择网络和多个参数对齐网络(即参数对齐网络1、参数对齐网络2和参数对齐网络3)。对齐网络中的输入数据首先输入至选择网络中,由选择网络根据输入数据的类型将输入数据输入至相应的参数对齐网络中。例如,当输入数据的长度为5时,选择网络将输入数据输入至参数对齐网络1中;当输入数据的长度为10时,选择网络将输入数据输入至参数对齐网络2中;当输入数据的长度为15时,选择网络将输入数据输入至参数对齐网络3中。当参数对齐网络对输入数据进行处理后,输出所得到的特征数据。也就是说,对于每次输入的数据,实际上都是由多个参数对齐网络中的一个参数对齐网络对所输入的数据进行处理,即同一时刻有且只有一个参数对齐网络在执行数据处理。并且,尽管输入不同的参数对齐网络中的数据的长度是不一样的,但是多个参数对齐网络所输出的特征数据的长度均是一样的。
可以参阅图7,图7为本申请实施例提供的一种对齐网络处理数据的流程示意图。如图7所示,对于流水线任务中的某一个阶段Si,该阶段Si包括三个选项,分别为O1,O2和O3。其中,选项O1对应的参数为P1,由于选项O1下没有待配置的参数,因此O1对应的参数P1可以是一维或0维的参数,用于表示其为选项O1下的参数。选项O2对应的参数为P2,选项O2下待配置的参数有3个,因此O2对应的参数P2可以是三维的向量,分别用于表示3个待配置的参数。选项O3对应的参数为P3,选项O3下待配置的参数有2个,因此O3对应的参数P3可以是二维的向量,分别用于表示2个待配置的参数。
在图7所示的对齐网络中,选择网络根据输入数据所属的选项,将输入数据输入至相应的参数对齐网络中,并且选择输出相应的参数对齐网络的输出数据。其中,对齐网络的输出数据为d维向量,即对齐网络中所有的参数对齐网络的输出数据都是d维向量。例如,在输入数据为选项O2对应的参数P2时,参数P2为三维的向量,选择网络将输入数据输入至参数对齐网络1中,以使得参数对齐网络1对参数P2进行处理,输出一个三维的特征数据;在输入数据为选项O3对应的参数P3时,参数P3为二维的向量,选择网络将输入数据输入至参数对齐网络2中,以使得参数对齐网络2对参数P3进行处理,同样输出一个三维的特征数据。此外,由于选项O2中并没有需要配置的参数,因此可以预先为选项O2设置
相同维数的输出数据(即维数为3的输出数据),在输入数据属于选项O2时,可以直接选择输入数据对应的输出数据,而不需经过参数对齐网络进行处理。
示例性地,所述多个参数对齐网络可以包括多层感知机(Multilayer Perceptron,MLP)或卷积神经网络。例如,所述多个参数对齐网络中的每个参数对齐网络均为多层感知机或卷积神经网络。其中,多层感知机是一种前馈人工神经网络模型,能够将输入的多个数据集映射到单一的输出的数据集上。因此,通过构建不同的多层感知机,可以实现将不同长度的输入数据映射为相同长度的输出数据。卷积神经网络是一类包含卷积计算且具有深度结构的前馈神经网络,卷积神经网络的输出层可以处理多维数据,基于不同的卷积神经网络,能够实现对不同长度的输入数据的处理。
可选的,为了便于后续对输出序列进行处理,所述多个对齐网络中的每个对齐网络均用于输出相同长度的特征数据,所述多个特征数据中每个特征数据的长度相同。也就是说,对于输入序列中的多个数据而言,该多个数据中的各个数据的长度可以是不固定的,而经过多个对齐网络分别对多个数据进行处理后,则得到长度固定的特征数据,即输出序列中的每个特征数据的长度都是相同的,从而保证输出序列的长度是固定的。
步骤403,将所述输出序列输入第二网络模型,得到性能值,所述第二网络模型用于预测所述流水线任务在采用输入序列来配置参数时所对应的性能值。
在本实施例中,第一网络模型和第二网络模型可以是基于训练数据训练得到的网络模型。并且,在训练过程中,第一网络模型和第二网络模型可以是作为一个整体的网络模型来进行训练。例如,在训练过程中,第一网络模型的输入为整体网络模型的输入,第二网络模型的输入是第一网络模型的输出,第二网络模型的输出则为整体网络模型的输出;并且,整体网络模型的训练数据则为流水线任务所对应的不同输入序列以及这些输入序列实际对应的性能值。
因此,在训练得到第一网络模型和第二网络模型之后,基于第一网络模型所输出的输出序列,第二网络模型可以对该输出序列进行处理,从而预测得到输入序列所对应的性能值。
可以理解的是,基于本方案中的第一网络模型和第二网络模型,能够预测输入序列对应的性能值,因此通过重复执行上述的步骤401-403,即可获得不同的输入序列对应的性能值,进而确定能够得到最优的性能值所对应的输入序列,解决序列优化问题。
本方案中,通过设计多个对齐网络分别对输入序列中不同阶段的数据进行处理,且对齐网络中包括有多个参数对齐网络。针对于同一个阶段中不同输入长度的数据,由相应的参数对齐网络进行处理,以实现将不同输入长度的数据映射为相同长度的特征数据,从而将不同长度的输入序列转换为相同长度的输出序列。最后,通过构建神经网络模型对输出序列进行性能值评估,实现基于流水线的输入序列预测对应的性能值,从而能够基于输入序列和预测的性能值解决序列优化问题。
由于在流水线任务中,流水线任务中前面阶段所设置的选项以及参数会影响到后续阶段中的选项及参数,因此用于表征流水线任务配置参数的输入序列中的不同数据具有一定的序列关系。因此,如果不考虑输入序列间的序列关系将会显著地扩大参数空间,影响问
题求解的精度和效率。
可选的,本实施例中为考虑输入序列中不同数据之间的序列关系,基于时间序列模型来构建第二网络模型,以提高第二网络模型预测性能值的精度和效率。具体来说,所述第二网络模型用于基于所述多个特征数据以及所述多个特征数据之间的关系预测所述性能值。
其中,输入序列可以视为时间序列,时间序列是按时间顺序排列的、随时间变化且相互关联的数据序列。时间序列模型在处理序列数据的过程中除了考虑序列数据的值之外,还同时考虑了序列数据之间的先后顺序。简单来说,时间序列模型依赖于数据在序列中的先后顺序。对于相同的多个数据,改变多个数据的顺序后再将数据输入时间序列模型所得到的结果是不同的。
示例性地,所述第二网络模型可以包括循环神经网络(Recurrent Neural Network,RNN)、长短期记忆(Long Short Term Memory,LSTM)网络或注意力网络。
其中,循环神经网络是一类以序列数据为输入,在序列的演进方向进行递归且所有节点按链式连接的递归神经网络(recursive neural network)。在网络结构上,循环神经网络会记忆之前的信息,并利用之前的信息影响后面节点的输出。即:循环神经网络的隐藏层之间的节点是有连接的,隐藏层的输入不仅包括输入层的输出,还包括上一时刻隐藏层的输出。循环神经网络对于每一个时刻的输入结合当前模型的状态给出一个输出,因此循环神经网络可以看做同一神经网络被无限复制的结果。
长短期记忆网络是一种时间循环神经网络,是为了解决一般的循环神经网络存在的长期依赖问题而专门设计出来的。由于独特的设计结构,长短期记忆网络适合于处理和预测时间序列中间隔和延迟非常长的重要事件。简单来说,长短期记忆网络是一种拥有三个门结构的特殊网络结构。长短期记忆网络靠一些门的结构让信息有选择性地影响神经网络中每个时刻的状态。门结构就是一个使用sigmoid神经网络和一个按位做乘法结合在一起的操作。具体地,在长短期记忆网络中,使用sigmoid作为激活函数的全连接神经网络层会输出一个0到1之间的数值,描述当前输入有多少信息量可以通过这个门结构。当门结构打开时(sigmoid神经网络层输出为1),全部信息都可以通过;当门结构关上时(sigmoid神经网络层输出为0),任何信息无法通过。
注意力网络是一种利用注意力机制来提高模型训练速度的网络模型。目前,典型的注意力网络包括有Transformer模型。应用注意力机制的注意力网络能够对输入序列的每个部分赋予不同的权重,从而在输入序列中提取出更加重要的特征信息,使得注意力网络最终得到更加精确的输出。
可选的,为了防止第二网络模型过拟合到数据上(即第二网络模型在训练过程中只学习到了与训练数据密切相关的知识),本实施例中可以在第二网络模型中采用多个独立的网络模型来对输出序列进行处理,并综合多个独立的网络模型的输出来得到最终的预测值,以提高第二网络模型的预测精度。
示例性地,所述第二网络模型包括多个子网络,所述多个子网络用于分别对所述输出序列进行处理,以得到多个预测值,所述性能值是基于所述多个预测值得到的。例如,第二网络模型可以是通过求取所述多个预测值的平均值,得到所述性能值。即,第二网络模
型所输出的性能值是第二网络模型中的多个子网络所输出的预测值的平均值。
可以理解的是,第二网络模型中的多个子网络可以为结构相同的网络,但是不同的子网络中的权重参数并不一样。因此,基于相同的输入数据,不同的子网络能够输出不同的预测值。
此外,在第二网络模型中采用多个独立的子网络,也能够实现建立不确定性模型来评估探索和利用基于已有数据的知识,便于后续基于第二网络模型预测的性能值来进行序列推荐。
可以参阅图8,图8为本申请实施例提供的一种第二网络模型的结构示意图。如图8所示,第二网络模型中包括多个子网络,多个子网络中的每个子网络的输入都是相同的,即子网络的输入均为第一网络模型输出的输出序列(x1,x2,…,xs)。并且,每个子网络对输出序列进行处理后,得到相应的预测值yi。最终,通过求取第二网络模型中多个子网络得到的预测值yi的平均值μ,即可得到第二网络模型输出的性能值;此外,第二网络模型中多个子网络得到的预测值yi所对应的方差则可以作为第二网络模型的不确定度,以评估第二网络模型输出的性能值的准确性。
可选的,为了提高序列优化的效率,尽快找到使得性能值最高的输入序列,本实施例中可以基于第二网络模型预测得到的性能值,进一步搜索未知空间中性能值最高的序列,得到相应的推荐序列。
具体来说,基于第一网络模型和第二网络模型,可以得到关于输入序列x的预测值以及不确定度,构造预测概率分布该预测概率分布可以用于平衡优化过程中的利用和探索。
例如,在逻辑综合过程中,μ(x)可以表示对输入序列的预测。μ(x)较小的地方,输入序列对应的电路性能优秀的可能性更大,因此在μ(x)较小的地方搜索,对应利用的策略进行优化;若σ2(x)较大,说明该区域的采样数据比较少,序列代理模型预测的不确定性大,此区域可能有未知的最优序列,故也应当进一步探索,对应探索的策略进行优化。基于上述的第一网络模型和第二网络模型构建搜索函数,主要在于平衡探索未知的参数空间区域和利用已知的参数空间区域。
示例性地,在基于上述的第一网络模型和第二网络模型得到输入序列对应的多个预测值之后,基于所述输入序列和所述多个预测值,通过搜索函数进行序列搜索,得到推荐序列,所述推荐序列为所述搜索函数所搜索到的性能值最高的序列。
其中,搜索函数例如可以为增益概率函数(Probability of Improvement,PI)、增益期望函数(Expected Improvement,EI)和置信度上/下限函数(Upper/Lower Confidence Bound,UCB/LCB)中的一种或多种。
增益概率函数的表示方式如公式1所示。
其中,PI为增益概率,表示推荐参数预测的性能比历史上最高的性能ybest还要好的概率;
增益期望函数的表示方式如公式2所示。
其中,EI为增益概率,表示预期增益的平均值;τ-y表示预期增益,τ表示某一正数。
置信度上/下限函数的表示方式如公式3所示。
UCB/LCB=μ±κσ 公式3
其中,UCB/LCB为置信度上/下限函数,表示置信度上界或者下界;μ为均值;κ为常数;σ为方差。
经过研究发现,目前并没有单一的搜索函数绝对地优于其他搜索函数;并且,不同的搜索函数代表着不同的搜索策略,在某次迭代中,不同搜索函数可能会给出完全不同的推荐序列。
基于此,本实施例中选择同时应用上述三个查询函数,寻找它们的帕累托前沿(Pareto Frontier,PF),以确定最终的推荐序列,从而提高推荐搜索函数所推荐的序列的精确度。
具体地,在得到第二网络模型中的多个预测值之后,可以基于所述输入序列和所述多个预测值,构建多个不同的搜索函数,所述多个不同的搜索函数均用于进行序列搜索。例如,所述多个不同的搜索函数可以包括增益概率函数、增益期望函数和置信度上/下限函数中的多种。
然后,基于多目标优化算法,确定所述多个不同的搜索函数的帕累托前沿,所述帕累托前沿用于表示所述多个不同的搜索函数的共同优化结果。具体来说,在构建得到多个不同的搜索函数之后,基于多个不同的搜索函数输出相应的推荐序列实际上是一个多目标优化问题,因此可以基于已有的优化算法库DEMO算法来进行求解,得到关于增益概率函数、增益期望函数和置信度上/下限函数的帕累托前沿。
为了便于理解,以下将简单介绍帕累托前沿。假设两个目标函数,对于解A而言,在变量空间中找不到其他的解能够优于解A(即两个目标函数值都优于A对应的函数值),那么解A就是帕累托最优解。其中,帕累托最优解对应的目标函数值就是帕累托前沿。在多目标优化过程中,由于帕累托最优解可能存在一个或多个,因此得到的帕累托前沿中可能包括一个或多个目标函数值。即,基于帕累托最优前沿可以得到一个或多个推荐序列。
示例性地,可以参阅图9,图9为本申请实施例提供的一种帕累托前沿的示意图。如图9所示,图9中的曲线表示LCB、EI、PI三种搜索函数寻优的帕累托前沿,代表着不同寻优策略共同优化的结果。对于该前沿上任意一个数据点,不存在小于它的数据点(向量a<b,当且仅当向量的每一维ai<bi)。
最后,在得到多个搜索函数对应的帕累托前沿之后,基于所述帕累托前沿,确定所述推荐序列。具体来说,在帕累托前沿获得后,本次迭代推荐序列的采样点在帕累托前沿上随机地选取,从而得到一个或多个推荐序列。
可以理解的是,基于本方案中的第一网络模型、第二网络模型以及上述的搜索函数,能够基于输入序列得到相应的推荐序列。然后,将得到的推荐序列返回给仿真器或者真实系统,可以得到新的参数配置序列与性能值。重复上述过程直至收敛或得到满足需求的参数配置序列,最终即可得到性能值最优的参数配置序列,解决序列优化问题。
可以参阅图10,图10为本申请实施例提供的一种序列推荐的流程示意图。如图10所
示,对于输入序列而言,输入序列中包括多个数据,每个数据对应于流水线任务中的一个阶段。并且,对于逻辑综合过程中的输入序列,该输入序列为逻辑综合算子集合,该逻辑综合算子集合可以表示为每个优化算子对应流水线中的某一个阶段。任意一个优化算子对应的参数向量记为pi=(pi1,pi2,…,pin},即输入序列中的任意一个数据用于表示一个优化算子对应的参数向量。通过多个对齐网络分别对输入序列中的多个数据进行对齐处理后,输出得到特征数据,该特征数据为d维向量,即得到的特征数据的长度是固定的。然后,通过将经过对齐网络后得到的输出序列输入至第二网络模型中,得到第二网络模型预测得到的性能值。该性能值以及对应的输入序列输入至序列推荐模块后,由序列推荐模块中的搜索函数进行序列的推荐,得到最终的推荐序列。
为了便于理解,以下将结合具体例子详细介绍本申请实施例提供的数据处理方法所带来的有益效果。
具体地,在逻辑综合场景下,选取长度不超过10的算子及其参数序列,运行逻辑综合工具得到对应的面积和层级,从而组成了逻辑综合场景数据集。
在一种测试方式中,采用现有的集成深度神经网络(Deep Ensembl)来预测参数序列对应的性能值。由于该集成深度神经网络无法处理条件依赖参数空间,也不是序列模型。因此对于集成深度神经网络而言,可以是将所有的参数直接摊平,即将选项及其参数摊平成一个向量空间,然后将序列中不同阶段的数据直接拼接成一个输入。
在另一种测试方式中,采用由本申请实施例提供的第一网络模型和第二网络模型所构成的基于嵌入对齐的循环神经网络(EAC-RNN)来预测参数序列对应的性能值。
表1
表2
其中,表1表示40个电路逻辑综合数据上的训练、测试效果;表示2表示某一个电路逻辑综合数据上的训练与预测效果。如表1和表2所示,不管是在40个电路混合的数据上,还是在某一个电路的数据上,所提出的基于嵌入对齐的循环神经网络测试精度略优于集成深度神经网络。下面将基于嵌入对齐的循环神经网络应用于参数推荐,验证序列黑盒优化的效果。
可以参阅图11,图11为本申请实施例提供的一种序列推荐方法的对比示意图。如图11所示,基于相同的参数序列,比较本申请实施例所提出的序列黑盒优化方案(EAC-SBO)
与基于强化学习的DRiLLS方案。在40个电路上,推荐序列长度不大于10的算子序列。
1,针对每一个电路,推荐独立的(case by case)算子序列。
DRiLLS方案:相对于基线resyn2推荐的序列,在level优先策略下,DRiLLS推荐序列所得到level的平均收益26.2%,同时area的平均收益-7.2%;在level-area平衡策略下,DRiLLS推荐序列所得到level的平均收益22.4%,同时area的平均收益1.1%。
本申请实施例所提出的EAC-SBO方案:相对于基线resyn2推荐的序列,在level优先策略下,EAC-SBO推荐序列所得到level的平均收益32.39%,同时area的平均收益0.1%;在area优先策略下,EAC-SBO推荐序列所得到level的平均收益1.2%,同时area的平均收益10.71%。
2,针对40个电路,推荐一个共同的(common)算子序列。
本申请实施例所提出的EAC-SBO方案:相对于基线resyn2推荐的序列,在level优先策略下,所推荐序列level的平均收益28.39%,同时area的平均收益-11.97%;在area优先策略下,所推荐序列level的平均收益8.63%,同时area的平均收益6.08%。
由上述的分析可知,本申请实施例所提供的方案略优于DRiLLS方案。主要原因在于:1,基于嵌入对齐的循环神经网络的黑盒优化方案效率较高,能够在相同时间内找到更好的算子序列;2,本申请实施例的方案不仅仅推荐算子序列,并且推荐所选算子对应的参数,而DRiLLS方案受限于效率而主要推荐算子序列,所得到的算子序列及其参数配置可能达不到最优。
总的来说,本申请实施例中构建了第一网络模型来表征不规则树状条件参数空间,便于机器学习算法进一步处理;并且,在第一网络模型的基础上构建了第二网络模型,以建立序列与性能的函数关系,从而可应用已有数据帮助探索未知参数空间,提高搜索空间的效率。
上述主要以方法的角度对本申请实施例提供的方案进行了介绍。可以理解的是,模型训练装置为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本申请能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对模型训练装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
下面对本申请实施例中用于执行上述方法实施例的装置进行详细描述。
可以参阅图12,图12为本申请实施例提供的一种数据处理装置1200的结构示意图。如图12所示,该数据处理装置,包括:获取模块1201,用于获取输入序列,所述输入序列包括多个数据,所述多个数据中的每个数据分别用于表示流水线任务在不同阶段中所配置的参数,所述流水线任务包括多个待配置参数的阶段;处理模块1202,用于将所述输入序列输入第一网络模型,得到包括多个特征数据的输出序列,所述多个特征数据是所述第一网络模型中的多个对齐网络分别对所述多个数据中不同的数据进行处理得到的,所述多个对齐网络中的每个对齐网络均包括选择网络和多个参数对齐网络,所述选择网络用于根据输入的数据的类型将所述数据输出至所述多个参数对齐网络中的目标参数对齐网络并将所述目标参数对齐网络输出的特征数据作为对齐网络的输出,所述多个参数对齐网络分别用于将不同长度的数据映射为相同长度的特征数据;所述处理模块1202,还用于将所述输出序列输入第二网络模型,得到性能值,所述第二网络模型用于预测所述流水线任务在采用输入序列来配置参数时所对应的性能值。
在一个可能的实现方式中,所述流水线任务中的每个阶段包括多个选项,所述多个选项中不同选项下的待配置参数的长度不一样,所述多个数据中的每个数据分别用于表示一个阶段中的一个选项所对应的配置参数;所述选择网络用于根据所述输入的数据所属的目标选项,将所述数据输出至与所述目标选项对应的目标参数对齐网络。
在一个可能的实现方式中,所述多个对齐网络中的每个对齐网络均用于输出相同长度的特征数据,所述多个特征数据中每个特征数据的长度相同。
在一个可能的实现方式中,所述多个参数对齐网络包括多层感知机或卷积神经网络。
在一个可能的实现方式中,所述第二网络模型为时间序列模型,所述第二网络模型用于基于所述多个特征数据以及所述多个特征数据之间的关系预测所述性能值。
在一个可能的实现方式中,所述第二网络模型包括循环神经网络、长短期记忆网络或注意力网络。
在一个可能的实现方式中,所述第二网络模型包括多个子网络,所述多个子网络用于分别对所述输出序列进行处理,以得到多个预测值,所述性能值是基于所述多个预测值得到的。
在一个可能的实现方式中,所述处理模块1202,还用于基于所述输入序列和所述多个预测值,通过搜索函数进行序列搜索,得到推荐序列,所述推荐序列为所述搜索函数所搜索到的性能值最高的序列。
在一个可能的实现方式中,所述处理模块1202,具体用于:基于所述输入序列和所述多个预测值,构建多个不同的搜索函数,所述多个不同的搜索函数均用于进行序列搜索;基于多目标优化算法,确定所述多个不同的搜索函数的帕累托前沿,所述帕累托前沿用于表示所述多个不同的搜索函数的共同优化结果;基于所述帕累托前沿,确定所述推荐序列。
在一个可能的实现方式中,所述流水线任务包括电路设计任务、神经网络模型设计任务、软件设计任务或软件部署任务。
接下来介绍本申请实施例提供的一种电子设备,请参阅图13,图13为本申请实施例提供的电子设备的一种结构示意图,电子设备1300具体可以表现为手机、平板、笔记本电脑、智能穿戴设备、服务器等,此处不做限定。其中,电子设备1300上可以部署有图12对应实施例中所描述的数据处理装置,用于实现图12对应实施例中特征点处理的功能。具体的,电子设备1300包括:接收器1301、发射器1302、处理器1303和存储器1304(其中电子设备1300中的处理器1303的数量可以一个或多个,图13中以一个处理器为例),其中,处理器1303可以包括应用处理器13031和通信处理器13032。在本申请的一些实施例中,接收器1301、发射器1302、处理器1303和存储器1304可通过总线或其它方式连接。
存储器1304可以包括只读存储器和随机存取存储器,并向处理器1303提供指令和数据。存储器1304的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。存储器1304存储有处理器和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。
处理器1303控制电子设备的操作。具体的应用中,电子设备的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器1303中,或者由处理器1303实现。处理器1303可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1303中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1303可以是通用处理器、数字信号处理器(digital signal processing,DSP)、微处理器或微控制器,还可进一步包括专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。该处理器1303可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1304,处理器1303读取存储器1304中的信息,结合其硬件完成上述方法的步骤。
接收器1301可用于接收输入的数字或字符信息,以及产生与电子设备的相关设置以及功能控制有关的信号输入。发射器1302可用于通过第一接口输出数字或字符信息;发射器1302还可用于通过第一接口向磁盘组发送指令,以修改磁盘组中的数据;发射器1302还可以包括显示屏等显示设备。
可以参阅图14,本申请还提供了一种计算机可读存储介质,在一些实施例中,上述图4所公开的方法可以实施为以机器可读格式被编码在计算机可读存储介质上或者被编码在其它非瞬时性介质或者制品上的计算机程序指令。
图14示意性地示出根据这里展示的至少一些实施例而布置的示例计算机可读存储介质的概念性局部视图,示例计算机可读存储介质包括用于在计算设备上执行计算机进程的计算机程序。
在一个实施例中,计算机可读存储介质1400是使用信号承载介质1401来提供的。信号承载介质1401可以包括一个或多个程序指令1402,其当被一个或多个处理器运行时可以提供以上针对图4描述的功能或者部分功能。此外,图14中的程序指令1402也描述示例指令。
在一些示例中,信号承载介质1401可以包含计算机可读介质1403,诸如但不限于,硬盘驱动器、紧密盘(CD)、数字视频光盘(DVD)、数字磁带、存储器、ROM或RAM等等。
在一些实施方式中,信号承载介质1401可以包含计算机可记录介质1404,诸如但不限于,存储器、读/写(R/W)CD、R/W DVD、等等。在一些实施方式中,信号承载介质1401可以包含通信介质1405,诸如但不限于,数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路、等等)。因此,例如,信号承载介质1401可以由无线形式的通信介质1405(例如,遵守IEEE 802标准或者其它传输协议的无线通信介质)来传达。
一个或多个程序指令1402可以是,例如,计算机可执行指令或者逻辑实施指令。在一些示例中,计算设备的计算设备可以被配置为,响应于通过计算机可读介质1403、计算机可记录介质1404、和/或通信介质1405中的一个或多个传达到计算设备的程序指令1402,提供各种操作、功能、或者动作。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是
通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、通信装置、计算设备或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、通信装置、计算设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的通信装置、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
Claims (23)
- 一种数据处理方法,其特征在于,包括:获取输入序列,所述输入序列包括多个数据,所述多个数据中的每个数据分别用于表示流水线任务在不同阶段中所配置的参数,所述流水线任务包括多个待配置参数的阶段;将所述输入序列输入第一网络模型,得到包括多个特征数据的输出序列,所述多个特征数据是所述第一网络模型中的多个对齐网络分别对所述多个数据中不同的数据进行处理得到的,所述多个对齐网络中的每个对齐网络均包括选择网络和多个参数对齐网络,所述选择网络用于根据输入的数据的类型将所述数据输出至所述多个参数对齐网络中的目标参数对齐网络并将所述目标参数对齐网络输出的特征数据作为对齐网络的输出,所述多个参数对齐网络分别用于将不同长度的数据映射为相同长度的特征数据;将所述输出序列输入第二网络模型,得到性能值,所述第二网络模型用于预测所述流水线任务在采用输入序列来配置参数时所对应的性能值。
- 根据权利要求1所述的方法,其特征在于,所述流水线任务中的每个阶段包括多个选项,所述多个选项中不同选项下的待配置参数的长度不一样,所述多个数据中的每个数据分别用于表示一个阶段中的一个选项所对应的配置参数;所述选择网络用于根据所述输入的数据所属的目标选项,将所述数据输出至与所述目标选项对应的目标参数对齐网络。
- 根据权利要求1或2所述的方法,其特征在于,所述多个对齐网络中的每个对齐网络均用于输出相同长度的特征数据,所述多个特征数据中每个特征数据的长度相同。
- 根据权利要求1-3任意一项所述的方法,其特征在于,所述多个参数对齐网络包括多层感知机或卷积神经网络。
- 根据权利要求1-4任意一项所述的方法,其特征在于,所述第二网络模型为时间序列模型,所述第二网络模型用于基于所述多个特征数据以及所述多个特征数据之间的关系预测所述性能值。
- 根据权利要求5所述的方法,其特征在于,所述第二网络模型包括循环神经网络、长短期记忆网络或注意力网络。
- 根据权利要求1-6任意一项所述的方法,其特征在于,所述第二网络模型包括多个子网络,所述多个子网络用于分别对所述输出序列进行处理,以得到多个预测值,所述性能值是基于所述多个预测值得到的。
- 根据权利要求7所述的方法,其特征在于,所述方法还包括:基于所述输入序列和所述多个预测值,通过搜索函数进行序列搜索,得到推荐序列,所述推荐序列为所述搜索函数所搜索到的性能值最高的序列。
- 根据权利要求8所述的方法,其特征在于,所述基于所述输入序列和所述多个预测值,通过搜索函数进行序列搜索,包括:基于所述输入序列和所述多个预测值,构建多个不同的搜索函数,所述多个不同的搜索函数均用于进行序列搜索;基于多目标优化算法,确定所述多个不同的搜索函数的帕累托前沿,所述帕累托前沿用于表示所述多个不同的搜索函数的共同优化结果;基于所述帕累托前沿,确定所述推荐序列。
- 根据权利要求1-9任意一项所述的方法,其特征在于,所述流水线任务包括电路设计任务、神经网络模型设计任务、软件设计任务或软件部署任务。
- 一种数据处理装置,其特征在于,包括:获取模块,用于获取输入序列,所述输入序列包括多个数据,所述多个数据中的每个数据分别用于表示流水线任务在不同阶段中所配置的参数,所述流水线任务包括多个待配置参数的阶段;处理模块,用于将所述输入序列输入第一网络模型,得到包括多个特征数据的输出序列,所述多个特征数据是所述第一网络模型中的多个对齐网络分别对所述多个数据中不同的数据进行处理得到的,所述多个对齐网络中的每个对齐网络均包括选择网络和多个参数对齐网络,所述选择网络用于根据输入的数据的类型将所述数据输出至所述多个参数对齐网络中的目标参数对齐网络并将所述目标参数对齐网络输出的特征数据作为对齐网络的输出,所述多个参数对齐网络分别用于将不同长度的数据映射为相同长度的特征数据;所述处理模块,还用于将所述输出序列输入第二网络模型,得到性能值,所述第二网络模型用于预测所述流水线任务在采用输入序列来配置参数时所对应的性能值。
- 根据权利要求11所述的装置,其特征在于,所述流水线任务中的每个阶段包括多个选项,所述多个选项中不同选项下的待配置参数的长度不一样,所述多个数据中的每个数据分别用于表示一个阶段中的一个选项所对应的配置参数;所述选择网络用于根据所述输入的数据所属的目标选项,将所述数据输出至与所述目标选项对应的目标参数对齐网络。
- 根据权利要求11或12所述的装置,其特征在于,所述多个对齐网络中的每个对齐网络均用于输出相同长度的特征数据,所述多个特征数据中每个特征数据的长度相同。
- 根据权利要求11-13任意一项所述的装置,其特征在于,所述多个参数对齐网络包 括多层感知机或卷积神经网络。
- 根据权利要求11-14任意一项所述的装置,其特征在于,所述第二网络模型为时间序列模型,所述第二网络模型用于基于所述多个特征数据以及所述多个特征数据之间的关系预测所述性能值。
- 根据权利要求15所述的装置,其特征在于,所述第二网络模型包括循环神经网络、长短期记忆网络或注意力网络。
- 根据权利要求11-16任意一项所述的装置,其特征在于,所述第二网络模型包括多个子网络,所述多个子网络用于分别对所述输出序列进行处理,以得到多个预测值,所述性能值是基于所述多个预测值得到的。
- 根据权利要求17所述的装置,其特征在于,所述处理模块,还用于基于所述输入序列和所述多个预测值,通过搜索函数进行序列搜索,得到推荐序列,所述推荐序列为所述搜索函数所搜索到的性能值最高的序列。
- 根据权利要求18所述的装置,其特征在于,所述处理模块,具体用于:基于所述输入序列和所述多个预测值,构建多个不同的搜索函数,所述多个不同的搜索函数均用于进行序列搜索;基于多目标优化算法,确定所述多个不同的搜索函数的帕累托前沿,所述帕累托前沿用于表示所述多个不同的搜索函数的共同优化结果;基于所述帕累托前沿,确定所述推荐序列。
- 根据权利要求11-19任意一项所述的装置,其特征在于,所述流水线任务包括电路设计任务、神经网络模型设计任务、软件设计任务或软件部署任务。
- 一种数据处理装置,其特征在于,包括存储器和处理器;所述存储器存储有代码,所述处理器被配置为执行所述代码,当所述代码被执行时,所述装置执行如权利要求1至10任意一项所述的方法。
- 一种计算机存储介质,其特征在于,所述计算机存储介质存储有指令,所述指令在由计算机执行时使得所述计算机实施权利要求1至10任意一项所述的方法。
- 一种计算机程序产品,其特征在于,所述计算机程序产品存储有指令,所述指令在由计算机执行时使得所述计算机实施权利要求1至10任意一项所述的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210111692.1 | 2022-01-29 | ||
CN202210111692.1A CN116560731A (zh) | 2022-01-29 | 2022-01-29 | 一种数据处理方法及其相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023143121A1 true WO2023143121A1 (zh) | 2023-08-03 |
Family
ID=87470483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2023/072060 WO2023143121A1 (zh) | 2022-01-29 | 2023-01-13 | 一种数据处理方法及其相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN116560731A (zh) |
WO (1) | WO2023143121A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757254B (zh) * | 2023-08-16 | 2023-11-14 | 阿里巴巴(中国)有限公司 | 任务处理方法、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110797086A (zh) * | 2019-11-01 | 2020-02-14 | 山东第一医科大学(山东省医学科学院) | 染色体外环状dna识别方法、系统、设备及介质 |
US20200097810A1 (en) * | 2018-09-25 | 2020-03-26 | Oracle International Corporation | Automated window based feature generation for time-series forecasting and anomaly detection |
CN112418392A (zh) * | 2020-10-21 | 2021-02-26 | 华为技术有限公司 | 一种神经网络构建方法以及装置 |
CN112784954A (zh) * | 2019-11-08 | 2021-05-11 | 华为技术有限公司 | 确定神经网络的方法和装置 |
CN113868108A (zh) * | 2021-09-23 | 2021-12-31 | 清华大学 | 程序性能预测方法、神经网络训练方法及应用 |
-
2022
- 2022-01-29 CN CN202210111692.1A patent/CN116560731A/zh active Pending
-
2023
- 2023-01-13 WO PCT/CN2023/072060 patent/WO2023143121A1/zh unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200097810A1 (en) * | 2018-09-25 | 2020-03-26 | Oracle International Corporation | Automated window based feature generation for time-series forecasting and anomaly detection |
CN110797086A (zh) * | 2019-11-01 | 2020-02-14 | 山东第一医科大学(山东省医学科学院) | 染色体外环状dna识别方法、系统、设备及介质 |
CN112784954A (zh) * | 2019-11-08 | 2021-05-11 | 华为技术有限公司 | 确定神经网络的方法和装置 |
CN112418392A (zh) * | 2020-10-21 | 2021-02-26 | 华为技术有限公司 | 一种神经网络构建方法以及装置 |
CN113868108A (zh) * | 2021-09-23 | 2021-12-31 | 清华大学 | 程序性能预测方法、神经网络训练方法及应用 |
Also Published As
Publication number | Publication date |
---|---|
CN116560731A (zh) | 2023-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | Edge intelligence: Paving the last mile of artificial intelligence with edge computing | |
Dutta et al. | Tinyml meets iot: A comprehensive survey | |
CN111465944B (zh) | 用于生成对象的结构化表示的图形神经网络系统 | |
Mousavi et al. | Traffic light control using deep policy‐gradient and value‐function‐based reinforcement learning | |
WO2022083624A1 (zh) | 一种模型的获取方法及设备 | |
WO2022068623A1 (zh) | 一种模型训练方法及相关设备 | |
WO2021254114A1 (zh) | 构建多任务学习模型的方法、装置、电子设备及存储介质 | |
CN116415654A (zh) | 一种数据处理方法及相关设备 | |
JP2023510566A (ja) | ニューラル・ネットワークのための適応的探索方法および装置 | |
WO2024032096A1 (zh) | 反应物分子的预测方法、训练方法、装置以及电子设备 | |
CN114997412A (zh) | 一种推荐方法、训练方法以及装置 | |
CN115965061A (zh) | 通过实时代理评估反馈增强的深度神经网络模型设计 | |
JP2021512387A (ja) | 量子コンピューティング・デバイス設計 | |
WO2023143121A1 (zh) | 一种数据处理方法及其相关装置 | |
WO2023207487A1 (zh) | 一种电路走线确定方法及相关设备 | |
CN114282678A (zh) | 一种机器学习模型的训练的方法以及相关设备 | |
CN114358319B (zh) | 基于机器学习框架的分类方法及相关装置 | |
WO2024012017A1 (zh) | 反应物分子的预测、模型的训练方法、装置、设备及介质 | |
Romero Hung et al. | ACE-GCN: A Fast data-driven FPGA accelerator for GCN embedding | |
WO2023174064A1 (zh) | 自动搜索方法、自动搜索的性能预测模型训练方法及装置 | |
Ghodhbani et al. | Deploying deep learning networks based advanced techniques for image processing on FPGA platform | |
WO2023078009A1 (zh) | 一种模型权重获取方法以及相关系统 | |
CN115618065A (zh) | 一种数据处理方法及相关设备 | |
Li et al. | On EDA-Driven Learning for SAT Solving | |
CN114707070A (zh) | 一种用户行为预测方法及其相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23746004 Country of ref document: EP Kind code of ref document: A1 |