CN115481730A - 一种注意力机制模型训练方法、装置、终端及存储介质 - Google Patents

一种注意力机制模型训练方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN115481730A
CN115481730A CN202211143030.9A CN202211143030A CN115481730A CN 115481730 A CN115481730 A CN 115481730A CN 202211143030 A CN202211143030 A CN 202211143030A CN 115481730 A CN115481730 A CN 115481730A
Authority
CN
China
Prior art keywords
model
training
parallel
trained
data
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
CN202211143030.9A
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.)
Peng Cheng Laboratory
Original Assignee
Peng Cheng Laboratory
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 Peng Cheng Laboratory filed Critical Peng Cheng Laboratory
Priority to CN202211143030.9A priority Critical patent/CN115481730A/zh
Publication of CN115481730A publication Critical patent/CN115481730A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种注意力机制模型训练方法、装置、终端及存储介质,包括:获取配置文件,根据配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略;根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据;调用全局自扩展模型并行算法,根据得到的训练数据、分配的并行训练策略及配置文件中的模型参数对各待训练模型进行并行训练,得到各待训练模型的训练结果。本发明实现了可自动伸缩的强扩展策略,框架可根据用户使用的模型,数据量大小自动扩展并行规模并修改矩阵切分维度,提高了注意力机制模型并行训练的效率。

Description

一种注意力机制模型训练方法、装置、终端及存储介质
技术领域
本发明涉及深度学习技术领域,尤其涉及的是一种注意力机制模型训练方法、装置、终端及存储介质。
背景技术
注意力机制模型是当前深度学习与科学智能领域的一种流行架构。它抛弃了传统的CNN和RNN结构,通过引入注意力机制的方式对序列型数据进行建模,有效捕捉序列中长距离相互依赖的特征。例如,在自然语言处理任务中,注意力机制可以更好的捕获同一句子中单词间的相关性与语义特征。这使得其在机器翻译,内容预测等典型任务中均取得了突出成果。随着视觉注意力机制模型的提出,注意力机制模型在图像分类,目标检测等计算机视觉任务中同样取得了良好的成果,甚至在部分任务中的表现超过了传统的卷积神经网络。近年来,科学智能作为一个热门课题,在学术与工业界掀起新的浪潮。基于注意力机制架构的Alphafold2解决了困扰业内科学家半世纪的蛋白质折叠问题,为生物学研究指明了新方向。
然而,科学进程的发展带来了更复杂的需求与海量多模态的复杂数据。这导致了注意力机制模型需要十亿甚至百亿级的参数量以解决复杂的数据密集型任务。为应对庞大的参数量与TB级的数据处理需求需要高性能并行训练框架在保证模型精度的前提下,提升训练速度。
传统注意力机制模型并行框架主要基于数据并行和模型并行方式实现。数据并行通过数据分发的方式,将大规模数据分发到各个节点分别训练,改善海量数据单节点无法容纳的问题。模型并行通过对模型参数进行切分,将庞大的模型参数量分散到多节点处理,并在最后聚合参数。然而,传统模型并行方法由于对模型切分粒度较粗,导致节点间通信时依然需要传输大量的数据,存在较大的通信开销。同时,由于每个节点需要处理庞大的接收数据量,外部存储与内存间的反复协调降低了架构整体的I/O性能。另一方面,传统并行框架无法根据负载参数及数据规模进行自动扩展,整体调试耗时耗力,大大降低了模型训练效率并阻碍研究进展。
因此,现有技术还有待改进。
发明内容
本发明要解决的技术问题在于,针对现有技术缺陷,本发明提供一种注意力机制模型训练方法、装置、终端及存储介质,以解决传统注意力机制模型并行训练方式效率低的技术问题。
本发明解决技术问题所采用的技术方案如下:
第一方面,本发明提供一种注意力机制模型训练方法,包括:
获取配置文件,根据所述配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略;
根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载所述配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据;
调用全局自扩展模型并行算法,根据得到的训练数据、分配的并行训练策略及所述配置文件中的模型参数对各待训练模型进行并行训练,得到各待训练模型的训练结果。
在一种实现方式中,所述获取配置文件,根据所述配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略,之前包括:
根据配置信息创建配置文件;
其中,所述配置信息包括:模型基本信息、优化器信息、损失函数、数据批大小、训练轮数、节点信息以及数据位置中的一种或组合。
在一种实现方式中,所述获取配置文件,根据所述配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略,包括:
获取所述配置文件;
根据所述配置文件识别各待训练模型对应的规模,并根据所识别的规模分配对应的节点数、参与分布式计算的GPU数以及输入和参数矩阵的切分策略。
在一种实现方式中,所述根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载所述配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据,包括:
加载各待训练模型对应的并行训练策略,根据所述并行训练策略及对应的模型参数进行数据并行处理;
加载所述配置文件中对应的数据存储位置,并将存储的数据按照批量大小依次分发到多个GPU上,得到各待训练模型对应的训练数据。
在一种实现方式中,所述调用全局自扩展模型并行算法,根据得到的训练数据、分配的并行训练策略及所述配置文件中的模型参数对各待训练模型进行并行训练,得到各待训练模型的训练结果,包括:
调用所述全局自扩展模型并行算法;
根据分配的并行训练策略及所述配置文件中的模型参数,在参与计算的GPU组中初始化对应大小的参数矩阵;
使用各待训练模型对应的训练数据及参数矩阵,执行所述全局自扩展模型并行算法,对各待训练模型进行并行训练,得到输出结果;
根据所述输出结果,得到各待训练模型的训练结果。
在一种实现方式中,所述根据所述输出结果,得到各待训练模型的训练结果,包括:
在每块GPU上完成计算后,进行全局唯一的数据同步操作,聚合所有GPU上的计算结果进行组合,得到组合结果;
计算损失函数与梯度,并进行反向传播,优化损失直到收敛,得到各训练后的模型。
在一种实现方式中,所述使用各待训练模型对应的训练数据及参数矩阵,执行所述全局自扩展模型并行算法,对各待训练模型进行并行训练,得到输出结果,包括:
通过读入的配置信息[m,n,d],获取切分维度;
根据所述切分维度将输入的训练数据矩阵切分为m*n份,将参数矩阵切分为n*d份;
执行所述全局自扩展模型并行算法,获得存放在对应GPU上的中间结果矩阵。
在一种实现方式中,所述使用各待训练模型对应的训练数据及参数矩阵,执行所述全局自扩展模型并行算法,对各待训练模型进行并行训练,得到输出结果,还包括:
根据输入的训练数据矩阵和参数矩阵,进行线性层切分流程,获得Q,K,V矩阵;
根据注意力计算机制,对获得的Q,K,V矩阵进行矩阵乘操作。
在一种实现方式中,所述矩阵乘操作的公式为:
Figure BDA0003854471970000041
Figure BDA0003854471970000042
其中,dk为常数,代表K矩阵的维度,Q,K,V为矩阵,softmax为激活函数。
在一种实现方式中,所述根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载所述配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据,之前还包括:
根据自定义的注意力机制模型参数,配置默认并行训练策略。
第二方面,本发明提供一种注意力机制模型训练装置,包括:
策略分配模块,用于获取配置文件,根据所述配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略;
并行数据模块,用于根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载所述配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据;
并行训练模块,用于调用全局自扩展模型并行算法,根据得到的训练数据、分配的并行训练策略及所述配置文件中的模型参数对各待训练模型进行并行训练,得到各待训练模型的训练结果。
第三方面,本发明提供一种终端,包括:处理器以及存储器,所述存储器存储有注意力机制模型训练程序,所述注意力机制模型训练程序被所述处理器执行时用于实现如第一方面所述的注意力机制模型训练方法的操作。
第四方面,本发明还提供一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有注意力机制模型训练程序,所述注意力机制模型训练程序被处理器执行时用于实现如第一方面所述的注意力机制模型训练方法的操作。
本发明采用上述技术方案具有以下效果:
本发明通过配置文件识别各待训练模型的模型规模,可以向各待训练模型分配对应的并行训练策略,优化各待训练模型的训练方式;并且,通过分配的并行训练策略及对应的模型参数进行数据并行处理,加载配置文件中对应的数据存储位置,可以得到各待训练模型对应的训练数据,实现多个待训练模型训练数据并行处理;以及通过调用全局自扩展模型并行算法,可以根据得到的训练数据、分配的并行训练策略及配置文件中的模型参数对多个待训练模型进行并行训练,得到各待训练模型的训练结果。本发明实现了可自动伸缩的强扩展策略,框架可根据用户使用的模型,数据量大小自动扩展并行规模并修改矩阵切分维度,提高了注意力机制模型并行训练的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图示出的结构获得其他的附图。
图1是本发明的一种实现方式中注意力机制模型训练方法的流程图。
图2是本发明的一种实现方式中全局自扩展模型并行算法原理示意图。
图3是本发明的一种实现方式中可扩展通用矩阵乘算法原理示意图。
图4是本发明的一种实现方式中全局自扩展模型并行算法在注意力机制模型中的应用示意图。
图5是本发明的一种实现方式中基于注意力机制的模型并行训练框架的流程示意图。
图6是本发明的一种实现方式中可伸缩强扩展参数配置示意图。
图7是本发明的一种实现方式中终端的功能原理图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
示例性方法
传统注意力机制模型并行框架主要基于数据并行和模型并行方式实现。数据并行通过数据分发的方式,将大规模数据分发到各个节点分别训练,改善海量数据单节点无法容纳的问题。模型并行通过对模型参数进行切分,将庞大的模型参数量分散到多节点处理,并在最后聚合参数。然而,传统模型并行方法由于对模型切分粒度较粗,导致节点间通信时依然需要传输大量的数据,存在较大的通信开销。同时,由于每个节点需要处理庞大的接收数据量,外部存储与内存间的反复协调降低了架构整体的I/O性能。另一方面,传统并行框架无法根据负载参数及数据规模进行自动扩展,整体调试耗时耗力,大大降低了模型训练效率。
针对上述技术问题,本实施例中提供了一种注意力机制模型训练方法,本实施例中实现了可自动伸缩的强扩展策略,框架可根据用户使用的模型,数据量大小自动扩展并行规模并修改矩阵切分维度,提高了注意力机制模型并行训练的效率。
如图1所示,本发明实施例提供一种注意力机制模型训练方法,包括以下步骤:
步骤S100,获取配置文件,根据所述配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略。
在本实施例中,该注意力机制模型训练方法应用于终端上,该终端包括但不限于:计算机等设备;所述终端设置有面向注意力机制模型的自动高效可伸缩并行训练框架,该训练框架可同时对多个注意力机制模型进行训练,并可实现可自动伸缩的强扩展策略,以及可以根据用户使用的模型,数据量大小自动扩展并行规模并修改矩阵切分维度,从而提高了注意力机制模型并行训练的效率。
在本实施例中,核心算法为全局自扩展模型并行算法,该核心算法基于分块矩阵乘法法则实现,即将原始矩阵横纵切分后产生的子矩阵对位相乘并将结果聚合,聚合后的结果矩阵与原始矩阵乘结果一致。由于注意力机制模型的核心计算由传统矩阵乘法组成,因此,本实施例中基于分块矩阵乘法法则可有效适配该算法。
具体地,在本实施例的一种实现方式中,步骤S100之前包括以下步骤:
步骤S101a,根据配置信息创建配置文件。
在本实施例中,在实施所述注意力机制模型训练方法之前,需要根据配置信息创建并行训练过程中所需要的配置文件;其中,所述配置信息为用户在各节点输入的训练配置信息,所述配置信息包括:模型基本信息、优化器信息、损失函数、数据批大小、训练轮数、节点信息以及数据位置中的一种或组合。
在创建配置文件时,所述模型基本信息包括:模型深度、序列长度、词表大小、隐藏维度以及注意力头数中的一种或组合;所述优化器信息包括:优化函数类型以及学习率等信息;另外,该配置文件除上述格式及参数外,还支持用户自定义参数。
在本实施例中,在创建配置文件后,在实施所述注意力机制模型训练方法的过程中,用户可以通过SSH协议与工作节点通信,并传输所生成的配置文件。
具体地,在本实施例的一种实现方式中,步骤S100包括以下步骤:
步骤S101,获取所述配置文件;
步骤S102,根据所述配置文件识别各待训练模型对应的规模,并根据所识别的规模分配对应的节点数、参与分布式计算的GPU数以及输入和参数矩阵的切分策略。
在本实施例中,并行训练系统根据配置文件参数,可以识别各待训练模型对应的模型规模,并自动为模型分配并行训练策略;其中,所分配的并行训练策略则根据模型所需要使用的节点数、参与分布式计算的GPU数以及输入和参数矩阵的切分方案确定,即并行训练策略包括:使用的节点数,参与分布式计算的GPU数以及输入和参数矩阵的切分方案。
例如,根据配置文件中的模型参数,可以确定模型A的模型规模(即训练计算量)大于模型B的模型规模,则模型A的使用的节点数、参与分布式计算的GPU数均大于模型B;对应地,模型A的输入和参数矩阵的切分数量也是大于模型B。
在本实施例中,在给各待训练模型分配对应的节点数、参与分布式计算的GPU数以及输入和参数矩阵的切分策略后,即可按照配置文件中的对应超参数进行训练。
如图1所示,在本发明实施例的一种实现方式中,注意力机制模型训练方法还包括以下步骤:
步骤S200,根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载所述配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据。
在本实施例中,在分配并行训练策略后,即可加载所分配的并行训练策略;然后,根据加载的并行训练策略与模型参数信息进行训练,训练阶段首先进行数据并行,加载配置文件中的数据存储位置,将数据按照批大小分发至多个GPU上,作为后续计算阶段的训练数据。
具体地,在本实施例的一种实现方式中,步骤S200包括以下步骤:
步骤S201,加载各待训练模型对应的并行训练策略,根据所述并行训练策略及对应的模型参数进行数据并行处理;
步骤S202,加载所述配置文件中对应的数据存储位置,并将存储的数据按照批量大小依次分发到多个GPU上,得到各待训练模型对应的训练数据。
在本实施例中,在加载为各待训练模型分配的并行训练策略后,对于每个待训练模型,可以根据其并行训练策略及对应的模型参数进行数据并行处理;其中,所述模型参数可以从配置文件中获取。
对于每个待训练模型,在数据并行处理的过程中,先加载该待训练模型在配置文件中对应的数据存储位置,然后,将存储的数据按照批量大小依次分发到多个GPU上,得到该待训练模型对应的训练数据;其中,多个GPU为该待训练模型的并行训练策略所确定的GPU。
对于其他待训练模型,则采取相同的操作,并得到其对应的训练数据;如此,即可得到各待训练模型对应的训练数据。
如图1所示,在本发明实施例的一种实现方式中,注意力机制模型训练方法还包括以下步骤:
步骤S300,调用全局自扩展模型并行算法,根据得到的训练数据、分配的并行训练策略及所述配置文件中的模型参数对各待训练模型进行并行训练,得到各待训练模型的训练结果。
在本实施例中,对于每个待训练模型,完成训练数据获取后,进入模型并行阶段,作为本实施例中的框架的核心,模型并行主要调用全局自扩展模型并行算法,并基于该全局自扩展模型并行算法进行计算;在计算的过程中,基于所获得的并行训练策略和配置文件中的模型参数,在参与计算的GPU组中初始化对应大小的参数矩阵。使用输入数据(即训练数据)与参数矩阵执行全局自扩展模型并行算法,即可输出计算结果。
在本实施例中,对于每个待训练模型,全局自扩展模型并行算法主要通过对其输入矩阵(即训练数据)和参数矩阵进行横纵切分处理,并调用可扩展矩阵乘通信算法将对应切片分发到多节点GPU进行分布式计算。
得益于分块矩阵乘法性质,该过程可连续并行,仅需在模型最后对各GPU的最终结果进行唯一一次all-gather操作(即数据同步)。相比于传统方法需要反复进行all-reduce操作,大大减少通信开销;而且,由于切分粒度较细大幅减少了通信数据量,优化通信带宽占用。同时,由于节点需要处理的接收数据量较少,无需调用外部存储,使得整体框架的I/O性能大幅提升。
具体地,在本实施例的一种实现方式中,步骤S300包括以下步骤:
步骤S301,调用所述全局自扩展模型并行算法;
步骤S302,根据分配的并行训练策略及所述配置文件中的模型参数,在参与计算的GPU组中初始化对应大小的参数矩阵;
步骤S303,使用各待训练模型对应的训练数据及参数矩阵,执行所述全局自扩展模型并行算法,对各待训练模型进行并行训练,得到输出结果;
步骤S304,根据所述输出结果,得到各待训练模型的训练结果。
在本实施例中,如图2所示,根据全局自扩展模型并行算法的算法伪代码,可以得知,可扩展通用矩阵乘算法作为全局自扩展模型并行算法的核心通信算法。
如图3所示,通过各处理器收集来自同一行处理器中A矩阵子块的所有列和同一列处理器中B矩阵子块的所有行,然后将行列相乘后累加,形成一个C矩阵的分块矩阵。最后由rank=0的处理器将其他处理器的数据收集起来,形成最终的矩阵C。
举例来说,使用全局自扩展模型并行算法对矩阵A与矩阵B进行矩阵乘运算,首先将A切分为m行n列,B切分为n行d列,使用p块处理器(GPU),切分需满足p=m*d,并且n<=d,此处以m=n=d=2,使用4块处理器为例进行说明:
Figure BDA0003854471970000101
Figure BDA0003854471970000102
首先将对应子矩阵初始化到对应rank的GPU,将A子矩阵横向广播,B子矩阵纵向广播,并分别求和以构造传统矩阵乘求和公式,可得到:
Figure BDA0003854471970000103
使用all-gather操作将各GPU上矩阵求和结果聚合,即可得到最终结果。
具体地,在本实施例的一种实现方式中,步骤S303包括以下步骤:
步骤S303a,通过读入的配置信息[m,n,d],获取切分维度;
步骤S303b,根据所述切分维度将输入的训练数据矩阵切分为m*n份,将参数矩阵切分为n*d份;
步骤S303c,执行所述全局自扩展模型并行算法,获得存放在对应GPU上的中间结果矩阵。
在本实施例中,如图4所示,全局自扩展模型并行算法在注意力机制模型中的应用过程中的运行原理;传统注意力机制模型的核心骨架包括:多头注意力层(multihead-attention)与前馈神经网络(feed forward)。
如图4所示,图4中a展示了前馈神经网络中算法的运行流程。前馈神经网络由两个连续的线性层组成,具体即两步连续的矩阵乘操作。首先通过读入配置信息[m,n,d],获取切分维度,将输入数据矩阵(即训练数据)切分为m*n份,将参数矩阵切分为n*d份;然后,再调用全局自扩展模型并行算法,获得存放在对应GPU上的中间结果矩阵。最后,仅需将下一层的参数子矩阵广播至对应GPU即可进行下一次运算,反复迭代直至算出最终结果,除最终结果外,训练全程无需进行任何聚合操作。此流程适用于所有线性层计算。
具体地,在本实施例的一种实现方式中,步骤S303还包括以下步骤:
步骤S303d,根据输入的训练数据矩阵和参数矩阵,进行线性层切分流程,获得Q,K,V矩阵;
步骤S303e,根据注意力计算机制,对获得的Q,K,V矩阵进行矩阵乘操作。
在本实施例中,如图4所示,图4中b展示了多头注意力层中算法的运行流程。与线性层唯一的不同之处,在于注意力部分的计算。需要重复三次线性层切分流程以获得Q,K,V矩阵,这三个矩阵的获取方式均为输入数据与参数矩阵的常规矩阵乘法。获取之后依据注意力计算机制,对其进行矩阵乘;其中,所述矩阵乘操作的公式为:
Figure BDA0003854471970000111
Figure BDA0003854471970000112
其中,dk为常数,代表K矩阵的维度,Q,K,V为矩阵,softmax为激活函数。
具体地,在本实施例的一种实现方式中,步骤S304包括以下步骤:
步骤S304a,在每块GPU上完成计算后,进行全局唯一的数据同步操作,聚合所有GPU上的计算结果进行组合,得到组合结果;
步骤S304b,计算损失函数与梯度,并进行反向传播,优化损失直到收敛,得到各训练后的模型。
在本实施例中,在每块GPU上完成计算后,进行全局唯一一次all-gather操作,聚合所有GPU上的计算结果进行组合获取最终结果,计算损失函数与梯度,并进行反向传播,优化损失直到收敛。如图5所示,图5中多层感知机主要代指线性层,包含前馈神经网络及其他类型线性层,具体信息依据任务内容而定。
在本实施例中,在系统层面,本实施例中实现了可自动伸缩的强扩展策略,框架可根据用户使用的模型,数据量大小自动扩展并行规模并修改矩阵切分维度。同时,也支持用户的高自由度定制化并行方案,在满足框架核心并行法则的前提下,用户可以自由定义矩阵切分维度以适应不同类型的问题。
具体地,本实施例中根据注意力机制模型参数的不同定义了默认的并行方案包括使用节点数,GPU数,矩阵切分策略等。当框架获取了用户自定义的模型参数时,将自动加载对应的默认并行策略以实现可伸缩模型并行。
配置信息与计算方法如图6所示,以单节点4张GPU为基准,随着卡数递增数据批大小翻倍,模型深度加4,输入向量维度与注意力头数相关联均为GPU数每乘以4,数量提升一倍。并行配置代表数据与参数矩阵的切分方案,即将数据矩阵切分为m*q份,参数矩阵切分为q*d份,m*d与GPU数量相等。上述参数可由用户自定义,并行配置仅需满足m*d=GPU数,q<=d的规则即可,支持奇数切分,为用户提供了可定制化的高自由度,可适用于不同类型的负载问题。
相比于传统的注意力机制模型的训练方式,本实施例中框架的核心改进点为提出面向注意力机制模型的新型并行训练框架,通过可扩展矩阵乘算法建立了全新的通信机制,以广播操作替代了传统方法反复进行all-reduce(聚集求和)的机制,减少通信开销,保证有限带宽状态下模型的高性能训练及推理;而且,本实施例中的框架远高于传统方法的细粒度切分带来了更高的并行度与可扩展性。传统方法只能将数据和参数矩阵按行或列进行一维切分,而本实施例中的框架则是同时对矩阵行列进行多维切分。更细化的切分粒度有效优化了并行度和可扩展性。
再者,本实施例中的框架的细粒度切分方案有效降低了通信开销。更细粒度的切分导致进行通信的数据与参数切片更小,这显著降低了通信数据量,大幅减少通信带宽占用并优化I/O墙;同时,可依据模型规模进行自动伸缩并行。通过解析用户模型参数,自动加载默认并行方案,以实现各种负载规模高效分布式训练;以及具有支持用户定制化并行策略,用户可随意更改并行参数以实现不同的实验效果。同时,不同于传统模型并行切分方案需要保证矩阵维度为切片维度的整数倍,本实施例中的框架支持余数切分,提升了框架对于不同负载类型的泛化性。
值得一提的是,本实施例中的框架对于注意力机制模型具有良好的泛化性,可适用于视觉,自然语言处理以及科学任务相关的注意力机制模型训练和推理;而且,本实施例中的框架支持多种激活函数,可直接对模型切片使用而不损失精度,包括:
a)sigmoid函数:
Figure BDA0003854471970000121
b)anh函数:
Figure BDA0003854471970000122
c)ReLU函数:
Figure BDA0003854471970000123
d)SELU函数:
Figure BDA0003854471970000124
e)softmax函数:
Figure BDA0003854471970000131
为提高对不同需求的泛化性,本实施例中的框架支持高自由度的可定制化切分,仅需满足m*d=GPU数的核心原则即可;而且,本实施例中的框架有随模型规模自动缩放的特性。
本实施例通过上述技术方案达到以下技术效果:
本实施例通过配置文件识别各待训练模型的模型规模,可以向各待训练模型分配对应的并行训练策略,优化各待训练模型的训练方式;并且,通过分配的并行训练策略及对应的模型参数进行数据并行处理,加载配置文件中对应的数据存储位置,可以得到各待训练模型对应的训练数据,实现多个待训练模型训练数据并行处理;以及通过调用全局自扩展模型并行算法,可以根据得到的训练数据、分配的并行训练策略及配置文件中的模型参数对多个待训练模型进行并行训练,得到各待训练模型的训练结果。本实施例实现了可自动伸缩的强扩展策略,框架可根据用户使用的模型,数据量大小自动扩展并行规模并修改矩阵切分维度,提高了注意力机制模型并行训练的效率。
示例性设备
基于上述实施例,本发明还提供一种注意力机制模型训练装置,包括:
策略分配模块,用于获取配置文件,根据所述配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略;
并行数据模块,用于根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载所述配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据;
并行训练模块,用于调用全局自扩展模型并行算法,根据得到的训练数据、分配的并行训练策略及所述配置文件中的模型参数对各待训练模型进行并行训练,得到各待训练模型的训练结果。
基于上述实施例,本发明还提供一种终端,其原理框图可以如图7所示。
该终端包括:通过系统总线连接的处理器、存储器、接口、显示屏以及通讯模块;其中,该终端的处理器用于提供计算和控制能力;该终端的存储器包括存储介质以及内存储器;该存储介质存储有操作系统和计算机程序;该内存储器为存储介质中的操作系统和计算机程序的运行提供环境;该接口用于连接外部设备,例如,移动终端以及计算机等设备;该显示屏用于显示相应的信息;该通讯模块用于与云端服务器或移动终端进行通讯。
该计算机程序被处理器执行时用以实现一种注意力机制模型训练方法的操作。
本领域技术人员可以理解的是,图7中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端的限定,具体的终端可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种终端,其中,包括:处理器和存储器,存储器存储有注意力机制模型训练程序,注意力机制模型训练程序被处理器执行时用于实现如上的注意力机制模型训练方法的操作。
在一个实施例中,提供了一种存储介质,其中,存储介质存储有注意力机制模型训练程序,注意力机制模型训练程序被处理器执行时用于实现如上的注意力机制模型训练方法的操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。
综上,本发明提供了一种注意力机制模型训练方法、装置、终端及存储介质,方法包括:获取配置文件,根据配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略;根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据;调用全局自扩展模型并行算法,根据得到的训练数据、分配的并行训练策略及配置文件中的模型参数对各待训练模型进行并行训练,得到各待训练模型的训练结果。本发明实现了可自动伸缩的强扩展策略,框架可根据用户使用的模型,数据量大小自动扩展并行规模并修改矩阵切分维度,提高了注意力机制模型并行训练的效率。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

