CN113326869A - 基于最长路融合算法的深度学习计算图优化方法 - Google Patents
基于最长路融合算法的深度学习计算图优化方法 Download PDFInfo
- Publication number
- CN113326869A CN113326869A CN202110502342.3A CN202110502342A CN113326869A CN 113326869 A CN113326869 A CN 113326869A CN 202110502342 A CN202110502342 A CN 202110502342A CN 113326869 A CN113326869 A CN 113326869A
- Authority
- CN
- China
- Prior art keywords
- graph
- operator
- fusion
- operators
- edge
- 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
- 230000004927 fusion Effects 0.000 title claims abstract description 43
- 238000004364 calculation method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000013135 deep learning Methods 0.000 title claims abstract description 15
- 238000005457 optimization Methods 0.000 title claims abstract description 8
- 230000006870 function Effects 0.000 claims abstract description 9
- 230000001133 acceleration Effects 0.000 claims abstract description 5
- 230000000694 effects Effects 0.000 claims abstract description 3
- 238000000638 solvent extraction Methods 0.000 claims description 10
- 238000013528 artificial neural network Methods 0.000 claims description 6
- 238000002372 labelling Methods 0.000 claims 2
- 239000002243 precursor Substances 0.000 claims 1
- 238000013459 approach Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000007500 overflow downdraw method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于最长路融合算法的深度学习计算图优化方法,包括:1)使用最小代价子图划分估计深度学习计算图的算子融合的加速效果,2)根据代价函数近似得到出一种跨层算子融合规则,3)标记计算图边权,用动态规划求解算子最长路标号,4)使用并查集算法融合标号相同的算子。此方法在保证优化额外开销比较小的同时,显著提高深度学习框架的速度。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及一种可用于计算图的算子融合方法。
背景技术
随着大数据与硬件计算能力的增长,以深度学习为代表的人工智能技术在深度学习框架的支撑下快速发展,在计算机视觉、自然语言处理、智能机器人等领域超越传统方法,逐渐成为了科学研究与工程应用的新范式。大部分的深度学习框架采用了Python作为前段语言,后段采用C、CUDA等语言进行加速,计算图(或称为数据流图)是沟通两者的桥梁。
随着使用的训练数据的增加,深度神经网络的参数量、复杂度的扩大,计算图包含的算子数量也迅速增加,在计算图上进行运算和访存需要的时间也快速提高,已经远远超出了硬件性能增长速度。因此,为了支持前沿学术研究与工程应用,原始计算图需要优化,以降低额外存储和运算开销。
发明内容
(一)所要解决的技术问题
本发明要解决的技术问题是:
给定一个深度学习网络的计算图,如何融合计算图的算子,减少计算过程中的访存次数,同时保证计算图不产生自环导致无法计算,从而实现神经网络的加速。
(二)技术方案
为了解决上述技术问题,本发明提出一种基于最长路融合算法的深度学习计算图优化方法,其技术方案为:
首先将算子融合问题转化为最小代价子图划分问题。该方法将计算图看做一个有向无环图,其中,每一个节点代表一个算子,每一条边代表一个变量。如果一条边是一个顶点的入边,则代表对应的变量,为该顶点对应的算子的输入变量。
计算图中的节点分为可融合算子和不可融合算子。可融合算子之间可以融合,不可融合算子则不能和任何算子融合。本方法将算子融合问题形式化成图划分问题。此方法规定合法的划分方案需要满足如下要求:每一个节点都要唯一地属于一个子图;不可融合的算子必须单独存在于子图中,即该子图不包含其他节点;如果一条边的起始节点和终止节点属于同一个子图,那么这条边也属于子图的边集,否则的话该边将不属于任何子图的边集。
此方法使用代价函数近似估计子图划分后的计算量,该代价函数考虑所有算子的内存读写总大小,即跨越两个不同子图、同时也不属于任何子图的边所对应的变量占用的内存大小的总和。
为了快速地最小化该代价函数,此方法使用跨层算子融合规则,除了规定不能融合的情况外,算子应当尽量融合,并且算子融合可以跨越神经网络的不同层。不能融合的情况包括:1)重索引算子不可以与其相连接的前驱元算子融合,因为这种融合通常会导致性能的下降;2)重索引化简算子不可以和其后继算子融合,这种融合并不会提升性能;3)融合不能产生环,否则计算图无法正常执行。
依据以上规则,将计算图中不可融合的边标记距离为1,其他边标记距离为0,输出节点的标号为0,得到一个带有边权的有向图。对计算图进行拓扑排序,按照此顺序用动态规划计算节点标号,每个节点的标号为其输出节点的标号与输出边的距离的和的最大值。
得到计算图中每个节点的标号后,利用并查集算法对节点进行融合。具体融合方式为,对于计算图的每一条边进行判断,若边的两个节点标号相同、不属于同一个子图,并且边满足融合规则,即边权为0,那么将两个节点所属的子图融合为一个子图。从而得到最终的子图划分,最后将每个子图中的所有算子融合为一个算子。
(三)有益效果
上述技术方案具有如下优点:本发明的时间复杂度与计算图中变量数量成线性关系,因此能够在优化额外开销非常小的情况下,显著提高计算性能。对ResNet、DenseNet等深度神经网络模型进行的实际测试表明,此发明找到的计算图融合方案与最优融合方案性能无显著差别。
附图说明
图1为本发明所提出算法的步骤流程图;
图2为本发明所提出基于最长路标号的算子融合示意图;
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细描述。
本发明公开了一种基于最长路融合算法的深度学习计算图优化方法,给定一个深度学习网络的计算图,如何融合计算图的算子,减少计算过程中的访存次数,同时保证计算图不产生自环导致无法计算,从而实现神经网络的加速。
将算子融合问题转化为最小代价子图划分问题。该方法将计算图看做一个有向无环图,其中,每一个节点代表一个算子,每一条边代表一个变量。如果一条边是一个顶点的入边,则代表对应的变量,为该顶点对应的算子的输入变量。同理,如一条边是一个顶点的出边,则代表对应变量为对应算子的输出变量,需要注意的是,每个算子都可能有多个输入以及多个输出。
计算图中的节点将被分为两类,分别为可融合算子和不可融合算子。可融合算子之间可以融合,不可融合算子则不能和任何算子融合。本方法将算子融合问题形式化成图划分问题。计算图被划分成若干个子图,每一个子图就代表了一个融合算子;一个图可以有很多种划分方案,但此方法规定合法的划分方案需要满足如下要求:每一个节点都要唯一地属于一个子图;不可融合的算子必须单独存在于子图中,即该子图不包含其他节点;如果一条边的起始节点和终止节点属于同一个子图,那么这条边也属于子图的边集,否则的话该边将不属于任何子图的边集。
此方法使用代价函数C近似估计子图划分后的计算量,其具体形式为:
其中ωe代表了边e对应的变量占用的内存大小。C对图中所有跨越两个不同子图、同时也不属于任何子图的边权进行求和。这个代价函数可以近似所有算子的内存读写总大小。鉴于深度学习模型主要瓶颈是访存,所以这个代价函数可以比较准确的估计最终耗时的相对大小。
为了快速地最小化该代价函数,此方法使用跨层算子融合规则,除了规定不能融合的情况外,算子应当尽量融合,并且算子融合可以跨越神经网络的不同层。不能融合的情况包括:1)重索引算子不可以与其相连接的前驱元算子融合,因为这种融合通常会导致性能的下降;2)重索引化简算子不可以和其后继算子融合,这种融合并不会提升性能;3)融合不能产生环,否则计算图无法正常执行。
依据以上规则,将计算图中不可融合的边标记距离为1,其他边标记距离为0,输出节点的标号为0,得到一个带有边权的有向图。对计算图进行拓扑排序,按照此顺序用动态规划计算节点标号,每个节点的标号为其输出节点的标号与输出边的距离的和的最大值,即为到输出节点的最长路的距离。
得到计算图中每个节点的标号后,利用并查集算法对节点进行融合。如图2所示,具体融合方式为,对于计算图的每一条边进行判断,若边的两个节点标号相同、不属于同一个子图,并且边满足融合规则,即边权为0,那么将两个节点所属的子图融合为一个子图。从而得到最终的子图划分,将每个子图中的所有算子融合为一个算子,这样的到融合是合法且高效的。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本发明的保护范围。
Claims (6)
1.一种基于最长路融合算法的深度学习计算图优化方法,其特征在于,该方法首先使用最小代价子图划分估计深度学习计算图的算子融合的加速效果,然后根据代价函数近似得到一种跨层算子融合规则,再根据融合规则,利用最长路标号的动态规划算法求解节点的标号,最后使用并查集算法的融合标号相同的算子,实现深度学习计算图的加速。
2.如权利1要求所提及,最小代价子图划分,其特征在于,将计算图看作一个有向无环图,其中,每一个节点代表一个算子,每一条边代表一个变量,节点分为可融合算子和不可融合算子,规定一个合法的划分方案为:每个节点唯一属于计算图的一个子图,并且不可融合算子的子图不包含其他子图;通过评估子图划分的质量估计算子融合后计算图整体的运算速度。
3.如权利要求1所提及,跨层算子融合规则,其特征在于,规定了某些算子不能融合,其余算子应当尽量融合。算子融合可以跨越神经网络的不同层。这些规则包括但不限于:1)重索引算子不与其相连接的前驱元算子融合;2)重索引化简算子不可以和其后继算子融合;3)算子融合后的计算图不能产生环。
4.如权利要求1所提及,最长路标号算法求解节点标号,其特征在于,将计算图中不可融合的边标记距离为1,其他边标记距离为0,输出节点的标号为0,对计算图进行拓扑排序,按照此顺序用动态规划计算节点标号,每个节点的标号为其输出节点的标号与输出边的距离的和的最大值。
5.如权利要求1所提及,使用并查集算法融合算子,其特征在于,对于计算图的每一条边进行判断,若边的两个节点标号相同、不属于同一个子图,并且边满足融合规则,那么将两个节点所属的子图融合为一个子图。
6.如权利2要求所提及,评估子图划分方案的质量,其特征在于估计子图划分后所有算子的内存读写大小,即跨越两个不同子图、同时也不属于任何子图的边所对应的变量占用的内存大小的总和。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110502342.3A CN113326869A (zh) | 2021-05-08 | 2021-05-08 | 基于最长路融合算法的深度学习计算图优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110502342.3A CN113326869A (zh) | 2021-05-08 | 2021-05-08 | 基于最长路融合算法的深度学习计算图优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113326869A true CN113326869A (zh) | 2021-08-31 |
Family
ID=77415065
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110502342.3A Pending CN113326869A (zh) | 2021-05-08 | 2021-05-08 | 基于最长路融合算法的深度学习计算图优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113326869A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615519A (zh) * | 2022-01-27 | 2022-06-10 | 百果园技术(新加坡)有限公司 | 视频处理方法、装置、设备和存储介质 |
CN115809699A (zh) * | 2023-02-03 | 2023-03-17 | 之江实验室 | 神经网络模型推理所需最小内存占用量的估计方法和装置 |
WO2024065525A1 (en) * | 2022-09-29 | 2024-04-04 | Intel Corporation | Method and apparatus for optimizing deep learning computation graph |
-
2021
- 2021-05-08 CN CN202110502342.3A patent/CN113326869A/zh active Pending
Non-Patent Citations (1)
Title |
---|
SHI-MIN HU等: "Jittor: a novel deep learning framework with meta-operators and unified graph execution" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114615519A (zh) * | 2022-01-27 | 2022-06-10 | 百果园技术(新加坡)有限公司 | 视频处理方法、装置、设备和存储介质 |
WO2024065525A1 (en) * | 2022-09-29 | 2024-04-04 | Intel Corporation | Method and apparatus for optimizing deep learning computation graph |
CN115809699A (zh) * | 2023-02-03 | 2023-03-17 | 之江实验室 | 神经网络模型推理所需最小内存占用量的估计方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kool et al. | Deep policy dynamic programming for vehicle routing problems | |
Mousavi et al. | Traffic light control using deep policy‐gradient and value‐function‐based reinforcement learning | |
CN113326869A (zh) | 基于最长路融合算法的深度学习计算图优化方法 | |
Jin et al. | Auto-keras: Efficient neural architecture search with network morphism | |
CN112579063B (zh) | 一种用于深度学习编译器中探索优化空间的加速方法 | |
Horsch et al. | An anytime algorithm for decision making under uncertainty | |
US11775721B2 (en) | Quantum circuit decomposition by integer programming | |
CN112699247A (zh) | 一种基于多类交叉熵对比补全编码的知识表示学习框架 | |
Meera et al. | Retracted article: a hybrid metaheuristic approach for efficient feature selection methods in big data | |
CN112052818A (zh) | 无监督域适应的行人检测方法、系统及存储介质 | |
Xingrong | Research on time series data mining algorithm based on Bayesian node incremental decision tree | |
CN111538766A (zh) | 一种文本分类方法、装置、处理设备和票据分类系统 | |
CN115661550A (zh) | 基于生成对抗网络的图数据类别不平衡分类方法及装置 | |
CN111626338A (zh) | 基于融合分类模型的云环境匹配方法、装置、设备和介质 | |
Sui et al. | Learning 3-opt heuristics for traveling salesman problem via deep reinforcement learning | |
Regis | Surrogate-assisted particle swarm with local search for expensive constrained optimization | |
Oberweger et al. | A learning large neighborhood search for the staff rerostering problem | |
US20150134306A1 (en) | Creating understandable models for numerous modeling tasks | |
Zou et al. | A novel spatio-temporal generative inference network for predicting the long-term highway traffic speed | |
CN114662009A (zh) | 一种基于图卷积的工业互联网工厂协同推荐算法 | |
Chen et al. | Automated Machine Learning | |
CN114168320B (zh) | 基于隐式空间映射的端到端边缘智能模型搜索方法和系统 | |
Ferjani et al. | Multi-GPU-based Convolutional Neural Networks Training for Text Classification | |
Klein | Challenges of Model Predictive Control in a Black Box Environment | |
Yang et al. | Learning TSP Combinatorial Search and Optimization with Heuristic Search |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210831 |
|
RJ01 | Rejection of invention patent application after publication |