CN114428616A - 一种神经网络编译阶段优化置换代价的方法 - Google Patents

一种神经网络编译阶段优化置换代价的方法 Download PDF

Info

Publication number
CN114428616A
CN114428616A CN202210339123.2A CN202210339123A CN114428616A CN 114428616 A CN114428616 A CN 114428616A CN 202210339123 A CN202210339123 A CN 202210339123A CN 114428616 A CN114428616 A CN 114428616A
Authority
CN
China
Prior art keywords
permutation
rule
dimension
replacement
neural network
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.)
Pending
Application number
CN202210339123.2A
Other languages
English (en)
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.)
Beijing Qingwei Intelligent Information Technology Co ltd
Original Assignee
Beijing Qingwei Intelligent Information Technology Co ltd
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 Beijing Qingwei Intelligent Information Technology Co ltd filed Critical Beijing Qingwei Intelligent Information Technology Co ltd
Priority to CN202210339123.2A priority Critical patent/CN114428616A/zh
Publication of CN114428616A publication Critical patent/CN114428616A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Image Analysis (AREA)

Abstract

本发明涉及神经网络技术领域,公开了一种神经网络编译阶段优化置换代价的方法,首先标记出神经网络中所有的置换操作,然后通过移动置换操作,将连续的多个同类置换标记为同一组,接着对同一组的置换操作进行合并,最后对比各个可选位置的执行代价,并根据对比结果来选择合并后置换所处的位置。该方法通过移动、合并置换操作等手段来降低神经网络编译阶段的置换代价,显著地减小了神经网络推理过程的数据计算量,提高了神经网络处理器推理相关神经网络的执行效率。

Description

