CN117407793B - 一种用于大语言模型的并行化策略优化方法、系统、设备及介质 - Google Patents

一种用于大语言模型的并行化策略优化方法、系统、设备及介质 Download PDF

Info

Publication number
CN117407793B
CN117407793B CN202311456221.5A CN202311456221A CN117407793B CN 117407793 B CN117407793 B CN 117407793B CN 202311456221 A CN202311456221 A CN 202311456221A CN 117407793 B CN117407793 B CN 117407793B
Authority
CN
China
Prior art keywords
operation processing
parallelization
input data
softmax function
fixed value
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
Application number
CN202311456221.5A
Other languages
English (en)
Other versions
CN117407793A (zh
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.)
Shanghai Wuwen Core Dome Intelligent Technology Co ltd
Original Assignee
Shanghai Wuwen Core Dome Intelligent Technology Co ltd
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 Shanghai Wuwen Core Dome Intelligent Technology Co ltd filed Critical Shanghai Wuwen Core Dome Intelligent Technology Co ltd
Priority to CN202311456221.5A priority Critical patent/CN117407793B/zh
Publication of CN117407793A publication Critical patent/CN117407793A/zh
Application granted granted Critical
Publication of CN117407793B publication Critical patent/CN117407793B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods 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/544Methods 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/556Logarithmic 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 (14)

1.一种用于大语言模型的并行化策略优化方法,其特征在于,包括以下步骤:
将并行化策略中的softmax函数中缩放因子替换为最大预设固定值,得到优化softmax函数,其中所述优化softmax函数为:
其中,x为输入数据;为缩放因子,所述缩放因子为最大预设固定值;R为实数;i为输入数据的数量;xi为第i个输入数据;e为纳皮尔常数;xd为第d个输入数据,得到所述最大预设固定值包括:
多次执行模型推理记录预处理阶段得到softmax函数的输入数据;
分析输入数据的统计分布情况,得到最大预设固定值;
将优化softmax函数并列进行指数运算处理与序列和运算处理,其中指数运算处理完成后进行矩阵乘法运算处理,并利用序列和运算处理结果对矩阵乘法运算处理结果修正,完成并行化策略优化。
2.根据权利要求1所述的用于大语言模型的并行化策略优化方法,其特征在于,所述最大预设固定值满足:
该模型统计的大部分的输入数据均不满足:输入数据xi>>最大预设固定值或输入数据xi<<最大预设固定值/>的情况。
3.根据权利要求2所述的用于大语言模型的并行化策略优化方法,其特征在于,所述该模型统计的大部分的输入数据为99.99%的输入数据。
4.根据权利要求1所述的用于大语言模型的并行化策略优化方法,其特征在于,所述最大预设固定值的取值范围为:
5.根据权利要求1所述的用于大语言模型的并行化策略优化方法,其特征在于,所述利用序列和运算处理结果对矩阵乘法运算处理结果修正后,进行优化softmax函数结果和特征矩阵的内循环运算处理。
6.根据权利要求5所述的并行化策略优化方法,其特征在于,所述内循环运算处理为对特征矩阵中的每一个样本的特征向量进行优化softmax函数运算处理,得到该样本的概率分布。
7.根据权利要求5所述的用于大语言模型的并行化策略优化方法,其特征在于,所述内循环运算处理过程中,优化softmax函数和特征矩阵的输入数据均单独进行异步处理。
8.根据权利要求5所述的用于大语言模型的并行化策略优化方法,其特征在于,所述内循环运算处理过程中存在外层累加,且所述外层累加在所有部分向量处理完毕后,进行外部累加处理。
9.根据权利要求5所述的用于大语言模型的并行化策略优化方法,其特征在于,所述特征矩阵为V矩阵,所述内循环运算处理的过程为:
其中,x为输入数据;为缩放因子,所述缩放因子为最大预设固定值;R为实数;/>为输入数据x(j)向量的数据第i个维度;xi为输入向量第i个维度;e为纳皮尔常数;xd为输入向量第d个维度;p为输入数据x(j)向量的个数;j为输入数据的第j个向量;d/p为x(j)向量的维度数量;/>为V矩阵中第j个列向量的第i个维度;/>为输入数据/>经过缩放和指数运算的结果。
10.根据权利要求9所述的用于大语言模型的并行化策略优化方法,其特征在于,在所述内循环运算处理的过程中,在不失一般性的前提下,假定每个xi或/>时,则终止对xi所属的向量x的异步部分softmax计算,然后使用同步softmax方法重新计算优化softmax函数的值,其中a、b为预先设置的值。
11.一种用于大语言模型的并行化策略优化系统,其特征在于,基于权利要求1-10任一项所述的用于大语言模型的并行化策略优化方法,包括:
预处理单元,被配置为将并行化策略中的softmax函数中缩放因子替换为最大预设固定值,得到优化softmax函数;
输出单元,被配置为将优化softmax函数并列进行指数运算处理与序列和运算处理,其中指数运算处理完成后进行矩阵乘法运算处理,并利用序列和运算处理结果对矩阵乘法运算处理结果修正,完成并行化策略优化。
12.一种计算机设备,该设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行如权利要求1至10中的任一项所述的用于大语言模型的并行化策略优化方法。
13.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令当由至少一个处理器执行时使所述至少一个处理器执行如权利要求1至10中的任一项所述的用于大语言模型的并行化策略优化方法。
14.一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如权利要求1至10中的任一项所述的用于大语言模型的并行化策略优化方法。
CN202311456221.5A 2023-11-03 2023-11-03 一种用于大语言模型的并行化策略优化方法、系统、设备及介质 Active CN117407793B (zh)

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 CN117407793A (zh) 2024-01-16
CN117407793B true 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 (10)

