CN113326869A - 基于最长路融合算法的深度学习计算图优化方法 - Google Patents

基于最长路融合算法的深度学习计算图优化方法 Download PDF

Info

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
Application number
CN202110502342.3A
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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202110502342.3A priority Critical patent/CN113326869A/zh
Publication of CN113326869A publication Critical patent/CN113326869A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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

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近似估计子图划分后的计算量,其具体形式为:
Figure BDA0003056896780000041
其中ω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要求所提及,评估子图划分方案的质量,其特征在于估计子图划分后所有算子的内存读写大小,即跨越两个不同子图、同时也不属于任何子图的边所对应的变量占用的内存大小的总和。
CN202110502342.3A 2021-05-08 2021-05-08 基于最长路融合算法的深度学习计算图优化方法 Pending CN113326869A (zh)

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)

* Cited by examiner, † Cited by third party
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

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHI-MIN HU等: "Jittor: a novel deep learning framework with meta-operators and unified graph execution" *

Cited By (3)

* Cited by examiner, † Cited by third party
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