一种神经网络编译阶段优化置换代价的方法
技术领域
本发明涉及神经网络技术领域,具体涉及一种神经网络编译阶段优化置换代价的方法。
背景技术
神经网络近年来在越来越多的领域体现了其不可替代的价值,对于不同计算架构而言,执行神经网络的推理过程千差万别,因此,需要对神经网络进行编译,来将神经网络模型转化成相应计算架构上的指令,从而实现神经网络模型在该计算架构上的推理。
对于不同深度学习框架和不同硬件训练的神经网络模型,其默认模型维度顺序或者模型输入维度会存在差异,所以,在对神经网络进行编译时,需要通过数据置换,来实现神经网络的维度对齐和维度转换。
而由于神经网络模型的推理,其推理速度与数据存取带宽以及指令顺序息息相关,因此,在神经网络的编译过程中,对神经网络的进行计算优化具有重要的实际意义。
发明内容
为了解决上述背景技术中提到的至少一个问题,本发明提出了一种神经网络编译阶段优化置换代价的方法。
一种神经网络编译阶段优化置换代价的方法,包括步骤:
步骤S1,对于需要进行编译的深度神经网络,标记出该深度神经网络所有的置换操作;
步骤S2,将所有的置换操作定义为维度内置换与维度间置换,具体地,
维度内置换公式为:
Figure 218726DEST_PATH_IMAGE002
其中,f表示维度内置换操作,(1,2,3,…,n)为同一维度内的元素,
Figure DEST_PATH_IMAGE003
为置换后结果,
维度间置换公式为:
Figure DEST_PATH_IMAGE005
其中,g表示维度间置换操作,
Figure 900505DEST_PATH_IMAGE006
表示维度。
步骤S3,对所有标记出的置换操作进行循环遍历,通过移动置换,将连续且属于同一类的置换标记为同一组,进一步地,对同一组的置换操作进行合并,具体包括步骤:
步骤S301,对所有标记出的置换操作进行循环遍历,
步骤S302,判断规则Z1是否成立,如果满足规则Z1,则执行动作D1;
其中,规则Z1包括规则Z101和规则Z102,分别表示判断能否移动维度内置换和判断能否移动维度间置换,具体规则为:
规则Z101,如果是维度内置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在被置换的维度是否相等;
规则Z102,如果是维度间置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在所有被置换的维度是否相等,
动作D1是指移动置换操作,包括移动维度内置换操作和移动维度间置换操作,具体地,
如果满足规则Z101,则执行移动维度内置换操作,具体计算公式为:
Figure 920414DEST_PATH_IMAGE008
其中,
Figure DEST_PATH_IMAGE009
表示神经网络中的网络层,f表示维度内置换操作,表示神经网络中数据流向;
如果满足规则Z101,则移动维度间置换操作,具体计算公式为:
Figure DEST_PATH_IMAGE011
其中,
Figure 595109DEST_PATH_IMAGE009
表示神经网络中的网络层,g表示维度间置换操作,表示神经网络中数据流动。
步骤S303,判断规则Z2是否成立,如果满足规则Z2,则执行动作D2;
其中,规则Z2用于判断置换操作能否标记为同一组,包括规则Z201和规则Z202,分别表示能否标记连续多个的维度内置换操作为同一组和能否标记连续多个的维度间置换操作为同一组,具体规则为:
规则Z201,移动后的多个置换是否连续且同属于维度内置换;
规则Z202,移动后的多个置换是否连续且同属于维度间置换,
动作D2是指合并同一组置换操作,包括合并同一组维度内置换操作和合并同一组维度间置换操作,具体地,如果满足规则Z201,则执行合并同一组维度内置换操作,具体计算公式为:
Figure DEST_PATH_IMAGE013
其中,n表示连续且类别相同的置换个数,
Figure 774286DEST_PATH_IMAGE014
表示维度内置换,
Figure DEST_PATH_IMAGE015
表示置换合并操作;
如果满足规则Z202,则执行合并同一组维度间置换操作,具体计算公式为:
Figure DEST_PATH_IMAGE017
步骤S4,选择合并后置换所处位置,逐一对比各个可选位置的执行代价,并根据对比的结果选择合并后的置换所处位置,具体地,执行代价为置换数据量。
本发明提出了一种神经网络编译阶段优化置换代价的方法,与现有的技术相比,具有以下有益效果:
本发明通过移动、合并置换操作等手段来降低对神经网络编译阶段中的置换代价,显著地减小了神经网络推理过程的数据计算量,提高了神经网络处理器推理相关神经网络的执行效率。
附图说明
图1是本发明的一种神经网络编译阶段优化置换代价的流程图。
图2是本发明实施例中置换移动操作和置换合并操作示意图。
具体实施方式
为了使本发明的目的、特征能够更加的明显和易懂,下面通过实施例并结合附图对本技术方案进行详细说明。
如图1所示,一种神经网络编译阶段优化置换代价的方法,包括步骤:
步骤S1,对于需要进行编译的深度神经网络,标记出该深度神经网络所有的置换操作。
步骤S2,将所有的置换操作定义为维度内置换与维度间置换,具体地,
维度内置换公式为:
Figure 141814DEST_PATH_IMAGE002
其中,f表示维度内置换操作,(1,2,3,…,n)为同一维度内的元素,
Figure 914598DEST_PATH_IMAGE003
为置换后结果。
维度间置换公式为:
Figure 81399DEST_PATH_IMAGE005
其中,g表示维度间置换操作,
Figure 990449DEST_PATH_IMAGE006
表示维度。
步骤S3,对所有标记出的置换操作进行循环遍历,通过移动置换,将连续且属于同一类的置换标记为同一组,进一步地,对同一组的置换操作进行合并,具体过程如下:
首先,对所有标记出的置换操作进行循环遍历。
然后,分别判断能否移动维度内置换和能否移动维度间置换。
如果是维度内置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在被置换的维度是否相等。
如果是维度间置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在所有被置换的维度是否相等。
进一步地,根据规则的判断结果,对置换进行移动。
如果满足移动维度内置换的条件,则执行移动维度内置换操作,移动维度内置换的计算公式为:
Figure 591195DEST_PATH_IMAGE008
其中,
Figure 585696DEST_PATH_IMAGE009
表示神经网络中的网络层,f表示维度内置换操作,表示神经网络中数据流向。
如果满足移动维度间置换的条件,则执行移动维度间置换操作,移动维度间置换的计算公式为:
Figure 805455DEST_PATH_IMAGE011
其中,
Figure 834591DEST_PATH_IMAGE009
表示神经网络中的网络层,g表示维度间置换操作,表示神经网络中数据流动。
接着,分别判断移动后的置换能否标记为同一组置换。
如果移动后的多个置换是否连续且同属于维度内置换,则标记为同一组维度内置换。
如果移动后的多个置换是否连续且同属于维度间置换,则标记为同一组维度间置换。
最后,根据标记置换的结果进行对同一组置换进行合并。
如果是同一组维度内置换,则合并该组的维度内置换,合并同一组维度内置换的计算公式为:
Figure 871817DEST_PATH_IMAGE018
其中,n表示连续且类别相同的置换个数,
Figure 212669DEST_PATH_IMAGE014
表示维度内置换,
Figure 360754DEST_PATH_IMAGE015
表示置换合并操作。
如果是同一组维度间置换,则合并该组的维度间置换,合并同一组维度间置换的计算公式为:
Figure DEST_PATH_IMAGE019
其中,n表示连续且类别相同的置换个数,
Figure 244396DEST_PATH_IMAGE020
表示维度间置换,
Figure 327890DEST_PATH_IMAGE015
表示置换合并操作。
步骤S4,选择合并后置换所处位置,逐一对比各个可选位置的执行代价,并根据对比的结果选择合并后的置换所处位置,具体地,执行代价为置换数据量。
如图2所示,在本实施例中,由于分层卷积不影响原维度排列,所以维度置换B可移动到分层卷积之前,移动后的维度置换B和维度置换A连续且属于同一类置换,可标记为同一组并进行合并置换,进一步地,合并后的置换根据分层卷积前后数据量的大小,选择将合并后置换置于数据量较小的分层卷积之后。
至此,按照本发明公开的方法,已实施完一次本发明的工作过程。
虽然,本说明书中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

Claims (8)

1.一种神经网络编译阶段优化置换代价的方法,其特征在于,包括步骤:
步骤S1,对于需要进行编译的深度神经网络,标记出该深度神经网络所有的置换操作;
步骤S2,将所有的置换操作定义为维度内置换与维度间置换;
步骤S3,对所有标记出的置换操作进行循环遍历,通过移动置换,将连续且属于同一类的置换标记为同一组,进一步地,对同一组的置换操作进行合并;
步骤S4,选择合并后置换所处位置,逐一对比各个可选位置的执行代价,并根据对比的结果选择合并后的置换所处位置。
2.根据权利要求1所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S2中所述的维度内置换公式为:
Figure DEST_PATH_IMAGE001
其中,f表示维度内置换操作,(1,2,3,…,n)为同一维度内的元素,
Figure 683072DEST_PATH_IMAGE002
为置换后结果;
所述的维度间置换公式为:
Figure 86371DEST_PATH_IMAGE003
其中,g表示维度间置换操作,
Figure 876473DEST_PATH_IMAGE004
表示维度。
3.根据权利要求1所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤3包括步骤:
步骤S301,对所有标记出的置换操作进行循环遍历,
步骤S302,判断规则Z1是否成立,如果满足规则Z1,则执行动作D1;
步骤S303,判断规则Z2是否成立,如果满足规则Z2,则执行动作D2。
4.根据权利要求3所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S302中的规则Z1用于判断置换操作能否进行移动,规则Z1包括规则Z101和规则Z102,分别表示判断能否移动维度内置换和判断能否移动维度间置换,具体规则为:
规则Z101,如果是维度内置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在被置换的维度是否相等;
规则Z102,如果是维度间置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在所有被置换的维度是否相等。
5.根据权利要求3所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S302中的动作D1是指移动置换操作,包括移动维度内置换和移动维度间置换,具体地,
如果满足规则Z101,则执行移动维度内置换操作,具体计算公式为:
Figure 365223DEST_PATH_IMAGE005
其中,
Figure 774338DEST_PATH_IMAGE006
表示神经网络中的网络层,f表示维度内置换操作,表示神经网络中数据流向;
如果满足规则Z101,则执行移动维度间置换操作,具体计算公式为:
Figure DEST_PATH_IMAGE007
其中,
Figure 563303DEST_PATH_IMAGE006
表示神经网络中的网络层,g表示维度间置换操作,表示神经网络中数据流动。
6.根据权利要求3所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S303中的规则Z2用于判断置换操作能否标记为同一组,包括规则Z201和规则Z202,分别表示能否标记连续多个的维度内置换操作为同一组和能否标记连续多个的维度间置换操作为同一组,具体规则为:
规则Z201,移动后的多个置换是否连续且同属于维度内置换;
规则Z202,移动后的多个置换是否连续且同属于维度间置换。
7.根据权利要求3所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S303中的动作D2是指合并同一组置换操作,包括合并同一组维度内置换操作和合并同一组维度间置换操作,具体地,如果满足规则Z201,则执行合并同一组维度内置换操作,具体计算公式为:
Figure 665251DEST_PATH_IMAGE008
其中,n表示连续且类别相同的置换个数,
Figure 641297DEST_PATH_IMAGE009
表示维度内置换,
Figure 713159DEST_PATH_IMAGE010
表示置换合并操作;
如果满足规则Z202,则执行合并同一组维度间置换操作,具体计算公式为:
Figure 91050DEST_PATH_IMAGE011
其中,n表示连续且类别相同的置换个数,
Figure 98321DEST_PATH_IMAGE012
表示维度间置换,
Figure 561663DEST_PATH_IMAGE010
表示置换合并操作。
8.根据权利要求1所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S4中所述的对比各个可选位置的执行代价,具体地,执行代价为置换数据量。
CN202210339123.2A 2022-04-01 2022-04-01 一种神经网络编译阶段优化置换代价的方法 Pending CN114428616A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210339123.2A CN114428616A (zh) 2022-04-01 2022-04-01 一种神经网络编译阶段优化置换代价的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210339123.2A CN114428616A (zh) 2022-04-01 2022-04-01 一种神经网络编译阶段优化置换代价的方法

Publications (1)

Publication Number Publication Date
CN114428616A true CN114428616A (zh) 2022-05-03

Family

ID=81314365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210339123.2A Pending CN114428616A (zh) 2022-04-01 2022-04-01 一种神经网络编译阶段优化置换代价的方法

Country Status (1)

Country Link
CN (1) CN114428616A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190303762A1 (en) * 2018-03-30 2019-10-03 Xilinx, Inc. Methods of optimization of computational graphs of neural networks
CN110766147A (zh) * 2018-07-25 2020-02-07 赛灵思公司 神经网络编译器架构及编译方法
CN112579063A (zh) * 2021-03-01 2021-03-30 之江实验室 一种用于深度学习编译器中探索优化空间的加速方法
CN112711422A (zh) * 2020-12-31 2021-04-27 北京清微智能科技有限公司 一种神经网络编译的优化方法及系统
CN112912837A (zh) * 2018-11-08 2021-06-04 北京比特大陆科技有限公司 神经网络编译方法、装置、设备、存储介质及程序产品
US20210200521A1 (en) * 2018-09-05 2021-07-01 Huawei Technologies Co., Ltd. Compiler-level general matrix multiplication configuration optimization
US11144291B1 (en) * 2019-11-27 2021-10-12 Amazon Technologies, Inc. Loop-oriented neural network compilation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190303762A1 (en) * 2018-03-30 2019-10-03 Xilinx, Inc. Methods of optimization of computational graphs of neural networks
CN110766147A (zh) * 2018-07-25 2020-02-07 赛灵思公司 神经网络编译器架构及编译方法
US20210200521A1 (en) * 2018-09-05 2021-07-01 Huawei Technologies Co., Ltd. Compiler-level general matrix multiplication configuration optimization
CN112912837A (zh) * 2018-11-08 2021-06-04 北京比特大陆科技有限公司 神经网络编译方法、装置、设备、存储介质及程序产品
US11144291B1 (en) * 2019-11-27 2021-10-12 Amazon Technologies, Inc. Loop-oriented neural network compilation
CN112711422A (zh) * 2020-12-31 2021-04-27 北京清微智能科技有限公司 一种神经网络编译的优化方法及系统
CN112579063A (zh) * 2021-03-01 2021-03-30 之江实验室 一种用于深度学习编译器中探索优化空间的加速方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
DONGHAITIAN 等: "BinDeep: A deep learning approach to binary code similarity detection", 《EXPERT SYSTEMS WITH APPLICATIONS》 *
DONGHAITIAN 等: "BinDeep: A deep learning approach to binary code similarity detection", 《EXPERT SYSTEMS WITH APPLICATIONS》, vol. 168, 15 April 2021 (2021-04-15), pages 1 - 9 *
MA SIZHOU: "Tensorflow笔记——第二讲:神经网络优化", 《HTTPS://BLOG.CSDN.NET/WEIXIN_45901519/ARTICLE/DETAILS/108834533》 *
MA SIZHOU: "Tensorflow笔记——第二讲:神经网络优化", 《HTTPS://BLOG.CSDN.NET/WEIXIN_45901519/ARTICLE/DETAILS/108834533》, 28 September 2020 (2020-09-28), pages 1 - 24 *
姜俊宁: "基于FPGA的神经网络编译与加速技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *
姜俊宁: "基于FPGA的神经网络编译与加速技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》, 15 January 2022 (2022-01-15), pages 135 - 1003 *