* Cited by examiner, † Cited by third party
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 华为技术有限公司 一种数据处理方法及相关设备
CN116258172A (zh) * 2021-12-09 2023-06-13 北京图森智途科技有限公司 数据处理方法、相关的计算装置及存储介质
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 深圳须弥云图空间科技有限公司 一种代码生成与缺陷修复方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230244869A1 (en) * 2020-06-25 2023-08-03 Kpn Innovations, Llc. Systems and methods for classification of textual works
US20230133305A1 (en) * 2021-10-28 2023-05-04 Kwai Inc. Methods and devices for accelerating a transformer with a sparse attention pattern

Patent Citations (10)

* Cited by examiner, † Cited by third party
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 百度(美国)有限责任公司 并行神经文本到语音转换
CN112883149A (zh) * 2021-01-20 2021-06-01 华为技术有限公司 一种自然语言处理方法以及装置
CN113377332A (zh) * 2021-05-28 2021-09-10 南京大学 一种基于线性分段的softmax硬件实现方法
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)

* Cited by examiner, † Cited by third party
Title
Punica: Multi-tenant lora serving;Chen, Lequn等;《https://arxiv.org/abs/2310.18547》;20231031;1-13 *
统计语言模型的解码方法研究;陶锐文;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20230115(第01期);I138-3535 *

Also Published As

Publication number Publication date
CN117407793A (zh) 2024-01-16

Similar Documents

Publication Publication Date Title
US20220391665A1 (en) Method for splitting neural network model by using multi-core processor, and related product
US20220121903A1 (en) Method of performing splitting in neural network model by means of multi-core processor, and related product
US20210357740A1 (en) Second-order optimization methods for avoiding saddle points during the training of deep neural networks
US20220253672A1 (en) Sparse attention neural networks
CN112749300B (zh) 用于视频分类的方法、装置、设备、存储介质和程序产品
CN112906865B (zh) 神经网络架构搜索方法、装置、电子设备及存储介质
CN112988840A (zh) 一种时间序列预测方法、装置、设备和存储介质
CN115437795A (zh) 一种异构gpu集群负载感知的显存重计算优化方法及系统
WO2021062219A1 (en) Clustering data using neural networks based on normalized cuts
WO2020103883A1 (zh) 执行矩阵乘法运算的方法、电路及soc
CN112686342B (zh) Svm模型的训练方法、装置、设备和计算机可读存储介质
CN117407793B (zh) 一种用于大语言模型的并行化策略优化方法、系统、设备及介质
CN113538687B (zh) 基于vtk的有限元可视化方法、系统、装置及存储介质
CN116257174A (zh) 一种基于张量异步硬盘读写的异构空间优化器
CN114756680A (zh) 一种文本分类方法、系统、电子设备及存储介质
CN115358397A (zh) 一种基于数据采样的并行图规则挖掘方法及装置
CN114723024A (zh) 用于存算一体芯片的基于线性规划的神经网络映射方法
US7555509B2 (en) Parallel fast Fourier transformation method of concealed-communication type
CN116151347A (zh) 一种预训练语言模型的训练方法、装置和电子设备
CN117407643B (zh) 一种通用矩阵乘法的优化方法、系统、设备及介质
Qin et al. You Only Scan Once: Efficient Multi-dimension Sequential Modeling with LightNet
CN113449490B (zh) 一种文档信息汇总方法、系统、电子设备及介质
CN117556273B (zh) 一种通过多图形处理器计算对比损失的方法和装置
US20230229736A1 (en) Embedding optimization for a machine learning model
CN114270341B (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