CN117407793A - 一种并行化策略优化方法、系统、设备及介质 - Google Patents
一种并行化策略优化方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN117407793A CN117407793A CN202311456221.5A CN202311456221A CN117407793A CN 117407793 A CN117407793 A CN 117407793A CN 202311456221 A CN202311456221 A CN 202311456221A CN 117407793 A CN117407793 A CN 117407793A
- Authority
- CN
- China
- Prior art keywords
- operation processing
- input data
- parallelization
- parallelization strategy
- optimization method
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000005457 optimization Methods 0.000 title claims abstract description 59
- 238000012545 processing Methods 0.000 claims abstract description 80
- 230000006870 function Effects 0.000 claims abstract description 50
- 239000011159 matrix material Substances 0.000 claims abstract description 49
- 239000013598 vector Substances 0.000 claims description 42
- 230000008569 process Effects 0.000 claims description 31
- 238000009825 accumulation Methods 0.000 claims description 14
- 238000009826 distribution Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 5
- 230000009466 transformation Effects 0.000 claims 1
- 238000004364 calculation method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/544—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices for evaluating functions by calculation
- G06F7/556—Logarithmic or exponential functions
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种并行化策略优化方法、系统、设备及介质,包括以下步骤:将并行化策略中的softmax函数中缩放因子替换为最大预设固定值,得到优化softmax函数;将优化softmax函数并列进行指数运算处理与序列和运算处理,其中指数运算处理完成后进行矩阵乘法运算处理,并利用序列和运算处理结果对矩阵乘法运算处理结果修正,完成并行化策略优化;本申请能够提高大语言模型的并行化策略运算效率。
Description
技术领域
本发明属于深度学习技术领域,具体涉及一种并行化策略优化方法、系统、设备及介质。
背景技术
大语言模型是指使用大量文本数据训练的深度学习模型,可以生成自然语言文本或理解语言文本的含义。大语言模型可以处理多种自然语言任务,如文本分类、问答、对话等,是通向人工智能的一条重要途径。
随着大语言模型在各个领域变得越来越重要,大语言模型推理的性能对大规模大语言模型应用至关重要。已有很多工作对大语言模型推理进行了优化;如图2所示,由Transformer组成的大语言模型可以分为Prefill和Decode两个阶段,两阶段的主要区别在于输入矩阵Q的大小不同,所执行的数据流是相似的,均是多个Transformer层组成,其中每一层可以分为线性运算和注意力机制运算,其中注意力机制的运算包括了两次通用矩阵乘法和一次softmax运算。
在大语言模型推理过程中,为了提高计算的并行度并减少数据的读取和写回的开销,已有工作FlashAttention在计算注意力机制的过程中改变了原有的整体计算方式如图3(a)所示,选择了将注意力矩阵进行切分,然后对每一部分进行部分softmax计算如图3(b)所示,所以计算过程中需要完成当前信息和过去信息的同步,并且完成对已有结果的更新操作。
目前在大语言模型推理计算流中,注意力机制计算流水线存在的问题为:目前常见的注意力机制计算流水线是采用的部分softmax运算,其是利用部分矩阵数据进行计算结果,而因为每一部分所获取的数据不同,所以需要对每一部分的计算结果之间进行信息同步和结果更新,这种部分softmax同步更新计算会导致近20%的额外开销。
因此,预期一种能够提高大语言模型的并行化策略运算效率的并行化策略优化方法。
发明内容
针对现有技术中存在的问题,本发明提供一种并行化策略优化方法、系统、设备及介质,至少部分解决现有技术中存在的问题。
在第一方面,本公开实施例提供了一种并行化策略优化方法,包括以下步骤:
将并行化策略中的softmax函数中缩放因子替换为最大预设固定值,得到优化softmax函数;
将优化softmax函数并列进行指数运算处理与序列和运算处理,其中指数运算处理完成后进行矩阵乘法运算处理,并利用序列和运算处理结果对矩阵乘法运算处理结果修正,完成并行化策略优化。
根据本公开实施例的一种具体实现方式,所述并行化策略中的softmax函数为:
其中,x为输入数据;为缩放因子,所述缩放因子为最大预设固定值;R为实数;i为输入数据的数量;xi为第i个输入数据;e为纳皮尔常数;xd为第d个输入数据。
根据本公开实施例的一种具体实现方式,得到所述最大预设固定值的过程为:
多次执行模型推理记录预处理阶段得到softmax函数的输入数据;
分析输入数据的统计分布情况,得到最大预设固定值,所述最大预设固定值满足:
该模型统计的大部分的输入数据均不满足:输入数据xi>>最大预设固定值或输入数据xi<<最大预设固定值/>的情况。
根据本公开实施例的一种具体实现方式,所述该模型统计的大部分的输入数据为99.99%的输入数据。
根据本公开实施例的一种具体实现方式,所述最大预设固定值的取值范围为:
根据本公开实施例的一种具体实现方式,所述利用序列和运算处理结果对矩阵乘法运算处理结果修正后,进行优化softmax函数结果和特征矩阵的内循环运算处理。
根据本公开实施例的一种具体实现方式,所述内循环运算处理为对特征矩阵中的每一个样本的特征向量进行优化softmax函数运算处理,得到该样本的概率分布。
根据本公开实施例的一种具体实现方式,所述内循环运算处理过程中,优化softmax函数和特征矩阵的输入数据均单独进行异步处理。
根据本公开实施例的一种具体实现方式,所述内循环运算处理过程中存在外层累加,且所述外层累加在所有部分向量处理完毕后,进行外部累加处理。
根据本公开实施例的一种具体实现方式,所述特征矩阵为V矩阵,所述内循环运算处理的过程为:
其中,x为输入数据;为缩放因子,所述缩放因子为最大预设固定值;R为实数;为输入数据x(j)向量的数据第i个维度;xi为输入向量第i个维度;e为纳皮尔常数;xd为输入向量第d个维度;p为输入数据x(j)向量的个数;j为输入数据的第j个向量;d/p为x(j)向量的维度数量;/>为V矩阵中第j个列向量的第i个维度;/>为输入数据/>经过缩放和指数运算的结果。
根据本公开实施例的一种具体实现方式,在所述内循环运算处理的过程中,在不失一般性的前提下,假定每个xi的若/>或/>时,则终止对xi所属的向量x的异步部分softmax计算,然后使用同步softmax方法重新计算优化softmax函数的值。
第二方面,本公开实施例提供了一种并行化策略优化系统,所述系统包括:
预处理单元,被配置为
将并行化策略中的softmax函数中缩放因子替换为最大预设固定值,得到优化softmax函数;
输出单元,被配置为
将优化softmax函数并列进行指数运算处理与序列和运算处理,其中指数运算处理完成后进行矩阵乘法运算处理,并利用序列和运算处理结果对矩阵乘法运算处理结果修正,完成并行化策略优化。
本公开实施例还提供了一种电子设备,该电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行前述第一方面或第一方面的任一实现方式中的用于并行化策略优化方法。
第四方面,本公开实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令当由至少一个处理器执行时使所述至少一个处理器执行前述第一方面或第一方面的任一实现方式中的用于并行化策略优化方法。
第五方面,本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行前述第一方面或第一方面的任一实现方式中的用于并行化策略优化方法。
本发明实施例的其他可选特征和技术效果一部分在下文描述,一部分可通过阅读本文而明白。
与现有技术相比,本发明具有以下有益的技术效果:
本发明提供一种并行化策略优化方法、系统、设备及介质,包括以下步骤:将并行化策略中的softmax函数中缩放因子替换为最大预设固定值,得到优化softmax函数;将优化softmax函数并列进行指数运算处理与序列和运算处理,其中指数运算处理完成后进行矩阵乘法运算处理,并利用序列和运算处理结果对矩阵乘法运算处理结果修正,完成并行化策略优化;本申请能够提高大语言模型的并行化策略运算效率。
附图说明
以下,结合附图来详细说明本发明的实施例,所示出的元件不受附图所显示的比例限制,附图中相同或相似的附图标记表示相同或类似的元件,其中:
图1为根据本公开实施例的一种并行化策略优化方法的流程示意图;
图2为现有技术中大语言模型推理计算流程示意图;
图3为现有技术中不同softmax计算方式比较示意图;
图4为根据本公开实施例的最大预设固定值的方法流程示意图;
图5为根据本公开实施例的重新计算所有部分向量的过程示意图;
图6为根据本公开实施例的Prefill阶段异步softmax提升效果图;
图7为根据本公开实施例的Decode阶段异步softmax提升效果图;
图8为根据本公开实施例的并行化策略优化系统;以及
图9为根据本公开实施例的并行化策略优化设备。
具体实施方式
下面结合附图对本公开实施例进行详细描述。
以下通过特定的具体实例说明本公开的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本公开的其他优点与功效。显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。本公开还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本公开的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,下文描述在所附权利要求书的范围内的实施例的各种方面。应显而易见,本文中所描述的方面可体现于广泛多种形式中,且本文中所描述的任何特定结构及/或功能仅为说明性的。基于本公开,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目个方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本公开的基本构想,图式中仅显示与本公开中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
另外,在以下描述中,提供具体细节是为了便于透彻理解实例。然而,所属领域的技术人员将理解,可在没有这些特定细节的情况下实践所述方面。
为解决现有的电路仿真方法在仿真精度和仿真速度两个方面无法兼顾的问题,本发明提出了一种用于模块化电路行为仿真的方法。
本发明提出的用于模块化电路行为仿真的方法包含两个部分:对硬件行为建模的软件接口和执行仿真过程的程序,其中,对硬件行为建模的软件接口以任务为基本单位,每个任务包含开始事件和结束事件。
接下来将参照图1至图9对根据本公开实施例的并行化策略优化方法、系统、设备及介质进行说明。
图1示出了本实施例一种并行化策略优化方法100,如图1所示,包括以下步骤:在步骤S101处,将并行化策略中的softmax函数中缩放因子替换为最大预设固定值,得到优化softmax函数。
在本发明的实施例中,所述并行化策略中的softmax函数为:
其中,x为输入数据;为缩放因子,所述缩放因子为最大预设固定值;R为实数;i为输入数据的数量;xi为第i个输入数据;e为纳皮尔常数;xd为第d个输入数据。
在本发明的实施例中,得到所述最大预设固定值的方法200如图4所示,包括以下步骤:
在步骤S210处,多次执行模型推理记录预处理阶段得到softmax函数的输入数据。
接下来,转到步骤S220。
在步骤S220处,分析输入数据的统计分布情况,得到最大预设固定值,所述最大预设固定值满足:
该模型统计的大部分的输入数据均不满足:输入数据xi>>最大预设固定值或输入数据xi<<最大预设固定值/>的情况。
在本发明的实施例中,所述该模型统计的大部分的输入数据为99.99%的输入数据。
在本发明的实施例中,所述最大预设固定值的取值范围为:
接下来,转到步骤S120。
在步骤S120处,将优化softmax函数并列进行指数运算处理与序列和运算处理,其中指数运算处理完成后进行矩阵乘法运算处理,并利用序列和运算处理结果对矩阵乘法运算处理结果修正,完成并行化策略优化;需要说明的是,在矩阵乘法中,我们通常会利用序列和运算结果对矩阵乘法运算结果进行修正。这个过程可以看作是先进行一次常规的矩阵乘法,然后根据序列和运算的结果,对乘法的结果进行修正;具体来说,假设我们有两个矩阵A和B,我们想要计算A*B,在进行常规的矩阵乘法后,我们会得到一个初步的结果C,然后,我们会将C与一个序列和运算的结果进行修正,得到最终的乘法结果D;这个修正过程能够有效地提高矩阵乘法的精度和稳定性,特别是在处理大规模、复杂的数据时。
在本发明的实施例中,所述利用序列和运算处理结果对矩阵乘法运算处理结果修正后,进行优化softmax函数结果和特征矩阵的内循环运算处理。
在本发明的实施例中,所述内循环运算处理为对特征矩阵中的每一个样本的特征向量进行优化softmax函数运算处理,得到该样本的概率分布。
在本发明的实施例中,所述内循环运算处理过程中,优化softmax函数和特征矩阵的输入数据均单独进行异步处理;所述的异步处理是一种处理方式,它不需要等待处理完成就可以进行后续的操作,异步处理的核心逻辑是,它不阻塞当前线程来等待处理完成,而是允许后续操作,直至其它线程将处理完成,并回调通知此线程,这种处理方式类似于短信交流,发送消息之后无需保持等待状态;例如在编程中,异步处理可以用于处理长时间运行的操作,如网络请求或文件IO操作,以提高程序的响应性能和并发能力,在自然语言处理中,异步处理可以用于训练语言模型等计算密集型任务,以充分利用计算资源并提高训练效率。
在本发明的实施例中,所述内循环运算处理过程中存在外层累加,且所述外层累加在所有部分向量处理完毕后,进行外部累加处理;需要说明的是,所述的外层累加通常是指在循环或迭代过程中,对一个外部变量进行累加操作,这个外部变量通常用于计算某个累加和,或者在循环结束后用来计算所有循环迭代的总和;在循环的每一次迭代中,外部变量会与循环中的某个内部变量进行累加操作,从而逐渐增加外部变量的值;当循环结束后,外部变量的值就是所有循环迭代的累加和;外层累加通常用于统计某个事件发生的次数,或者计算某个变量在循环中的总和,这种累加操作可以方便地计算出循环中所有迭代的结果之和,并且可以避免在循环内部进行重复的累加操作,从而提高代码的效率和可读性。
在本发明的实施例中,所述特征矩阵为V矩阵,所述内循环运算处理的过程为:
其中,x为输入数据;为缩放因子,所述缩放因子为最大预设固定值;R为实数;为输入数据x(j)向量的数据第i个维度;xi为输入向量第i个维度;e为纳皮尔常数;xd为输入向量第d个维度;p为输入数据x(j)向量的个数;j为输入数据的第j个向量;d/p为x(j)向量的维度数量;/>为V矩阵中第j个列向量的第i个维度;/>为输入数据/>经过缩放和指数运算的结果。
在本发明的实施例中,在所述内循环运算处理的过程中,在不失一般性的前提下,假定每个xi的若/>或/>时,则终止对xi所属的向量x的异步部分softmax计算,然后使用同步softmax方法重新计算优化softmax函数的值。
需要说明的是,优化softmax函数和V矩阵进行内循环运算的目的是:为了获得一组概率分布;softmax函数是一种常用的函数,它可以将任意实数映射到[0,1]之间的值,这些值加起来等于1,因此可以解释为概率分布,而V矩阵通常是一个特征矩阵,每一行代表一个样本的特征向量;因此,softmax函数和V矩阵的内循环运算可以理解为:对每一个样本的特征向量进行softmax函数运算,得到该样本的概率分布,这个概率分布可以用于表示该样本属于每个类别的概率,从而为后续的分类或聚类等任务提供依据。
在本发明的实施例中,图5示出了一种并行化策略优化方法的示例;预先设置a=-3,b=3,两个向量x和y是由Q·KT计算得出,并分为两个局部向量;同时省略了从Q·KT到这些局部向量的过程。对于每个xi,有/>对x的第一个部分向量使用和/>进行处理x的第一个部分向量。有两个异步线程,每个线程进行相应的计算,分别为:
和/>
两个线程在处理完所有部分向量后同步进行,并执行最后的除法运算,对于y,第一个部分向量的处理方法类似,但是,那么两个线程将被终止,第一个线程将根据计算结果重新计算所有部分向量。
图5示出了本实施例中重新计算所有部分向量的过程:
图5(a)示出了每个部分softmax结果都是单独处理的,没有同步更新,图5(b)示出了当溢出时,需要重新计算所有部分需要对所有部分softmax计算进行重新计算。
在本发明的实施例中的实验结果为:
在本实施例中优化softmax函数也可以称之为异步softmax方案可同时应用于Prefill阶段和Decode阶段,测试了所提出的方案与最先进的注意力实现方案进行了对比测试,在英伟达TM GPU上的测试结果如图6和图7所示,对于在Prefill阶段,该方案与xformers[5]和FlashAttetion2相比,分别实现了1.52倍和1.19倍的平均提速,在Decode阶段,该方案表现优于定制decode的xformers实现,图8中表示为xformers-decoder,在长上下文情况下,比现有技术FlashDecoding的速度提高了2.02倍。
图8示出了本发明提供的一种并行化策略优化系统300,系统300包括:预处理单元310和输出单元320
预处理单元310,被配置为将并行化策略中的softmax函数中缩放因子替换为最大预设固定值,得到优化softmax函数;
输出单元320,被配置为将优化softmax函数并列进行指数运算处理与序列和运算处理,其中指数运算处理完成后进行矩阵乘法运算处理,并利用序列和运算处理结果对矩阵乘法运算处理结果修正,完成并行化策略优化。
图9示出了一种可以实施本发明实施例的方法或实现本发明实施例的电子设备1000的示意图,在一些实施例中可以包括比图示更多或更少的电子设备。在一些实施例中,可以利用单个或多个电子设备实施。在一些实施例中,可以利用云端或分布式的电子设备实施。
如图9所示,电子设备1000包括处理器1001,其可以根据存储在只读存储器(ROM)1002中的程序和/或数据或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序和/或数据而执行各种适当的操作和处理。处理器1001可以是一个多核的处理器,也可以包含多个处理器。在一些实施例中,处理器1001可以包含一个通用的主处理器以及一个或多个特殊的协处理器,例如,中央处理器(CPU)、图形处理器(GPU)、神经网络处理器(NPU)、数字信号处理器(DSP)等等。在RAM 1003中,还存储有电子设备1000操作所需的各种程序和数据。处理器1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
上述处理器与存储器共同用于执行存储在存储器中的程序,所述程序被计算机执行时能够实现上述各实施例描述的方法、步骤或功能。
以下部件连接至I/O接口1005:包括键盘、鼠标、触摸屏等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。图9中仅示意性示出部分组件,并不意味着计算机系统1000只包括图9所示组件。
上述实施例阐明的系统、装置、模块或单元,可以由计算机或其关联部件实现。计算机例如可以为移动终端、智能电话、个人计算机、膝上型计算机、车载人机交互设备、个人数字助理、媒体播放器、导航设备、游戏控制台、平板电脑、可穿戴设备、智能电视、物联网系统、智能家居、工业计算机、服务器或者其组合。
尽管未示出,在本发明实施例中,提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序配置成被运行时执行任一本发明实施例的基于文件差异的编译方法。
在本发明的实施例的存储介质包括永久性和非永久性、可移动和非可移动的可以由任何方法或技术来实现信息存储的物品。存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
在本发明的实施例的方法、程序、系统、装置等,可以在单个或多个连网的计算机中执行或实现,也可以在分布式计算环境中实践。在本说明书实施例中,在这些分布式计算环境中,可以由通过通信网络而被连接的远程处理设备来执行任务。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本领域技术人员可想到,上述实施例阐明的功能模块/单元或控制器以及相关方法步骤的实现,可以用软件、硬件和软/硬件结合的方式实现。
除非明确指出,根据本发明实施例记载的方法、程序的动作或步骤并不必须按照特定的顺序来执行并且仍然可以实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本文中,针对本发明的多个实施例进行了描述,但为简明起见,各实施例的描述并不是详尽的,各个实施例之间相同或相似的特征或部分可能会被省略。在本文中,“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”意指适用于根据本发明的至少一个实施例或示例中,而非所有实施例。上述术语并不必然意味着指代相同的实施例或示例。在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
已参考上述实施例具体示出并描述了本发明的示例性系统及方法,其仅为实施本系统及方法的最佳模式的示例。本领域的技术人员可以理解的是可以在实施本系统及/或方法时对这里描述的系统及方法的实施例做各种改变而不脱离界定在所附权利要求中的本发明的精神及范围。
Claims (15)
1.一种并行化策略优化方法,其特征在于,包括以下步骤:
将并行化策略中的softmax函数中缩放因子替换为最大预设固定值,得到优化softmax函数;
将优化softmax函数并列进行指数运算处理与序列和运算处理,其中指数运算处理完成后进行矩阵乘法运算处理,并利用序列和运算处理结果对矩阵乘法运算处理结果修正,完成并行化策略优化。
2.根据权利要求1所述的并行化策略优化方法,其特征在于,所述并行化策略中的softmax函数为:
其中,x为输入数据;为缩放因子,所述缩放因子为最大预设固定值;R为实数;i为输入数据的数量;xi为第i个输入数据;e为纳皮尔常数;xd为第d个输入数据。
3.根据权利要求1所述的并行化策略优化方法,其特征在于,得到所述最大预设固定值的过程为:
多次执行模型推理记录预处理阶段得到softmax函数的输入数据;
分析输入数据的统计分布情况,得到最大预设固定值,所述最大预设固定值满足:
该模型统计的大部分的输入数据均不满足:输入数据xi>>最大预设固定值或输入数据xi<<最大预设固定值/>的情况。
4.根据权利要求3所述的并行化策略优化方法,其特征在于,所述该模型统计的大部分的输入数据为99.99%的输入数据。
5.根据权利要求1所述的并行化策略优化方法,其特征在于,所述最大预设固定值的取值范围为:
6.根据权利要求1所述的并行化策略优化方法,其特征在于,所述利用序列和运算处理结果对矩阵乘法运算处理结果修正后,进行优化softmax函数结果和特征矩阵的内循环运算处理。
7.根据权利要求6所述的并行化策略优化方法,其特征在于,所述内循环运算处理为对特征矩阵中的每一个样本的特征向量进行优化softmax函数运算处理,得到该样本的概率分布。
8.根据权利要求6所述的并行化策略优化方法,其特征在于,所述内循环运算处理过程中,优化softmax函数和特征矩阵的输入数据均单独进行异步处理。
9.根据权利要求6所述的并行化策略优化方法,其特征在于,所述内循环运算处理过程中存在外层累加,且所述外层累加在所有部分向量处理完毕后,进行外部累加处理。
10.根据权利要求6所述的并行化策略优化方法,其特征在于,所述特征矩阵为V矩阵,所述内循环运算处理的过程为:
其中,x为输入数据;为缩放因子,所述缩放因子为最大预设固定值;R为实数;/>为输入数据x(j)向量的数据第i个维度;xi为输入向量第i个维度;e为纳皮尔常数;xd为输入向量第d个维度;p为输入数据x(j)向量的个数;j为输入数据的第j个向量;d/p为x(j)向量的维度数量;/>为V矩阵中第j个列向量的第i个维度;/>为输入数据/>经过缩放和指数运算的结果。
11.根据权利要求10所述的并行化策略优化方法,其特征在于,在所述内循环运算处理的过程中,在不失一般性的前提下,假定每个xi的若/>或时,则终止对xi所属的向量x的异步部分softmax计算,然后使用同步softmax方法重新计算优化softmax函数的值。
12.一种并行化策略优化系统,其特征在于,基于权利要求1-11任一项所述的并行化策略优化方法,包括:
预处理单元,被配置为
将并行化策略中的softmax函数中缩放因子替换为最大预设固定值,得到优化softmax函数;
输出单元,被配置为
将优化softmax函数并列进行指数运算处理与序列和运算处理,其中指数运算处理完成后进行矩阵乘法运算处理,并利用序列和运算处理结果对矩阵乘法运算处理结果修正,完成并行化策略优化。
13.一种计算机设备,该电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行如权利要求1至11中的任一项所述的并行化策略优化方法。
14.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令当由至少一个处理器执行时使所述至少一个处理器执行如权利要求1至11中的任一项所述的并行化策略优化方法。
15.一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如权利要求1至11中的任一项所述的并行化策略优化方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311456221.5A CN117407793B (zh) | 2023-11-03 | 2023-11-03 | 一种用于大语言模型的并行化策略优化方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311456221.5A CN117407793B (zh) | 2023-11-03 | 2023-11-03 | 一种用于大语言模型的并行化策略优化方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117407793A true CN117407793A (zh) | 2024-01-16 |
CN117407793B CN117407793B (zh) | 2024-05-28 |
Family
ID=89499750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311456221.5A Active CN117407793B (zh) | 2023-11-03 | 2023-11-03 | 一种用于大语言模型的并行化策略优化方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117407793B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111937010A (zh) * | 2018-03-23 | 2020-11-13 | 亚马逊技术股份有限公司 | 加速的量化乘法和加法运算 |
CN112669809A (zh) * | 2019-10-16 | 2021-04-16 | 百度(美国)有限责任公司 | 并行神经文本到语音转换 |
CN112883149A (zh) * | 2021-01-20 | 2021-06-01 | 华为技术有限公司 | 一种自然语言处理方法以及装置 |
CN113377332A (zh) * | 2021-05-28 | 2021-09-10 | 南京大学 | 一种基于线性分段的softmax硬件实现方法 |
CN114051615A (zh) * | 2019-06-28 | 2022-02-15 | 亚马逊技术股份有限公司 | 动态处理元件阵列扩展 |
CN115221846A (zh) * | 2022-06-08 | 2022-10-21 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
US20230133305A1 (en) * | 2021-10-28 | 2023-05-04 | Kwai Inc. | Methods and devices for accelerating a transformer with a sparse attention pattern |
CN116258172A (zh) * | 2021-12-09 | 2023-06-13 | 北京图森智途科技有限公司 | 数据处理方法、相关的计算装置及存储介质 |
CN116312539A (zh) * | 2023-03-14 | 2023-06-23 | 上海数字大脑科技研究院有限公司 | 基于大模型的中文对话轮次纠正方法及系统 |
US20230244869A1 (en) * | 2020-06-25 | 2023-08-03 | Kpn Innovations, Llc. | Systems and methods for classification of textual works |
CN116578699A (zh) * | 2023-04-10 | 2023-08-11 | 广东工业大学 | 基于Transformer的序列分类预测方法和系统 |
CN116909532A (zh) * | 2023-09-12 | 2023-10-20 | 深圳须弥云图空间科技有限公司 | 一种代码生成与缺陷修复方法和装置 |
-
2023
- 2023-11-03 CN CN202311456221.5A patent/CN117407793B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111937010A (zh) * | 2018-03-23 | 2020-11-13 | 亚马逊技术股份有限公司 | 加速的量化乘法和加法运算 |
CN114051615A (zh) * | 2019-06-28 | 2022-02-15 | 亚马逊技术股份有限公司 | 动态处理元件阵列扩展 |
CN112669809A (zh) * | 2019-10-16 | 2021-04-16 | 百度(美国)有限责任公司 | 并行神经文本到语音转换 |
US20230244869A1 (en) * | 2020-06-25 | 2023-08-03 | Kpn Innovations, Llc. | Systems and methods for classification of textual works |
CN112883149A (zh) * | 2021-01-20 | 2021-06-01 | 华为技术有限公司 | 一种自然语言处理方法以及装置 |
CN113377332A (zh) * | 2021-05-28 | 2021-09-10 | 南京大学 | 一种基于线性分段的softmax硬件实现方法 |
US20230133305A1 (en) * | 2021-10-28 | 2023-05-04 | Kwai Inc. | Methods and devices for accelerating a transformer with a sparse attention pattern |
CN116258172A (zh) * | 2021-12-09 | 2023-06-13 | 北京图森智途科技有限公司 | 数据处理方法、相关的计算装置及存储介质 |
CN115221846A (zh) * | 2022-06-08 | 2022-10-21 | 华为技术有限公司 | 一种数据处理方法及相关设备 |
CN116312539A (zh) * | 2023-03-14 | 2023-06-23 | 上海数字大脑科技研究院有限公司 | 基于大模型的中文对话轮次纠正方法及系统 |
CN116578699A (zh) * | 2023-04-10 | 2023-08-11 | 广东工业大学 | 基于Transformer的序列分类预测方法和系统 |
CN116909532A (zh) * | 2023-09-12 | 2023-10-20 | 深圳须弥云图空间科技有限公司 | 一种代码生成与缺陷修复方法和装置 |
Non-Patent Citations (2)
Title |
---|
CHEN, LEQUN等: "Punica: Multi-tenant lora serving", 《HTTPS://ARXIV.ORG/ABS/2310.18547》, 31 October 2023 (2023-10-31), pages 1 - 13 * |
陶锐文: "统计语言模型的解码方法研究", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, no. 01, 15 January 2023 (2023-01-15), pages 138 - 3535 * |
Also Published As
Publication number | Publication date |
---|---|
CN117407793B (zh) | 2024-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210357740A1 (en) | Second-order optimization methods for avoiding saddle points during the training of deep neural networks | |
US20220253672A1 (en) | Sparse attention neural networks | |
CN112906865B (zh) | 神经网络架构搜索方法、装置、电子设备及存储介质 | |
CN112988840A (zh) | 一种时间序列预测方法、装置、设备和存储介质 | |
CN118607588A (zh) | 一种大语言模型的压缩方法、系统、设备及存储介质 | |
CN117891930B (zh) | 基于知识图谱增强大语言模型的图书知识问答方法 | |
CN115358397A (zh) | 一种基于数据采样的并行图规则挖掘方法及装置 | |
CN108334532B (zh) | 一种基于Spark的Eclat并行化方法、系统及装置 | |
CN117407793B (zh) | 一种用于大语言模型的并行化策略优化方法、系统、设备及介质 | |
CN116384313A (zh) | 一种集成电路全局布局方法、电子设备和存储介质 | |
CN116257174A (zh) | 一种基于张量异步硬盘读写的异构空间优化器 | |
CN113538687B (zh) | 基于vtk的有限元可视化方法、系统、装置及存储介质 | |
CN118265983A (zh) | 存储器优化的对比学习 | |
CN115640517A (zh) | 多方协同模型训练方法、装置、设备和介质 | |
CN114723024A (zh) | 用于存算一体芯片的基于线性规划的神经网络映射方法 | |
CN114270341A (zh) | 一种数据属性的分组方法、装置、设备及存储介质 | |
CN113449490B (zh) | 一种文档信息汇总方法、系统、电子设备及介质 | |
CN117407643B (zh) | 一种通用矩阵乘法的优化方法、系统、设备及介质 | |
CN112767042B (zh) | 一种群组生成方法、装置、电子设备及存储介质 | |
CN117556273B (zh) | 一种通过多图形处理器计算对比损失的方法和装置 | |
CN118312766B (zh) | 一种数据处理方法和设备 | |
US20230195842A1 (en) | Automated feature engineering for predictive modeling using deep reinforcement learning | |
CN113849592B (zh) | 文本情感分类方法及装置、电子设备、存储介质 | |
US20230229736A1 (en) | Embedding optimization for a machine learning model | |
CN114580377B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40107573 Country of ref document: HK |