Similar Documents

Publication Publication Date Title
CN104200045B (zh) 一种流域大尺度水系分布式水动力模型的并行计算方法
CN114548414B (zh) 一种编译量子线路的方法、装置、存储介质及编译系统
CN113918168B (zh) 面向量子线路深度的编译优化方法及装置
CN114418108A (zh) 酉算子编译方法、计算设备、装置及存储介质
CN114428616A (zh) 一种神经网络编译阶段优化置换代价的方法
CN116090344A (zh) 一种适用于大变量数的多级叶轮优化方法及相关装置
CN105867930A (zh) 一种函数调用关系的显示方法、装置及终端
CN114841106A (zh) 一种基于规则引导的遗传算法的集成电路优化方法及系统
CN102929853A (zh) 基于Excel表单关联的DCS项目数据生成系统和方法
CN116894180A (zh) 一种基于异构图注意力网络的产品制造质量预测方法
CN115146485A (zh) 基于gpu加速的射频链路仿真方法
CN114017049B (zh) 一种基于Multi-Agent理论的盾构掘进装备核心部件协同设计制造方法
CN114833461B (zh) 一种激光切割路径非封闭轮廓自由转向方法以及排序装置
CN114169100A (zh) 一种超大变量叶轮机械高效设计优化方法及系统及应用
CN113780545A (zh) 神经网络激活函数的通用拟合方法及装置
CN117217150B (zh) 一种基于遗传算法符号回归的dtco公式建模方法
CN112596391A (zh) 一种基于数据驱动的深度神经网络大时滞系统动态建模方法
Xu et al. FedConv: Enhancing Convolutional Neural Networks for Handling Data Heterogeneity in Federated Learning
CN105183651B (zh) 用于程序自动性能预测的视点提升方法
Siegle Compact representation of large performability models based on extended BDDs
Hagerup An even simpler linear-time algorithm for verifying minimum spanning trees
CN112905181B (zh) 一种模型编译、运行方法及装置
CN115131119A (zh) 基于傅里叶展开的量子期权估算方法及相关装置
CN118821952A (zh) 一种面向nisq计算机的量子分布式计算系统
CN112800669A (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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20220503

WD01 Invention patent application deemed withdrawn after publication