CN116860999A - 超大语言模型分布式预训练方法、装置、设备及介质 - Google Patents

超大语言模型分布式预训练方法、装置、设备及介质 Download PDF

Info

Publication number
CN116860999A
CN116860999A CN202310833617.0A CN202310833617A CN116860999A CN 116860999 A CN116860999 A CN 116860999A CN 202310833617 A CN202310833617 A CN 202310833617A CN 116860999 A CN116860999 A CN 116860999A
Authority
CN
China
Prior art keywords
task
language model
calculation
communication
layer
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
Application number
CN202310833617.0A
Other languages
English (en)
Other versions
CN116860999B (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.)
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 CN202310833617.0A priority Critical patent/CN116860999B/zh
Publication of CN116860999A publication Critical patent/CN116860999A/zh
Application granted granted Critical
Publication of CN116860999B publication Critical patent/CN116860999B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本申请涉及分布式系统、深度学习、自然语言处理和语言模型技术领域,特别涉及一种超大语言模型分布式预训练方法、装置、设备及介质,其中,方法包括:拆分超大语言模型的通信任务与计算任务;构建通信任务与计算任务之间的依赖关系图;以最大化并行执行通信任务与计算任务为搜索目标,根据依赖关系图和任务执行时间搜索最大化并行执行数量,调度最大化并行执行数量的通信任务与计算任务对超大语言模型进行预训练。由此,解决了相关技术中,由于超大语言模型的任务拆分方式合理度较低,通信任务与计算任务之间存在紧密耦合关系,任务执行顺序调度的合理性较差,进而导致模型预训练效率较低,无法满足实际使用需要等问题。

Description

超大语言模型分布式预训练方法、装置、设备及介质
技术领域
本申请涉及分布式系统、深度学习、自然语言处理和语言模型技术领域,特别涉及一种超大语言模型分布式预训练方法、装置、设备及介质。
背景技术
语言模型基于注意力机制Transformer模型,可以从文本数据中提取词序列的概率分布;其中,Transformer模型一般包括层正则化层、多头注意力层、随机丢弃层和线性层;达到较好模型效果的Transformer模型的参数量巨大,无法存放到单个GPU(graphicsprocessing unit,图形处理器)内存中。
相关技术中,可以使用一种基于张量并行的模型并行方案:该方案将Transformer模型每层的计算操作平均地分配到不同的计算设备中,例如矩阵乘法和非线性激活函数等;其中,模型中使用的参数矩阵(或称为张量)有多个维度,因此张量并行方案有1维、2维和多维等切分策略。
然而,相关技术中的张量并行方案切分方式不合理,通信与计算任务之间存在紧密的耦合关系,导致无法对两者的执行顺序进行合理的调度,大幅度延长了预训练的时间。
发明内容
本申请提供一种超大语言模型分布式预训练方法、装置、电子设备及存储介质,以解决相关技术中,由于超大语言模型的任务拆分方式合理度较低,通信任务与计算任务之间存在紧密耦合关系,对任务执行顺序调度的合理性较差,进而导致模型预训练效率较低,无法满足实际使用需要等问题。
本申请第一方面实施例提供一种超大语言模型分布式预训练方法,包括以下步骤:拆分超大语言模型的通信任务与计算任务;构建所述通信任务与所述计算任务之间的依赖关系图;以最大化并行执行所述通信任务与所述计算任务为搜索目标,根据所述依赖关系图和任务执行时间搜索最大化并行执行数量,调度所述最大化并行执行数量的所述通信任务与所述计算任务对所述超大语言模型进行预训练。
可选地,所述拆分超大语言模型的通信任务与计算任务,包括:获取所述超大语言模型的输入与输出张量的文本序列维度和特征维度;根据所述文本序列维度和所述特征维度拆分超大语言模型的通信任务与计算任务。
可选地,所述根据所述文本序列维度和所述特征维度拆分超大语言模型的通信任务与计算任务,包括:将所述文本序列维度和所述特征维度分别切分成第一数量和第二数量;对于所述超大语言模型的计算任务,将所述超大语言模型的线性层和线性层的计算任务均的拆分为第一数量与第二数量的乘积个计算子任务,将层正则化层的计算任务拆分为第一数量个计算子任务,将多头注意力层的计算任务拆分为第二数量个计算子任务;对于所述超大语言模型的通信任务,将所述线性层到所述层正则化层的第一通信任务拆分为第一数量个通信子任务,将所述层正则化层到所述线性层的第二通信任务拆分为第一数量与第二数量的乘积个子任务。
可选地,所述构建所述通信任务与所述计算任务之间的依赖关系图,包括:获取所述计算任务中计算子任务之间的第一依赖关系;获取所述通信任务和所述计算任务之间的第二依赖关系;根据所述第一依赖关系和所述第二依赖关系构建所述依赖关系图。
可选地,所述根据所述依赖关系图和任务执行时间搜索最大化并行执行数量,包括:搜索所述依赖关系图中所有通信任务与计算任务的最短完成时间;构建所述最短完成时间的下闭集,利用最小堆返回存储在堆中执行时间最短的下闭集和对应的执行时间,并按照所述执行时间枚举所有下闭集;对于枚举到的下闭集,根据所述依赖关系图搜索图中的可被调度任务,根据所述可被调度任务的任务类型和依赖关系,确定所述可被调度任务的完成时间;在所述依赖关系图中标记所述可被调度任务的完成时间得到二维矩阵,根据所述二维矩阵确定所述通信任务与所述计算任务的最大化并行执行数量。
本申请第二方面实施例提供一种超大语言模型分布式预训练装置,包括:拆分模块,用于拆分超大语言模型的通信任务与计算任务;构建模块,用于构建所述通信任务与所述计算任务之间的依赖关系图;训练模块,用于以最大化并行执行所述通信任务与所述计算任务为搜索目标,根据所述依赖关系图和任务执行时间搜索最大化并行执行数量,调度所述最大化并行执行数量的所述通信任务与所述计算任务对所述超大语言模型进行预训练。
可选地,所述拆分模块进一步用于:获取所述超大语言模型的输入与输出张量的文本序列维度和特征维度;根据所述文本序列维度和所述特征维度拆分超大语言模型的通信任务与计算任务。
可选地,所述拆分模块进一步用于:将所述文本序列维度和所述特征维度分别切分成第一数量和第二数量;对于所述超大语言模型的计算任务,将所述超大语言模型的线性层和线性层的计算任务均的拆分为第一数量与第二数量的乘积个计算子任务,将层正则化层的计算任务拆分为第一数量个计算子任务,将多头注意力层的计算任务拆分为第二数量个计算子任务;对于所述超大语言模型的通信任务,将所述线性层到所述层正则化层的第一通信任务拆分为第一数量个通信子任务,将所述层正则化层到所述线性层的第二通信任务拆分为第一数量与第二数量的乘积个子任务。
可选地,所述构建模块进一步用于:获取所述计算任务中计算子任务之间的第一依赖关系;获取所述通信任务和所述计算任务之间的第二依赖关系;根据所述第一依赖关系和所述第二依赖关系构建所述依赖关系图。
可选地,所述训练模块进一步用于:搜索所述依赖关系图中所有通信任务与计算任务的最短完成时间;构建所述最短完成时间的下闭集,利用最小堆返回存储在堆中执行时间最短的下闭集和对应的执行时间,并按照所述执行时间枚举所有下闭集;对于枚举到的下闭集,根据所述依赖关系图搜索图中的可被调度任务,根据所述可被调度任务的任务类型和依赖关系,确定所述可被调度任务的完成时间;在所述依赖关系图中标记所述可被调度任务的完成时间得到二维矩阵,根据所述二维矩阵确定所述通信任务与所述计算任务的最大化并行执行数量。
本申请第三方面实施例提供一种电子设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如上述实施例所述的超大语言模型分布式预训练方法。
本申请第四方面实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行,以用于实现如上述实施例所述的超大语言模型分布式预训练方法。
由此,本申请至少具有如下有益效果:
本申请实施例可以通过对超大语言模型的通信任务与计算任务进行细粒度拆分,对通信任务与计算任务的依赖关系进行解耦,由此使得对通信任务和计算任务的切分合理化,进而提升了任务执行顺序调度的合理性,提升模型训练效率,提高训练结果可靠性;本申请实施例还可以利用任务切分后产生的依赖关系图和每个任务的执行时间作为输入,搜索最大化并行执行数量,提升了搜索效率,进而进一步提升模型训练速度,满足实际使用的需要。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例的一种超大语言模型分布式预训练方法的流程图;
图2为本申请实施例的对任务特点和子任务拆分数量的计算的示意图;
图3为本申请实施例的细粒度拆分方案产生的依赖关系图;
图4为本申请实施例的超大语言模型分布式预训练装置的示例图;
图5为本申请实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
针对上述背景技术中提到的超大语言模型分布式预训练的问题,本申请提供了一种超大语言模型分布式预训练方法,下面参考附图描述本申请实施例的超大语言模型分布式预训练方法、装置、电子设备及存储介质。
具体而言,图1为本申请实施例所提供的一种超大语言模型分布式预训练方法的流程示意图。
如图1所示,该超大语言模型分布式预训练方法包括以下步骤:
在步骤S101中,拆分超大语言模型的通信任务与计算任务。
可以理解的是,基于Transformer模型的输入和输出张量具有两个可以被自由切分的维度,即文本序列维度和文本中每个词语的特征维度,因此本申请实施例可以首先对通信任务与计算任务进行细粒度拆分。
在本申请实施例中,拆分超大语言模型的通信任务与计算任务,包括:获取超大语言模型的输入与输出张量的文本序列维度和特征维度;根据文本序列维度和特征维度拆分超大语言模型的通信任务与计算任务。
可以理解的是,本申请实施例可以对超大语言模型的输入与输出张量的文本序列维度和特征维度进行获取,进而本申请实施例可以对超大语言模型的通信任务与计算任务进行拆分,其中,本申请实施例可以使用至少一种方式对超大语言模型的通信任务与计算任务进行计算,比如可以进行线性层拆分等;以下实施例中,将对线性层拆分方式进行阐述:
具体而言,如图2所示,根据文本序列维度和特征维度拆分超大语言模型的通信任务与计算任务,包括:将文本序列维度和特征维度分别切分成第一数量和第二数量;对于超大语言模型的计算任务,将超大语言模型的线性层和线性层的计算任务均的拆分为第一数量与第二数量的乘积个计算子任务,将层正则化层的计算任务拆分为第一数量个计算子任务,将多头注意力层的计算任务拆分为第二数量个计算子任务;对于超大语言模型的通信任务,将线性层到层正则化层的第一通信任务拆分为第一数量个通信子任务,将层正则化层到线性层的第二通信任务拆分为第一数量与第二数量的乘积个子任务。
其中,记文本序列维度s,则文本序列维度切分的第一数量可以记为S;记特征维度h,则特征维度切分的第二数量可以记为H。
可以理解的是,本申请实施例可以通过对Transformer模型中不同层特点的考虑,将多头注意力层拆分为H个子任务,将非线性激活层拆分为S*H个子任务,将层正则化层拆分为S个子任务;同时对两种通信任务进行拆分,将线性层到层正则化层的All-reduce通信任务拆分为S个子任务,将层正则化层到线性层的Broadcast通信任务拆分为S*H个子任务。
在步骤S102中,构建通信任务与计算任务之间的依赖关系图。
可以理解的是,如图3所示,在对通信任务与计算任务进行拆分后,本申请实施例可以对通信任务与计算任务之间的依赖关系建立关系图,并将各类子任务的执行时间作为输入;其中,依赖图的构建需要对计算子任务之间的依赖关系、通信任务与计算任务之间的依赖关系进行考虑,具体而言:
在本申请实施例中,构建通信任务与计算任务之间的依赖关系图,包括:获取计算任务中计算子任务之间的第一依赖关系;获取通信任务和计算任务之间的第二依赖关系;根据第一依赖关系和第二依赖关系构建依赖关系图。
可以理解的是,本申请实施例可以将计算子任务之间的依赖关系作为第一依赖关系,并对其进行获取;将通信任务与计算任务之间的依赖关系作为第二依赖关系,同样对其进行获取;进而根据第一依赖关系和第二依赖关系对依赖关系图进行构建。
在步骤S103中,以最大化并行执行通信任务与计算任务为搜索目标,根据依赖关系图和任务执行时间搜索最大化并行执行数量,调度最大化并行执行数量的通信任务与计算任务对超大语言模型进行预训练。
可以理解的是,本申请实施例可以使用一种任务调度顺序搜索算法,在步骤S102的基础上,将最大化并行执行通信任务与计算任务作为搜索目标进行搜索,由此从依赖关系图和任务执行时间获取最大化并行执行数量,进而可以利用最大化并行执行数量的通信任务与计算任务对超大语言模型进行预训练;其中,本申请实施例搜索最大化并行执行数量的过程可以具体如下:
在本申请实施例中,根据依赖关系图和任务执行时间搜索最大化并行执行数量,包括:搜索依赖关系图中所有通信任务与计算任务的最短完成时间;构建最短完成时间的下闭集,利用最小堆返回存储在堆中执行时间最短的下闭集和对应的执行时间,并按照执行时间枚举所有下闭集;对于枚举到的下闭集,根据依赖关系图搜索图中的可被调度任务,根据可被调度任务的任务类型和依赖关系,确定可被调度任务的完成时间;在依赖关系图中标记可被调度任务的完成时间得到二维矩阵,根据二维矩阵确定通信任务与计算任务的最大化并行执行数量。
可以理解的是,本申请实施例搜索最大化并行执行数量的过程是在对有向无环图寻找最优调度,由此可以使用一种贪心策略寻找近似最优解,该贪心策略算法的状态定义可以为完成图中某个下闭集中所有通信与计算任务的最短完成时间。
具体而言,本申请实施例可以使用一种任务调度顺序搜索算法。该算法首先将所有的下闭集状态进行初始化,赋予正无穷大的值。该算法使用最小堆对运行过程的中间状态进行维护:该最小堆可以返回存储在堆中执行之间最短的下闭集和对应的执行时间,由此本申请实施例可以利用该最小堆,按照执行时间从小到大枚举所有下闭集状态。对于枚举到的下闭集状态D,本申请实施例可以根据下闭集状态D和如图3所示的依赖关系图找到图中可以被调度的任务v。任务v有两种类型,计算任务和通信任务。以计算任务为例,该任务需要等待最后一个计算任务和它所依赖的前一个任务完成之后,才能被执行。基于上述逻辑关系,该算法可以计算出执行该任务之后的计算执行时间和整体执行时间,并将新的下闭集D∪{v}加入到最小堆中。
由于Transformer模型每层的相同结构,本申请实施例可以仅对单层搜索调度顺序;又因为构建的依赖关系图具有的规整性和对称性,因此可以将依赖关系图标记为一个H*S行12列的二维矩阵,并通过下标记录已经被调度的任务;由此,本申请实施例可以提升搜索的执行效率,进而最小化所有任务的执行时间。
综上,根据本申请实施例提出的超大语言模型分布式预训练方法,可以通过对超大语言模型的通信任务与计算任务进行细粒度拆分,对通信任务与计算任务的依赖关系进行解耦,由此使得对通信任务和计算任务的切分合理化,进而提升了任务执行顺序调度的合理性,提升模型训练效率,提高训练结果可靠性;本申请实施例还可以利用任务切分后产生的依赖关系图和每个任务的执行时间作为输入,搜索最大化并行执行数量,提升了搜索效率,进而进一步提升模型训练速度,满足实际使用的需要。
其次参照附图描述根据本申请实施例提出的超大语言模型分布式预训练装置。
图4是本申请实施例的超大语言模型分布式预训练装置的方框示意图。
如图4所示,该超大语言模型分布式预训练装置10包括:拆分模块100、构建模块200和训练模块300。
其中,拆分模块100,用于拆分超大语言模型的通信任务与计算任务;构建模块200,用于构建通信任务与计算任务之间的依赖关系图;训练模块300,用于以最大化并行执行通信任务与计算任务为搜索目标,根据依赖关系图和任务执行时间搜索最大化并行执行数量,调度最大化并行执行数量的通信任务与计算任务对超大语言模型进行预训练。
在本申请实施例中,拆分模块100进一步用于:获取超大语言模型的输入与输出张量的文本序列维度和特征维度;根据文本序列维度和特征维度拆分超大语言模型的通信任务与计算任务。
在本申请实施例中,拆分模块100进一步用于:将文本序列维度和特征维度分别切分成第一数量和第二数量;对于超大语言模型的计算任务,将超大语言模型的线性层和线性层的计算任务均的拆分为第一数量与第二数量的乘积个计算子任务,将层正则化层的计算任务拆分为第一数量个计算子任务,将多头注意力层的计算任务拆分为第二数量个计算子任务;对于超大语言模型的通信任务,将线性层到层正则化层的第一通信任务拆分为第一数量个通信子任务,将层正则化层到线性层的第二通信任务拆分为第一数量与第二数量的乘积个子任务。
在本申请实施例中,构建模块200进一步用于:获取计算任务中计算子任务之间的第一依赖关系;获取通信任务和计算任务之间的第二依赖关系;根据第一依赖关系和第二依赖关系构建依赖关系图。
在本申请实施例中,训练模块300进一步用于:搜索依赖关系图中所有通信任务与计算任务的最短完成时间;构建最短完成时间的下闭集,利用最小堆返回存储在堆中执行时间最短的下闭集和对应的执行时间,并按照执行时间枚举所有下闭集;对于枚举到的下闭集,根据依赖关系图搜索图中的可被调度任务,根据可被调度任务的任务类型和依赖关系,确定可被调度任务的完成时间;在依赖关系图中标记可被调度任务的完成时间得到二维矩阵,根据二维矩阵确定通信任务与计算任务的最大化并行执行数量。
需要说明的是,前述对超大语言模型分布式预训练方法实施例的解释说明也适用于该实施例的超大语言模型分布式预训练装置,此处不再赘述。
根据本申请实施例提出的超大语言模型分布式预训练装置,可以通过对超大语言模型的通信任务与计算任务进行细粒度拆分,对通信任务与计算任务的依赖关系进行解耦,由此使得对通信任务和计算任务的切分合理化,进而提升了任务执行顺序调度的合理性,提升模型训练效率,提高训练结果可靠性;本申请实施例还可以利用任务切分后产生的依赖关系图和每个任务的执行时间作为输入,搜索最大化并行执行数量,提升了搜索效率,进而进一步提升模型训练速度,满足实际使用的需要。
图5为本申请实施例提供的电子设备的结构示意图。该电子设备可以包括:
存储器501、处理器502及存储在存储器501上并可在处理器502上运行的计算机程序。
处理器502执行程序时实现上述实施例中提供的超大语言模型分布式预训练方法。
进一步地,电子设备还包括:
通信接口503,用于存储器501和处理器502之间的通信。
存储器501,用于存放可在处理器502上运行的计算机程序。
存储器501可能包含高速RAM(Random Access Memory,随机存取存储器)存储器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
如果存储器501、处理器502和通信接口503独立实现,则通信接口503、存储器501和处理器502可以通过总线相互连接并完成相互间的通信。总线可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral Component,外部设备互连)总线或EISA(Extended Industry Standard Architecture,扩展工业标准体系结构)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器501、处理器502及通信接口503,集成在一块芯片上实现,则存储器501、处理器502及通信接口503可以通过内部接口完成相互间的通信。
处理器502可能是一个CPU(Central Processing Unit,中央处理器),或者是ASIC(Application Specific Integrated Circuit,特定集成电路),或者是被配置成实施本申请实施例的一个或多个集成电路。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上的超大语言模型分布式预训练方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不是必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或N个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“N个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更N个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,N个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列,现场可编程门阵列等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

