CN114428616A - 一种神经网络编译阶段优化置换代价的方法 - Google Patents
一种神经网络编译阶段优化置换代价的方法 Download PDFInfo
- 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
Links
- 238000013528 artificial neural network Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000004364 calculation method Methods 0.000 claims abstract description 20
- 238000006073 displacement reaction Methods 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 8
- 230000006870 function Effects 0.000 claims description 6
- 238000006467 substitution reaction Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 6
- 238000003062 neural network model Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference 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,将所有的置换操作定义为维度内置换与维度间置换,具体地,
维度内置换公式为:
维度间置换公式为:
步骤S3,对所有标记出的置换操作进行循环遍历,通过移动置换,将连续且属于同一类的置换标记为同一组,进一步地,对同一组的置换操作进行合并,具体包括步骤:
步骤S301,对所有标记出的置换操作进行循环遍历,
步骤S302,判断规则Z1是否成立,如果满足规则Z1,则执行动作D1;
其中,规则Z1包括规则Z101和规则Z102,分别表示判断能否移动维度内置换和判断能否移动维度间置换,具体规则为:
规则Z101,如果是维度内置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在被置换的维度是否相等;
规则Z102,如果是维度间置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在所有被置换的维度是否相等,
动作D1是指移动置换操作,包括移动维度内置换操作和移动维度间置换操作,具体地,
如果满足规则Z101,则执行移动维度内置换操作,具体计算公式为:
如果满足规则Z101,则移动维度间置换操作,具体计算公式为:
步骤S303,判断规则Z2是否成立,如果满足规则Z2,则执行动作D2;
其中,规则Z2用于判断置换操作能否标记为同一组,包括规则Z201和规则Z202,分别表示能否标记连续多个的维度内置换操作为同一组和能否标记连续多个的维度间置换操作为同一组,具体规则为:
规则Z201,移动后的多个置换是否连续且同属于维度内置换;
规则Z202,移动后的多个置换是否连续且同属于维度间置换,
动作D2是指合并同一组置换操作,包括合并同一组维度内置换操作和合并同一组维度间置换操作,具体地,如果满足规则Z201,则执行合并同一组维度内置换操作,具体计算公式为:
如果满足规则Z202,则执行合并同一组维度间置换操作,具体计算公式为:
步骤S4,选择合并后置换所处位置,逐一对比各个可选位置的执行代价,并根据对比的结果选择合并后的置换所处位置,具体地,执行代价为置换数据量。
本发明提出了一种神经网络编译阶段优化置换代价的方法,与现有的技术相比,具有以下有益效果:
本发明通过移动、合并置换操作等手段来降低对神经网络编译阶段中的置换代价,显著地减小了神经网络推理过程的数据计算量,提高了神经网络处理器推理相关神经网络的执行效率。
附图说明
图1是本发明的一种神经网络编译阶段优化置换代价的流程图。
图2是本发明实施例中置换移动操作和置换合并操作示意图。
具体实施方式
为了使本发明的目的、特征能够更加的明显和易懂,下面通过实施例并结合附图对本技术方案进行详细说明。
如图1所示,一种神经网络编译阶段优化置换代价的方法,包括步骤:
步骤S1,对于需要进行编译的深度神经网络,标记出该深度神经网络所有的置换操作。
步骤S2,将所有的置换操作定义为维度内置换与维度间置换,具体地,
维度内置换公式为:
维度间置换公式为:
步骤S3,对所有标记出的置换操作进行循环遍历,通过移动置换,将连续且属于同一类的置换标记为同一组,进一步地,对同一组的置换操作进行合并,具体过程如下:
首先,对所有标记出的置换操作进行循环遍历。
然后,分别判断能否移动维度内置换和能否移动维度间置换。
如果是维度内置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在被置换的维度是否相等。
如果是维度间置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在所有被置换的维度是否相等。
进一步地,根据规则的判断结果,对置换进行移动。
如果满足移动维度内置换的条件,则执行移动维度内置换操作,移动维度内置换的计算公式为:
如果满足移动维度间置换的条件,则执行移动维度间置换操作,移动维度间置换的计算公式为:
接着,分别判断移动后的置换能否标记为同一组置换。
如果移动后的多个置换是否连续且同属于维度内置换,则标记为同一组维度内置换。
如果移动后的多个置换是否连续且同属于维度间置换,则标记为同一组维度间置换。
最后,根据标记置换的结果进行对同一组置换进行合并。
如果是同一组维度内置换,则合并该组的维度内置换,合并同一组维度内置换的计算公式为:
如果是同一组维度间置换,则合并该组的维度间置换,合并同一组维度间置换的计算公式为:
步骤S4,选择合并后置换所处位置,逐一对比各个可选位置的执行代价,并根据对比的结果选择合并后的置换所处位置,具体地,执行代价为置换数据量。
如图2所示,在本实施例中,由于分层卷积不影响原维度排列,所以维度置换B可移动到分层卷积之前,移动后的维度置换B和维度置换A连续且属于同一类置换,可标记为同一组并进行合并置换,进一步地,合并后的置换根据分层卷积前后数据量的大小,选择将合并后置换置于数据量较小的分层卷积之后。
至此,按照本发明公开的方法,已实施完一次本发明的工作过程。
虽然,本说明书中已经用一般性说明及具体实施方案对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种神经网络编译阶段优化置换代价的方法,其特征在于,包括步骤:
步骤S1,对于需要进行编译的深度神经网络,标记出该深度神经网络所有的置换操作;
步骤S2,将所有的置换操作定义为维度内置换与维度间置换;
步骤S3,对所有标记出的置换操作进行循环遍历,通过移动置换,将连续且属于同一类的置换标记为同一组,进一步地,对同一组的置换操作进行合并;
步骤S4,选择合并后置换所处位置,逐一对比各个可选位置的执行代价,并根据对比的结果选择合并后的置换所处位置。
3.根据权利要求1所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤3包括步骤:
步骤S301,对所有标记出的置换操作进行循环遍历,
步骤S302,判断规则Z1是否成立,如果满足规则Z1,则执行动作D1;
步骤S303,判断规则Z2是否成立,如果满足规则Z2,则执行动作D2。
4.根据权利要求3所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S302中的规则Z1用于判断置换操作能否进行移动,规则Z1包括规则Z101和规则Z102,分别表示判断能否移动维度内置换和判断能否移动维度间置换,具体规则为:
规则Z101,如果是维度内置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在被置换的维度是否相等;
规则Z102,如果是维度间置换,置换操作前一层和置换操作后一层的计算函数计算单个输出时输入的数据坐标,在所有被置换的维度是否相等。
6.根据权利要求3所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S303中的规则Z2用于判断置换操作能否标记为同一组,包括规则Z201和规则Z202,分别表示能否标记连续多个的维度内置换操作为同一组和能否标记连续多个的维度间置换操作为同一组,具体规则为:
规则Z201,移动后的多个置换是否连续且同属于维度内置换;
规则Z202,移动后的多个置换是否连续且同属于维度间置换。
8.根据权利要求1所述的一种神经网络编译阶段优化置换代价的方法,其特征在于,步骤S4中所述的对比各个可选位置的执行代价,具体地,执行代价为置换数据量。
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)
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 |
-
2022
- 2022-04-01 CN CN202210339123.2A patent/CN114428616A/zh active Pending
Patent Citations (7)
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)
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 |