Claims (13)

1.一种注意力机制模型训练方法,其特征在于,包括:
获取配置文件,根据所述配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略;
根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载所述配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据;
调用全局自扩展模型并行算法,根据得到的训练数据、分配的并行训练策略及所述配置文件中的模型参数对各待训练模型进行并行训练,得到各待训练模型的训练结果。
2.根据权利要求1所述的注意力机制模型训练方法,其特征在于,所述获取配置文件,根据所述配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略,之前包括:
根据配置信息创建配置文件;
其中,所述配置信息包括:模型基本信息、优化器信息、损失函数、数据批大小、训练轮数、节点信息以及数据位置中的一种或组合。
3.根据权利要求1所述的注意力机制模型训练方法,其特征在于,所述获取配置文件,根据所述配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略,包括:
获取所述配置文件;
根据所述配置文件识别各待训练模型对应的规模,并根据所识别的规模分配对应的节点数、参与分布式计算的GPU数以及输入和参数矩阵的切分策略。
4.根据权利要求1所述的注意力机制模型训练方法,其特征在于,所述根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载所述配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据,包括:
加载各待训练模型对应的并行训练策略,根据所述并行训练策略及对应的模型参数进行数据并行处理;
加载所述配置文件中对应的数据存储位置,并将存储的数据按照批量大小依次分发到多个GPU上,得到各待训练模型对应的训练数据。
5.根据权利要求1所述的注意力机制模型训练方法,其特征在于,所述调用全局自扩展模型并行算法,根据得到的训练数据、分配的并行训练策略及所述配置文件中的模型参数对各待训练模型进行并行训练,得到各待训练模型的训练结果,包括:
调用所述全局自扩展模型并行算法;
根据分配的并行训练策略及所述配置文件中的模型参数,在参与计算的GPU组中初始化对应大小的参数矩阵;
使用各待训练模型对应的训练数据及参数矩阵,执行所述全局自扩展模型并行算法,对各待训练模型进行并行训练,得到输出结果;
根据所述输出结果,得到各待训练模型的训练结果。
6.根据权利要求5所述的注意力机制模型训练方法,其特征在于,所述根据所述输出结果,得到各待训练模型的训练结果,包括:
在每块GPU上完成计算后,进行全局唯一的数据同步操作,聚合所有GPU上的计算结果进行组合,得到组合结果;
计算损失函数与梯度,并进行反向传播,优化损失直到收敛,得到各训练后的模型。
7.根据权利要求5所述的注意力机制模型训练方法,其特征在于,所述使用各待训练模型对应的训练数据及参数矩阵,执行所述全局自扩展模型并行算法,对各待训练模型进行并行训练,得到输出结果,包括:
通过读入的配置信息[m,n,d],获取切分维度;
根据所述切分维度将输入的训练数据矩阵切分为m*n份,将参数矩阵切分为n*d份;
执行所述全局自扩展模型并行算法,获得存放在对应GPU上的中间结果矩阵。
8.根据权利要求5所述的注意力机制模型训练方法,其特征在于,所述使用各待训练模型对应的训练数据及参数矩阵,执行所述全局自扩展模型并行算法,对各待训练模型进行并行训练,得到输出结果,还包括:
根据输入的训练数据矩阵和参数矩阵,进行线性层切分流程,获得Q,K,V矩阵;
根据注意力计算机制,对获得的Q,K,V矩阵进行矩阵乘操作。
9.根据权利要求8所述的注意力机制模型训练方法,其特征在于,所述矩阵乘操作的公式为:
Figure FDA0003854471960000031
Figure FDA0003854471960000032
其中,dk为常数,代表K矩阵的维度,Q,K,V为矩阵,softmax为激活函数。
10.根据权利要求1所述的注意力机制模型训练方法,其特征在于,所述根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载所述配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据,之前还包括:
根据自定义的注意力机制模型参数,配置默认并行训练策略。
11.一种注意力机制模型训练装置,其特征在于,包括:
策略分配模块,用于获取配置文件,根据所述配置文件识别各待训练模型,并向各待训练模型分配对应的并行训练策略;
并行数据模块,用于根据分配的并行训练策略及对应的模型参数进行数据并行处理,加载所述配置文件中对应的数据存储位置,得到各待训练模型对应的训练数据;
并行训练模块,用于调用全局自扩展模型并行算法,根据得到的训练数据、分配的并行训练策略及所述配置文件中的模型参数对各待训练模型进行并行训练,得到各待训练模型的训练结果。
12.一种终端,其特征在于,包括:处理器以及存储器,所述存储器存储有注意力机制模型训练程序,所述注意力机制模型训练程序被所述处理器执行时用于实现如权利要求1-10中任意一项所述的注意力机制模型训练方法的操作。
13.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述存储介质存储有注意力机制模型训练程序,所述注意力机制模型训练程序被处理器执行时用于实现如权利要求1-10中任意一项所述的注意力机制模型训练方法的操作。
CN202211143030.9A 2022-09-20 2022-09-20 一种注意力机制模型训练方法、装置、终端及存储介质 Pending CN115481730A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211143030.9A CN115481730A (zh) 2022-09-20 2022-09-20 一种注意力机制模型训练方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211143030.9A CN115481730A (zh) 2022-09-20 2022-09-20 一种注意力机制模型训练方法、装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN115481730A true CN115481730A (zh) 2022-12-16

Family

ID=84423937

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211143030.9A Pending CN115481730A (zh) 2022-09-20 2022-09-20 一种注意力机制模型训练方法、装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN115481730A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115920192A (zh) * 2023-02-06 2023-04-07 西南医科大学附属医院 专注力分配能力训练系统、运行方法及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115920192A (zh) * 2023-02-06 2023-04-07 西南医科大学附属医院 专注力分配能力训练系统、运行方法及存储介质
CN115920192B (zh) * 2023-02-06 2023-05-09 西南医科大学附属医院 专注力分配能力训练系统、运行方法及存储介质

Similar Documents

Publication Publication Date Title
EP4036724A1 (en) Method for splitting neural network model by using multi-core processor, and related product
WO2021190127A1 (zh) 一种数据处理方法和数据处理设备
US11194549B2 (en) Matrix multiplication system, apparatus and method
CN111401406B (zh) 一种神经网络训练方法、视频帧处理方法以及相关设备
WO2020073211A1 (zh) 运算加速器、处理方法及相关设备
CN110175628A (zh) 一种基于自动搜索与知识蒸馏的神经网络剪枝的压缩算法
EP3979143A1 (en) Method of performing splitting in neural network model by means of multi-core processor, and related product
US20230026006A1 (en) Convolution computation engine, artificial intelligence chip, and data processing method
US11755367B2 (en) Scheduling operations on a computation graph
CN115659281B (zh) 一种自适应加速算子融合的方法及装置
Patel et al. A hybrid CNN-LSTM model for predicting server load in cloud computing
CN112633490B (zh) 执行神经网络模型的数据处理装置、方法及相关产品
CN111898698B (zh) 对象的处理方法及装置、存储介质和电子设备
US20220114313A1 (en) Method and apparatus for determining quantum circuit, and storage medium
CN114035936A (zh) 一种基于人工智能的多维并行处理方法、系统、设备和可读存储介质
CN115481730A (zh) 一种注意力机制模型训练方法、装置、终端及存储介质
Singh et al. Exploiting Sparsity in Pruned Neural Networks to Optimize Large Model Training
CN114817845B (zh) 数据处理方法、装置、电子设备及存储介质
Sun et al. Computation on sparse neural networks: an inspiration for future hardware
WO2022127603A1 (zh) 一种模型处理方法及相关装置
CN111860824A (zh) 一种数据处理方法及相关产品
US20230259780A1 (en) Neural network sparsification apparatus and method and related product
Sun et al. Computation on sparse neural networks and its implications for future hardware
KR102372869B1 (ko) 인공 신경망을 위한 행렬 연산기 및 행렬 연산 방법
CN110059813B (zh) 利用gpu集群更新卷积神经网络的方法、装置及设备

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