Claims (12)

1.一种超大语言模型分布式预训练方法,其特征在于,包括以下步骤:
拆分超大语言模型的通信任务与计算任务;
构建所述通信任务与所述计算任务之间的依赖关系图;
以最大化并行执行所述通信任务与所述计算任务为搜索目标,根据所述依赖关系图和任务执行时间搜索最大化并行执行数量,调度所述最大化并行执行数量的所述通信任务与所述计算任务对所述超大语言模型进行预训练。
2.根据权利要求1所述的超大语言模型分布式预训练方法,其特征在于,所述拆分超大语言模型的通信任务与计算任务,包括:
获取所述超大语言模型的输入与输出张量的文本序列维度和特征维度;
根据所述文本序列维度和所述特征维度拆分超大语言模型的通信任务与计算任务。
3.根据权利要求2所述的超大语言模型分布式预训练方法,其特征在于,所述根据所述文本序列维度和所述特征维度拆分超大语言模型的通信任务与计算任务,包括:
将所述文本序列维度和所述特征维度分别切分成第一数量和第二数量;
对于所述超大语言模型的计算任务,将所述超大语言模型的线性层和线性层的计算任务均的拆分为第一数量与第二数量的乘积个计算子任务,将层正则化层的计算任务拆分为第一数量个计算子任务,将多头注意力层的计算任务拆分为第二数量个计算子任务;
对于所述超大语言模型的通信任务,将所述线性层到所述层正则化层的第一通信任务拆分为第一数量个通信子任务,将所述层正则化层到所述线性层的第二通信任务拆分为第一数量与第二数量的乘积个子任务。
4.根据权利要求1所述的超大语言模型分布式预训练方法,其特征在于,所述构建所述通信任务与所述计算任务之间的依赖关系图,包括:
获取所述计算任务中计算子任务之间的第一依赖关系;
获取所述通信任务和所述计算任务之间的第二依赖关系;
根据所述第一依赖关系和所述第二依赖关系构建所述依赖关系图。
5.根据权利要求1所述的超大语言模型分布式预训练方法,其特征在于,所述根据所述依赖关系图和任务执行时间搜索最大化并行执行数量,包括:
搜索所述依赖关系图中所有通信任务与计算任务的最短完成时间;
构建所述最短完成时间的下闭集,利用最小堆返回存储在堆中执行时间最短的下闭集和对应的执行时间,并按照所述执行时间枚举所有下闭集;
对于枚举到的下闭集,根据所述依赖关系图搜索图中的可被调度任务,根据所述可被调度任务的任务类型和依赖关系,确定所述可被调度任务的完成时间;
在所述依赖关系图中标记所述可被调度任务的完成时间得到二维矩阵,根据所述二维矩阵确定所述通信任务与所述计算任务的最大化并行执行数量。
6.一种超大语言模型分布式预训练装置,其特征在于,包括:
拆分模块,用于拆分超大语言模型的通信任务与计算任务;
构建模块,用于构建所述通信任务与所述计算任务之间的依赖关系图;
训练模块,用于以最大化并行执行所述通信任务与所述计算任务为搜索目标,根据所述依赖关系图和任务执行时间搜索最大化并行执行数量,调度所述最大化并行执行数量的所述通信任务与所述计算任务对所述超大语言模型进行预训练。
7.根据权利要求6所述的超大语言模型分布式预训练装置,其特征在于,所述拆分模块进一步用于:
获取所述超大语言模型的输入与输出张量的文本序列维度和特征维度;
根据所述文本序列维度和所述特征维度拆分超大语言模型的通信任务与计算任务。
8.根据权利要求7所述的超大语言模型分布式预训练装置,其特征在于,所述拆分模块进一步用于:
将所述文本序列维度和所述特征维度分别切分成第一数量和第二数量;
对于所述超大语言模型的计算任务,将所述超大语言模型的线性层和线性层的计算任务均的拆分为第一数量与第二数量的乘积个计算子任务,将层正则化层的计算任务拆分为第一数量个计算子任务,将多头注意力层的计算任务拆分为第二数量个计算子任务;
对于所述超大语言模型的通信任务,将所述线性层到所述层正则化层的第一通信任务拆分为第一数量个通信子任务,将所述层正则化层到所述线性层的第二通信任务拆分为第一数量与第二数量的乘积个子任务。
9.根据权利要求6所述的超大语言模型分布式预训练装置,其特征在于,所述构建模块进一步用于:
获取所述计算任务中计算子任务之间的第一依赖关系;
获取所述通信任务和所述计算任务之间的第二依赖关系;
根据所述第一依赖关系和所述第二依赖关系构建所述依赖关系图。
10.根据权利要求6所述的超大语言模型分布式预训练装置,其特征在于,所述训练模块进一步用于:
搜索所述依赖关系图中所有通信任务与计算任务的最短完成时间;
构建所述最短完成时间的下闭集,利用最小堆返回存储在堆中执行时间最短的下闭集和对应的执行时间,并按照所述执行时间枚举所有下闭集;
对于枚举到的下闭集,根据所述依赖关系图搜索图中的可被调度任务,根据所述可被调度任务的任务类型和依赖关系,确定所述可被调度任务的完成时间;
在所述依赖关系图中标记所述可被调度任务的完成时间得到二维矩阵,根据所述二维矩阵确定所述通信任务与所述计算任务的最大化并行执行数量。
11.一种电子设备,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序,以实现如权利要求1-5任一项所述的超大语言模型分布式预训练方法。
12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行,以用于实现如权利要求1-5任一项所述的超大语言模型分布式预训练方法。
CN202310833617.0A 2023-07-07 2023-07-07 超大语言模型分布式预训练方法、装置、设备及介质 Active CN116860999B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310833617.0A CN116860999B (zh) 2023-07-07 2023-07-07 超大语言模型分布式预训练方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310833617.0A CN116860999B (zh) 2023-07-07 2023-07-07 超大语言模型分布式预训练方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN116860999A true CN116860999A (zh) 2023-10-10
CN116860999B CN116860999B (zh) 2024-04-19

Family

ID=88226502

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310833617.0A Active CN116860999B (zh) 2023-07-07 2023-07-07 超大语言模型分布式预训练方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116860999B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117057411A (zh) * 2023-10-11 2023-11-14 北京燧原智能科技有限公司 一种大语言模型训练方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507101A (zh) * 2020-12-18 2021-03-16 北京百度网讯科技有限公司 一种建立预训练语言模型的方法和装置
CN113434269A (zh) * 2021-06-10 2021-09-24 湖南天河国云科技有限公司 基于区块链的分布式隐私计算方法及装置
CN114840322A (zh) * 2022-05-17 2022-08-02 北京百度网讯科技有限公司 任务调度方法及装置、电子设备和存储
CN115543639A (zh) * 2022-12-01 2022-12-30 阿里云计算有限公司 分布式执行深度学习任务的优化方法和分布式系统
WO2023274059A1 (zh) * 2021-06-29 2023-01-05 任立椋 交替序列生成模型训练方法、从文本中抽取图的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112507101A (zh) * 2020-12-18 2021-03-16 北京百度网讯科技有限公司 一种建立预训练语言模型的方法和装置
CN113434269A (zh) * 2021-06-10 2021-09-24 湖南天河国云科技有限公司 基于区块链的分布式隐私计算方法及装置
WO2023274059A1 (zh) * 2021-06-29 2023-01-05 任立椋 交替序列生成模型训练方法、从文本中抽取图的方法
CN114840322A (zh) * 2022-05-17 2022-08-02 北京百度网讯科技有限公司 任务调度方法及装置、电子设备和存储
CN115543639A (zh) * 2022-12-01 2022-12-30 阿里云计算有限公司 分布式执行深度学习任务的优化方法和分布式系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
温潇: "分布式表示与组合模型在中文自然语言处理中的应用", 中国优秀硕士学位论文全文数据库信息科技辑, 31 March 2017 (2017-03-31), pages 138 - 6237 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117057411A (zh) * 2023-10-11 2023-11-14 北京燧原智能科技有限公司 一种大语言模型训练方法、装置、设备及存储介质
CN117057411B (zh) * 2023-10-11 2024-01-09 北京燧原智能科技有限公司 一种大语言模型训练方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN116860999B (zh) 2024-04-19

Similar Documents

Publication Publication Date Title
US20220391665A1 (en) Method for splitting neural network model by using multi-core processor, and related product
CN116860999B (zh) 超大语言模型分布式预训练方法、装置、设备及介质
US20200387772A1 (en) Data processing method and device
CN110689121A (zh) 一种用多核处理器实现神经网络模型拆分方法及相关产品
Hryniów et al. Parallel digraphs-building algorithm for polynomial realisations
WO2023082575A1 (zh) 一种面向神经网络模型计算的图执行流水并行方法和装置
CN112711478A (zh) 基于神经网络的任务处理方法、装置、服务器和存储介质
CN110717574A (zh) 一种神经网络运行方法、装置及异构智能芯片
CN111399911B (zh) 一种基于多核异构计算的人工智能开发方法及装置
Dai et al. ModEnPBT: a modified backtracking ensemble pruning algorithm
CN114860412A (zh) 任务处理方法、装置、电子设备和介质
US11481604B2 (en) Apparatus and method for neural network processing
CN113407343A (zh) 一种基于资源分配的业务处理方法、装置及设备
Lee et al. Scheduling analysis of FMS: An unfolding timed Petri nets approach
CN115345285B (zh) 基于gpu的时序图神经网络训练方法、系统及电子设备
CN109977497B (zh) 基于cpu加速通用雷达信号处理流程的并行方法
Nagy et al. Computations with uncertain time constraints: effects on parallelism and universality
US20240004702A1 (en) Thread construction method and device
Nguyen et al. An implementation of membrane computing using reconfigurable hardware
US11231961B2 (en) Scheduling operations
CN114021733A (zh) 模型训练优化方法、装置、计算机设备及存储介质
CN110096308B (zh) 一种并行存储运算装置及其方法
CN112712174B (zh) 全频域卷积神经网络的硬件加速器、加速方法和图像分类方法
CN110929857B (zh) 一种神经网络的数据处理方法和装置
CN112749799B (zh) 基于自适应ReLU的全频域卷积神经网络的硬件加速器、加速方法和图像分类方法

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