CN116151315B - 一种面向晶上系统的注意力网络调度优化方法及装置 - Google Patents
一种面向晶上系统的注意力网络调度优化方法及装置 Download PDFInfo
- Publication number
- CN116151315B CN116151315B CN202310347555.2A CN202310347555A CN116151315B CN 116151315 B CN116151315 B CN 116151315B CN 202310347555 A CN202310347555 A CN 202310347555A CN 116151315 B CN116151315 B CN 116151315B
- Authority
- CN
- China
- Prior art keywords
- matrix
- priority
- calculation
- attention
- chip
- 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.)
- Active
Links
Classifications
-
- 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
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Neurology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种面向晶上系统的注意力网络调度优化方法及装置,该方法包括:首先对注意力网络的注意力计算过程进行解析并优化,以获取元素的依赖关系,根据元素的依赖关系生成计算图;然后根据计算图和晶上系统的芯粒连接图以及总时间优化目标,基于优先级对计算资源调度方案进行优化,以获取最优的优先级矩阵;最后将最优的优先级矩阵通过计算图映射转化为对应的调度方案,使用晶上系统编译器生成计算程序,将计算任务映射到晶上系统对应的芯粒,以获取最优计算资源调度方案。本发明对注意力机制的运算机理进行解析和优化,生成计算效率更高的计算图,并针对晶上系统的结构特性进行调度优化,有效提高了计算效率和降低了总运行时间。
Description
技术领域
本发明属于智能计算领域,尤其涉及一种面向晶上系统的注意力网络调度优化方法及装置。
背景技术
近年来,随着大数据时代的来临与图形计算单元等等硬件的快速发展,以注意力网络为代表的神经网络模型已在自然语言处理、计算机视觉、时间序列数据建模等领域取得广泛的应用。注意力网络通过独特的注意力机制来表示输入数据间的相互关系,从而将注意力集中在对于结果更为重要的特征上。在实际应用中,由于时间顺序、空间关系的约束,往往需要根据数据的可用性对注意力值进行筛选。目前,注意力网络依靠掩码矩阵来约束数据可用性,即首先统一计算所有注意力值,然后通过掩码将不可用的注意力值置零。这种实现方法虽然简化了模型设计与计算任务映射,但引入了大量的无效计算,计算效率相对较低。
另一方面,晶上系统技术得到了长足发展。晶上系统把预先生产好的特定功能芯粒通过先进的集成封装技术形成一个系统芯片。以芯粒模式集成的芯片是一个异构系统,具有高灵活、高性能、低成本的优势,适合作为注意力网络计算的载体。划分注意力网络的有效与无效计算,根据计算的依赖关系,实现一种最优的调度方案,将计算高效地映射到晶上系统,是提高注意力网络计算效率的关键。本发明面向注意力网络计算需求,根据晶上系统的结构特点,提出了一个面向晶上系统的注意力网络调度优化方法,得到了注意力网络计算任务向晶上系统映射的最优调度方案,从而提高晶上系统运行注意力网络的计算效率。
发明内容
本发明的目的在于针对现有技术中注意力网络计算量大、存在无效计算的问题,结合晶上系统高灵活、高性能的优势,提供一种面向晶上系统的注意力网络调度优化方法及装置。本发明能够减少无效计算,降低计算复杂度和通信开销,有助于提高计算效率、降低晶上系统的功耗。
本发明的目的是通过以下技术方案来实现的:本发明实施例第一方面提供了一种面向晶上系统的注意力网络调度优化方法,包括以下步骤:
(1)对注意力网络的注意力计算过程进行解析并优化,以获取元素的依赖关系,根据元素的依赖关系生成计算图;
(2)根据所述步骤(1)获取的计算图和晶上系统的芯粒连接图以及总时间优化目标,基于优先级对计算资源调度方案进行优化,以获取最优的优先级矩阵;
(3)将所述步骤(2)获取的最优的优先级矩阵通过计算图映射转化为对应的调度方案,使用晶上系统编译器生成计算程序,将计算操作依次分配给中相应的芯粒,以获取注意力网络的最优计算资源调度方案。
可选地,所述注意力网络包括嵌入层、编码器、解码器和输出层,所述编码器和所述解码器均由一个或多个级联或并联的注意力模块组成;所述注意力网络的输入包括源输入和目标输入。
可选地,所述步骤(1)包括以下子步骤:
(1.1)将源输入通过嵌入层以获取键矩阵K和价值矩阵V,将目标输入通过嵌入层以获取查询矩阵Q,根据键矩阵K、价值矩阵V、查询矩阵Q和表示目标输入和源输入依赖关系的掩码矩阵M获取注意力值矩阵A,以确定注意力网络的注意力计算过程;
(1.2)对所述步骤(1.1)确定的注意力计算过程进行解析并优化,以获取新的注意力计算过程;
(1.3)根据所述步骤(1.2)获取的新的注意力计算过程获取元素的依赖关系;
(1.4)根据所述步骤(1.3)获取的元素的依赖关系生成计算图;
(1.5)重复所述步骤(1.1)-所述步骤(1.4),直至获取注意力网络中每一个注意力模块的计算图。
可选地,所述计算图为有向无环图,用于定义计算注意力值矩阵元素时对相似度分数矩阵B和价值矩阵V中的元素的依赖关系。
可选地,所述步骤(2)包括以下子步骤:
(2.1)根据晶上系统的全部芯粒以及芯粒对之间的通信代价获取芯粒连接图;
(2.2)根据所述步骤(1)获取的计算图以及所述步骤(2.1)获取的芯粒连接图获取计算依赖约束;
(2.3)根据任务负载确定全部任务完成的总时间,以确定总时间优化目标;
(2.4)根据所述步骤(2.2)获取的计算依赖约束和所述步骤(2.3)确定的总时间优化目标采用优先级调度优化方法随机生成一批原始优先级矩阵,其中,矩阵大小对应于任务和芯粒的数量;根据任务负载和芯粒处理能力对原始优先级矩阵进行校正以获取优先级矩阵,并对优先级矩阵进行多次迭代,以获取最优的优先级矩阵。
可选地,所述步骤(2.4)包括以下子步骤:
(2.4.1)根据所述步骤(2.2)获取的计算依赖约束和所述步骤(2.3)确定的总时间优化目标采用优先级调度优化方法随机生成一批原始优先级矩阵以及差分矩阵/>;
(2.4.2)对原始优先级矩阵的每一个元素/>,使用/>对其进行校正,将/>组成优先级矩阵/>;其中,α和β为固定的参数,α表示芯粒处理能力校正指数,β表示任务负载校正指数;
(2.4.3)对优先级矩阵进行多次迭代,保存当前和全局总完成时间最小的优先级矩阵,并更新每一个优先级矩阵的元素,以获取最优的优先级矩阵。
可选地,所述步骤(2.4.3)中包括以下子步骤:
(2.4.3.1)在第n+1次迭代中,对每一个优先级矩阵,根据计算图映射获取总完成时间;
(2.4.3.2)将第n+1次迭代中总完成时间最小的优先级矩阵记为,所有迭代中总完成时间最小的优先级矩阵记为/>;
(2.4.3.3)对每一个矩阵X,在第n次迭代中,根据当前的和/>反向更新优先级矩阵和差分矩阵中的元素;
(2.4.3.4)最后一次迭代结束后,取作为优化后的最优的优先级矩阵。
可选地,所述步骤(2.4.3.1)包括以下子步骤:
(2.4.3.1.1)使用优先级矩阵来决定计算操作到芯粒的映射关系,矩阵的每一个元素表示将每一个计算任务映射到每一个芯粒的优先级;每当计算开始或有任务完成时,搜索当前满足可用性约束的芯粒,并截取优先级矩阵中关于这些任务与芯粒的子矩阵;
(2.4.3.1.2)使用贪心策略,根据优先级子矩阵,每次选择优先级子矩阵中的最大元素,将对应的计算任务分配到对应的芯粒上,计算该任务的结束时间并保存于最小栈中,然后删去该元素所在的行和列;重复所述步骤(2.4.3.1.2),直至优先级子矩阵的行数或列数等于0;
(2.4.3.1.3)重复所述步骤(2.4.3.1.1)-所述步骤(2.4.3.1.2),直至所有任务执行完毕,最后一个任务的完成时间与任务开始时间的差值即为总完成时间。
本发明实施例第二方面提供了一种面向晶上系统的注意力网络调度优化装置,包括一个或多个处理器,用于实现上述的面向晶上系统的注意力网络调度优化方法。
本发明实施例第三方面提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,用于实现上述的面向晶上系统的注意力网络调度优化方法。
本发明的有益效果是,本发明根据注意力机制的运算机理进行解析和优化,生成了计算效率更高的计算图,解决了传统注意力计算中存在大量无效运算的问题,从理论上降低了注意力网络的计算复杂度,提高了运算效率;本发明针对晶上系统的结构特性以及高灵活、高性能的优势,对注意力网络计算过程向晶上系统计算芯粒的映射进行调度优化,能够确保调度方案满足计算依赖和芯粒可用性的约束条件,减少了无效计算,降低了计算复杂度和通信开销,并进一步提高了计算效率、降低了总运行时间和系统功耗。
附图说明
图1是面向晶上系统的注意力网络调度优化方法流程示意图;
图2是注意力网络结构示意图;
图3是注意力模块计算流程示意图;
图4是注意力网络生成计算图的示意图;
图5是晶上系统芯粒结构示意图;
图6是晶上系统芯粒连接图的例子示意图;
图7是面向晶上系统的注意力网络调度优化装置的一种结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的面向晶上系统的注意力网络调度优化方法,将注意力模块的计算过程进行解析并生成计算图,通过基于优先度矩阵的优化算法将计算过程映射到晶上系统完成计算,其流程如图1所示,包括以下步骤:
(1)对注意力网络的注意力计算过程进行解析并优化,以获取元素的依赖关系,根据元素的依赖关系生成计算图。
本实施例中,注意力网络由嵌入层、编码器、解码器、输出层四类模块组成,其中,解码器和编码器均是由一个或多个级联或并联的注意力模块组成,如图2所示。注意力网络接收源输入和目标输入,将源输入和目标输入二者共同输入到注意力网络中,可以获取对应的输出结果。注意力模块的输出为注意力值,最后一个注意力模块的注意力值通过输出层转换为注意力网络的输出。注意力网络的目标是对目标输入进行拟合,即注意力网络的输出与目标输入相同。需要说明的是,目标输入与输出结果最为接近,如图2所示。
(1.1)将源输入通过嵌入层以获取键矩阵K和价值矩阵V,将目标输入通过嵌入层以获取查询矩阵Q,根据键矩阵K、价值矩阵V、查询矩阵Q和表示目标输入和源输入依赖关系的掩码矩阵M获取注意力值矩阵A,以确定注意力网络的注意力计算过程。
应当理解的是,掩码矩阵M为注意力模块内部的参数。
具体地,如图3所示,注意力模块采用乘性注意力,将源输入通过嵌入层以获取键矩阵K和价值矩阵V,将目标输入通过嵌入层以获取查询矩阵Q,根据键矩阵K、价值矩阵V、查询矩阵Q和表示目标输入和源输入依赖关系的掩码矩阵M获取注意力值矩阵A,其计算过程可表示为:
其中,A为注意力值矩阵,Q为查询矩阵,K为键矩阵,V为价值矩阵,M为掩码矩阵,为相似度分数,/>是键矩阵K的列数,/>为归一化指数函数。
(1.2)对步骤(1.1)确定的注意力计算过程进行解析并优化,以获取新的注意力计算过程。
本实施例中,根据注意力计算过程解析得到有效计算部分,为每一个输出向量生成所依赖的输入向量,进一步可以生成注意力模块输入与输出的计算图。
掩码矩阵M每个元素的取值为0或,行数为/>,令掩码矩阵M中第i行中值为0的元素纵坐标集合为/>,值为/>的元素纵坐标集合为/>,将矩阵/>记为注意力分数矩阵S,将矩阵/>记为相似度分数矩阵B,对于注意力分数矩阵S中第i行第j列的元素/>,将注意力分数矩阵S的计算表示为:
其中,表示相似度分数矩阵B中的第i行第j列的元素,/>表示相似度分数矩阵B中的第i行第k列的元素。
可见,softmax函数仅对于掩码矩阵中取值为0的元素进行了归一化;而掩码矩阵中取值为的位置上,注意力分数矩阵S中的取值为0。从结果上而言,它使得相似度分数矩阵B中被掩盖的位置的取值不对计算结果产生任何影响。因此,相似度分数矩阵B中与掩码矩阵M中值为/>的元素在同一位置上的元素不对注意力值矩阵的结果产生任何影响。
综上所述,可以获取新的注意力计算过程,将注意力值矩阵中的元素的计算过程定义为:
其中,表示相似度分数矩阵B中的第i行第l列的元素,/>表示相似度分数矩阵B中的第i行第k列的元素,/>表示价值矩阵V中第l行第j列的元素。
(1.3)根据步骤(1.2)获取的新的注意力计算过程获取元素的依赖关系。
由于相似度分数矩阵B中与掩码矩阵M中值为的元素在同一位置上的元素不对注意力值矩阵的结果产生任何影响。考虑所有可能的行坐标i后,满足以下关系的元素/>同样不对注意力矩阵的计算产生影响:
可以得到注意力值矩阵计算所依赖的元素组成的集合/>满足:
因此,根据掩码矩阵M预先生成的集合和/>,选择相似度分数矩阵B和价值矩阵V中需要计算的元素,可以节省计算时间。
(1.4)根据步骤(1.3)获取的元素的依赖关系生成计算图。
本实施例中,计算图为有向无环图,用于定义计算注意力值矩阵元素时对相似度分数矩阵B和价值矩阵V中的元素的依赖关系,故根据该依赖关系可以生成计算图。
将计算图描述为,其中,节点集合Q包含参与注意力值计算的全部变量,即包含了相似度分数矩阵B和价值矩阵V中的元素;边集合E中的每一个元素为一条边,连接了节点集合Q中两个不同的元素,表示了元素的依赖关系,包含从注意力值矩阵元素/>对应的依赖集合/>中每一个元素向/>的有向边的集合。
示例性地,如图4所示,展示了注意力值矩阵中元素生成对应的计算图的例子。求解/>时,可知i=2,j=2。根据掩码矩阵可以求出/>,因此/>。该元素/>对应的计算子图包含以上5个节点,并且/>中每一元素有一条指向元素/>的边
(1.5)重复步骤(1.1)-步骤(1.4),直至获取注意力网络中每一个注意力模块的计算图。
注意力网络还可以包含多个并行或级联的注意力模块,这些注意力模块共享相同的注意力掩码矩阵,使用相同的方法得到每一个注意力模块的计算图。在并行的注意力模块中,每一个注意力模块共享相同的输入,将输出堆叠为高维度矩阵。在级联的注意力模块中,上一个注意力模块输出的注意力值,作为下一个注意力模块的输入。
(2)根据步骤(1)获取的计算图和晶上系统的芯粒连接图以及总时间优化目标,基于优先级对计算资源调度方案进行优化,以获取最优的优先级矩阵。
(2.1)根据晶上系统的全部芯粒以及芯粒对之间的通信代价获取芯粒连接图。
本实施例中,芯粒连接图定义了晶上系统芯粒的互联关系。晶上系统由一系列芯粒构成,每个芯粒包含处理器核、路由器和跨芯粒通信路由器,每个芯粒可以独立完成给定的计算任务,并且具有和其他芯粒通信的能力,如图5所示。
芯粒连接图用来表示,其中,芯粒集合P包含晶上系统的全部m个芯粒,代价集合D中的边/>表示芯粒集合P中芯粒对/>和/>间的通信代价。芯粒与自身的通信代价/>为0。
示例性地,晶上系统的全部芯粒为4个,则芯粒集合,芯粒对/>和间的通信代价为边/>,类似地,该晶上系统还包括芯粒对/>和/>、芯粒对/>和/>、芯粒对/>和/>、芯粒对/>和/>、芯粒对/>和/>所对应的边,如图6所示,该芯粒连接图中共有6条边,表示每一组芯粒间的通信代价。
(2.2)根据步骤(1)获取的计算图以及步骤(2.1)获取的芯粒连接图获取计算依赖约束。
本实施例中,计算依赖约束由计算图和芯粒连接图共同定义,表现为不等式约束:
其中,,/>为任务/>的开始时间,/>为计算图/>中元素/>的全部直接前继节点,/>为/>中的任意元素,/>和/>分别为执行计算操作/>、/>的芯粒,为这两个芯粒的通信代价,/>为任务/>的结束时间。
进一步地,任务的结束时间由任务的负载决定,表示为:
其中,为在芯粒/>执行计算操作/>所消耗的时间,/>为量化的任务负载,/>为量化的芯粒处理能力,同一时刻每一芯粒只能同时处理有限的计算任务。
(2.3)根据任务负载确定全部任务完成的总时间,以确定总时间优化目标。
本实施例中,由于任务负载决定任务的结束时间。因此,全部任务完成的总时间makespan定义为:
其中,makespan代表从任务开始到最后一个任务结束的总完成时间,为计算图的节点集合Q中的任意元素,/>为任务/>的完成时间,max表示全部任务完成时间的最大值。
应当理解的是,由于是任务/>的完成时间,故makespan实质上是所有任务完成的时刻中最晚的一个时间,即全部任务完成时间的最大值。
本实施例中,将总时间优化目标定义为寻找总时间最小的调度策略,将计算图的节点集合Q的每一个节点映射到芯粒连接图所表示的芯粒上,并满足依赖约束和可用性约束。
具体地,总时间优化目标为寻找全部任务完成的总时间的最小值,即为:
其中,goal表示总时间优化目标。
(2.4)根据步骤(2.2)获取的计算依赖约束和步骤(2.3)确定的总时间优化目标采用优先级调度优化方法随机生成一批原始优先级矩阵,其中,矩阵大小对应于任务和芯粒的数量;根据任务负载和芯粒处理能力对原始优先级矩阵进行校正以获取优先级矩阵,并对优先级矩阵进行多次迭代,以获取最优的优先级矩阵。
需要说明的是,每一个优先级矩阵对应一个调度策略,会产生一个总完成时间。为了最小化总完成时间,以优先级矩阵为优化自变量,对其进行优化。首先随机生成一批优先级矩阵,其对应的总完成时间不一定是最优的,随后在优化的过程中逐渐减小。
(2.4.1)根据步骤(2.2)获取的计算依赖约束和步骤(2.3)确定的总时间优化目标采用优先级调度优化方法随机生成一批原始优先级矩阵以及差分矩阵/>,其中,原始优先级矩阵/>和差分矩阵/>中的每个元素服从均匀分布/>。
(2.4.2)对原始优先级矩阵的每一个元素/>,使用/>对其进行校正,将/>组成优先级矩阵/>。其中,α和β为固定的参数,α表示芯粒处理能力校正指数,β表示任务负载校正指数。
(2.4.3)对优先级矩阵进行多次迭代,保存当前和全局总完成时间最小的优先级矩阵,并更新每一个优先级矩阵的元素,以获取最优的优先级矩阵。
(2.4.3.1)在第n+1次迭代中,对每一个优先级矩阵,根据计算图映射获取总完成时间。
本实施例中,计算图调度过程是通过优先级矩阵来完成的。根据计算图映射可以获取总完成时间,具体地,该计算图映射包括以下步骤:
(2.4.3.1.1)使用优先级矩阵来决定计算操作到芯粒的映射关系,矩阵的每一个元素表示将每一个计算任务映射到每一个芯粒的优先级;每当计算开始或有任务完成时,搜索当前满足可用性约束的芯粒,并截取优先级矩阵中关于这些任务与芯粒的子矩阵。
(2.4.3.1.2)使用贪心策略,根据优先级子矩阵,每次选择优先级子矩阵中的最大元素,将对应的计算任务分配到对应的芯粒上,计算该任务的结束时间并保存于最小栈中,然后删去该元素所在的行和列;重复步骤(2.4.3.1.2),直至优先级子矩阵的行数或列数等于0。
应当理解的是,贪心策略总是做出在当前看来是最优的选择,也就是说贪心策略并不是从整体上加以考虑,它所做出的选择是在某种意义上的局部最优解。
(2.4.3.1.3)重复步骤(2.4.3.1.1)-步骤(2.4.3.1.2),直至所有任务执行完毕,最后一个任务的完成时间与任务开始时间的差值即为总完成时间。
(2.4.3.2)将第n+1次迭代中总完成时间最小的优先级矩阵记为,所有迭代中总完成时间最小的优先级矩阵记为/>。
(2.4.3.3)对每一个矩阵X,在第n次迭代中,根据当前的和/>反向更新优先级矩阵和差分矩阵中的元素。
具体地,可以按照下列公式对优先级矩阵和差分矩阵中的元素反向更新:
其中,为动量因子,/>和/>为引力因子,/>和/>为服从均匀分布/>的随机数。
需要说明的是,重复步骤(2.4.3)-步骤(2.4.5),对优先级矩阵进行多次迭代,在多次迭代中保存当前和全局总完成时间最小的优先级矩阵,并更新每一个优先级矩阵中的元素。
(2.4.3.4)最后一次迭代结束后,取作为优化后的最优的优先级矩阵。
应当理解的是,优先级矩阵对应有调度策略,优化后的优先级矩阵即对应有优化后的调度策略。
(3)将步骤(2)获取的最优的优先级矩阵通过计算图映射转化为对应的调度方案,使用晶上系统编译器生成计算程序,将计算操作依次分配给中相应的芯粒,以获取注意力网络的最优计算资源调度方案。
本实施例中,根据最优调度方案构建优先级矩阵,然后可以通过贪心策略将计算任务映射到晶上系统对应的芯粒。优先级矩阵与调度方案是对应的,故将最优的优先级矩阵通过计算图映射即可转化为对应的最优的调度方案,使用晶上系统编译器生成计算程序,将计算操作依次分配给中相应的芯粒,即可完成注意力网络的计算流程,该调度方案即为注意力网络的最优计算资源调度方案。
需要说明的是,由于优先级矩阵与调度方案是一一对应的,故通过计算图映射即可将优先级矩阵转化为对应的调度方案,即通过步骤(2.4.3.1.1)-步骤(2.4.3.1.3)即可实现。
与前述面向晶上系统的注意力网络调度优化方法的实施例相对应,本发明还提供了面向晶上系统的注意力网络调度优化装置的实施例。
参见图7,本发明实施例提供的一种面向晶上系统的注意力网络调度优化装置,包括一个或多个处理器,用于实现上述实施例中的面向晶上系统的注意力网络调度优化方法。
本发明面向晶上系统的注意力网络调度优化装置的实施例可以应用在任意具备数据处理能力的设备上,该任意具备数据处理能力的设备可以为诸如计算机等设备或装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在任意具备数据处理能力的设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本发明面向晶上系统的注意力网络调度优化装置所在任意具备数据处理能力的设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
本发明实施例还提供一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时,实现上述实施例中的面向晶上系统的注意力网络调度优化方法。
所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是任意具备数据处理能力的设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介质还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。
Claims (8)
1.一种面向晶上系统的注意力网络调度优化方法,其特征在于,包括以下步骤:
(1)对注意力网络的注意力计算过程进行解析并优化,以获取元素的依赖关系,根据元素的依赖关系生成计算图;
所述步骤(1)包括以下子步骤:
(1.1)将源输入通过嵌入层以获取键矩阵K和价值矩阵V,将目标输入通过嵌入层以获取查询矩阵Q,根据键矩阵K、价值矩阵V、查询矩阵Q和表示目标输入和源输入依赖关系的掩码矩阵M获取注意力值矩阵A,以确定注意力网络的注意力计算过程;
(1.2)对所述步骤(1.1)确定的注意力计算过程进行解析并优化,以获取新的注意力计算过程;
(1.3)根据所述步骤(1.2)获取的新的注意力计算过程获取元素的依赖关系;
(1.4)根据所述步骤(1.3)获取的元素的依赖关系生成计算图;
(1.5)重复所述步骤(1.1)-所述步骤(1.4),直至获取注意力网络中每一个注意力模块的计算图;
所述计算图为有向无环图,用于定义计算注意力值矩阵元素Ai,时对相似度分数矩阵B和价值矩阵V中的元素的依赖关系;所述相似度分数矩阵B为矩阵其中Q为查询矩阵,K为键矩阵,dk是键矩阵K的列数;
(2)根据所述步骤(1)获取的计算图和晶上系统的芯粒连接图以及总时间优化目标,基于优先级对计算资源调度方案进行优化,以获取最优的优先级矩阵;
所述计算资源调度方案具体为随机生成的一批原始优先级矩阵,其中,矩阵大小对应于任务和芯粒的数量;使用优先级矩阵来决定计算操作到芯粒的映射关系,矩阵的每一个元素表示将每一个计算任务映射到每一个芯粒的优先级;
(3)将所述步骤(2)获取的最优的优先级矩阵通过计算图映射转化为对应的调度方案,使用晶上系统编译器生成计算程序,将计算操作依次分配给晶上系统中对应的芯粒,以获取注意力网络的最优计算资源调度方案。
2.根据权利要求1所述的面向晶上系统的注意力网络调度优化方法,其特征在于,所述注意力网络包括嵌入层、编码器、解码器和输出层,所述编码器和所述解码器均由一个或多个级联或并联的注意力模块组成;所述注意力网络的输入包括源输入和目标输入。
3.根据权利要求1所述的面向晶上系统的注意力网络调度优化方法,其特征在于,所述步骤(2)包括以下子步骤:
(2.1)根据晶上系统的全部芯粒以及芯粒对之间的通信代价获取芯粒连接图;
(2.2)根据所述步骤(1)获取的计算图以及所述步骤(2.1)获取的芯粒连接图获取计算依赖约束;
(2.3)根据任务负载确定全部任务完成的总时间,以确定总时间优化目标;
(2.4)根据所述步骤(2.2)获取的计算依赖约束和所述步骤(2.3)确定的总时间优化目标采用优先级调度优化方法随机生成一批原始优先级矩阵,其中,矩阵大小对应于任务和芯粒的数量;根据任务负载和芯粒处理能力对原始优先级矩阵进行校正以获取优先级矩阵,并对优先级矩阵进行多次迭代,以获取最优的优先级矩阵。
4.根据权利要求1所述的面向晶上系统的注意力网络调度优化方法,其特征在于,所述步骤(2.4)包括以下子步骤:
(2.4.1)根据所述步骤(2.2)获取的计算依赖约束和所述步骤(2.3)确定的总时间优化目标采用优先级调度优化方法随机生成一批原始优先级矩阵以及差分矩阵Δ,其中,原始优先级矩阵/>和差分矩阵Δ中的每个元素服从均匀分布U(0,1;
(2.4.2)对原始优先级矩阵的每一个元素/>使用/>对其进行校正,将/>组成优先级矩阵X0;其中,α和β为固定的参数,α表示芯粒处理能力校正指数,β表示任务负载校正指数;
(2.4.3)对优先级矩阵进行多次迭代,保存当前和全局总完成时间最小的优先级矩阵,并根据差分矩阵更新每一个优先级矩阵的元素,以获取最优的优先级矩阵。
5.根据权利要求4所述的面向晶上系统的注意力网络调度优化方法,其特征在于,所述步骤(2.4.3)中包括以下子步骤:
(2.4.3.1)在第n+1次迭代中,对每一个优先级矩阵Xn,根据计算图映射获取总完成时间;
(2.4.3.2)将第n+1次迭代中总完成时间最小的优先级矩阵记为所有迭代中总完成时间最小的优先级矩阵记为Xg;
(2.4.3.3)对每一个矩阵X,在第n次迭代中,根据当前的和Xg反向更新优先级矩阵和差分矩阵中的元素;
(2.4.3.4)最后一次迭代结束后,取Xg作为优化后的最优的优先级矩阵。
6.根据权利要求5所述的面向晶上系统的注意力网络调度优化方法,其特征在于,所述步骤(2.4.3.1)包括以下子步骤:
(2.4.3.1.1)使用优先级矩阵来决定计算操作到芯粒的映射关系,矩阵的每一个元素表示将每一个计算任务映射到每一个芯粒的优先级;每当计算开始或有任务完成时,搜索当前满足可用性约束的芯粒,并截取优先级矩阵中关于这些任务与芯粒的子矩阵;
(2.4.3.1.2)使用贪心策略,根据优先级子矩阵,每次选择优先级子矩阵中的最大元素,将对应的计算任务分配到对应的芯粒上,计算该任务的结束时间并保存于最小栈中,然后删去该元素所在的行和列;重复所述步骤(2.4.3.1.2),直至优先级子矩阵的行数或列数等于0;
(2.4.3.1.3)重复所述步骤(2.4.3.1.1)-所述步骤(2.4.3.1.2),直至所有任务执行完毕,最后一个任务的完成时间与任务开始时间的差值即为总完成时间。
7.一种面向晶上系统的注意力网络调度优化装置,其特征在于,包括一个或多个处理器,用于实现权利要求1-6中任一项所述的面向晶上系统的注意力网络调度优化方法。
8.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时,用于实现权利要求1-6中任一项所述的面向晶上系统的注意力网络调度优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310347555.2A CN116151315B (zh) | 2023-04-04 | 2023-04-04 | 一种面向晶上系统的注意力网络调度优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310347555.2A CN116151315B (zh) | 2023-04-04 | 2023-04-04 | 一种面向晶上系统的注意力网络调度优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116151315A CN116151315A (zh) | 2023-05-23 |
CN116151315B true CN116151315B (zh) | 2023-08-15 |
Family
ID=86360285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310347555.2A Active CN116151315B (zh) | 2023-04-04 | 2023-04-04 | 一种面向晶上系统的注意力网络调度优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116151315B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130760B (zh) * | 2023-10-24 | 2024-01-26 | 中诚华隆计算机技术有限公司 | 一种芯粒智能选择调度方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0410165A (ja) * | 1990-04-27 | 1992-01-14 | Hitachi Ltd | 最適計画作成方法 |
CN113472597A (zh) * | 2021-08-16 | 2021-10-01 | 东北大学 | 分布式卷积神经网络细粒度的参数传输调度方法及装置 |
WO2021248138A1 (en) * | 2020-06-05 | 2021-12-09 | Google Llc | Learned graph optimizations for compilers |
CN114756358A (zh) * | 2022-06-15 | 2022-07-15 | 苏州浪潮智能科技有限公司 | 一种dag任务调度方法、装置、设备及存储介质 |
CN115658274A (zh) * | 2022-11-14 | 2023-01-31 | 之江实验室 | 芯粒中神经网络推理的模块化调度方法、装置和计算设备 |
CN115794323A (zh) * | 2021-09-10 | 2023-03-14 | 大唐移动通信设备有限公司 | 任务调度方法、装置、服务器和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200019435A1 (en) * | 2018-07-13 | 2020-01-16 | Raytheon Company | Dynamic optimizing task scheduling |
US20200293838A1 (en) * | 2019-03-13 | 2020-09-17 | Deepmind Technologies Limited | Scheduling computation graphs using neural networks |
-
2023
- 2023-04-04 CN CN202310347555.2A patent/CN116151315B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0410165A (ja) * | 1990-04-27 | 1992-01-14 | Hitachi Ltd | 最適計画作成方法 |
WO2021248138A1 (en) * | 2020-06-05 | 2021-12-09 | Google Llc | Learned graph optimizations for compilers |
CN113472597A (zh) * | 2021-08-16 | 2021-10-01 | 东北大学 | 分布式卷积神经网络细粒度的参数传输调度方法及装置 |
CN115794323A (zh) * | 2021-09-10 | 2023-03-14 | 大唐移动通信设备有限公司 | 任务调度方法、装置、服务器和存储介质 |
CN114756358A (zh) * | 2022-06-15 | 2022-07-15 | 苏州浪潮智能科技有限公司 | 一种dag任务调度方法、装置、设备及存储介质 |
CN115658274A (zh) * | 2022-11-14 | 2023-01-31 | 之江实验室 | 芯粒中神经网络推理的模块化调度方法、装置和计算设备 |
Non-Patent Citations (1)
Title |
---|
"A Graph Attention Mechanism-Based Multiagent Reinforcement-Learning Method for Task Scheduling in Edge Computing".《Electronics》.2022,第11卷(第9期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN116151315A (zh) | 2023-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20180260710A1 (en) | Calculating device and method for a sparsely connected artificial neural network | |
CN111459877B (zh) | 基于FPGA加速的Winograd YOLOv2目标检测模型方法 | |
Ravaglia et al. | A tinyml platform for on-device continual learning with quantized latent replays | |
JP2022070955A (ja) | ニューラルネットワーク処理のスケジューリング | |
KR102637735B1 (ko) | 근사 곱셈기를 구비하는 뉴럴 네트워크 처리 장치 및 이를 포함하는 시스템온 칩 | |
Chen et al. | Zara: A novel zero-free dataflow accelerator for generative adversarial networks in 3d reram | |
US20230026006A1 (en) | Convolution computation engine, artificial intelligence chip, and data processing method | |
CN115186821B (zh) | 面向芯粒的神经网络推理开销估计方法及装置、电子设备 | |
CN116151315B (zh) | 一种面向晶上系统的注意力网络调度优化方法及装置 | |
US20210312295A1 (en) | Information processing method, information processing device, and information processing program | |
Ma et al. | An image enhancing pattern-based sparsity for real-time inference on mobile devices | |
CN113313247B (zh) | 基于数据流架构的稀疏神经网络的运算方法 | |
CN116644804A (zh) | 分布式训练系统、神经网络模型训练方法、设备和介质 | |
CN106293003A (zh) | 一种基于aov网关键路径查询的异构系统动态功耗优化方法 | |
US20090064120A1 (en) | Method and apparatus to achieve maximum outer level parallelism of a loop | |
Mao et al. | Energy-efficient machine learning accelerator for binary neural networks | |
Andri et al. | Going further with winograd convolutions: Tap-wise quantization for efficient inference on 4x4 tiles | |
CN112966729A (zh) | 一种数据处理方法、装置、计算机设备及存储介质 | |
CN115136141A (zh) | 用于实现混合信号集成电路的受限计算的操作变换的系统和方法 | |
WO2024000464A1 (zh) | 一种张量计算的分块策略生成方法及装置 | |
US20220327368A1 (en) | Npu for generating feature map based on coefficients and method thereof | |
WO2022095675A1 (zh) | 神经网络稀疏化的装置、方法及相关产品 | |
US11900239B2 (en) | Systems and methods for accelerating sparse neural network execution | |
WO2020051918A1 (zh) | 神经元电路、芯片、系统及其方法、存储介质 | |
Isono et al. | A 12.1 tops/w mixed-precision quantized deep convolutional neural network accelerator for low power on edge/endpoint device |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |