CN115114927A - 一种模型训练方法和相关装置 - Google Patents
一种模型训练方法和相关装置 Download PDFInfo
- Publication number
- CN115114927A CN115114927A CN202210427939.0A CN202210427939A CN115114927A CN 115114927 A CN115114927 A CN 115114927A CN 202210427939 A CN202210427939 A CN 202210427939A CN 115114927 A CN115114927 A CN 115114927A
- Authority
- CN
- China
- Prior art keywords
- model
- tensor
- trained
- target
- tensors
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 266
- 238000012549 training Methods 0.000 title claims abstract description 113
- 230000008569 process Effects 0.000 claims abstract description 202
- 230000015654 memory Effects 0.000 claims abstract description 74
- 230000009467 reduction Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 230000003044 adaptive effect Effects 0.000 claims description 6
- 238000013473 artificial intelligence Methods 0.000 abstract description 14
- 238000010801 machine learning Methods 0.000 abstract description 11
- 239000012634 fragment Substances 0.000 abstract description 8
- 230000004913 activation Effects 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 19
- 238000003058 natural language processing Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 239000000872 buffer Substances 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000004422 calculation algorithm Methods 0.000 description 7
- 238000003062 neural network model Methods 0.000 description 6
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 5
- 238000005457 optimization Methods 0.000 description 4
- 241000282414 Homo sapiens Species 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000005236 sound signal Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000008451 emotion Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例公开了一种模型训练方法和相关装置,至少涉及人工智能模型中的机器学习,确定待训练模型包括的m个张量与n个并行进程之间的对应关系,m个张量包括在n个张量集合中,每个张量集合包括m个张量中的部分张量,n个张量集合与n个并行进程的对应关系为一一对应关系,使得每个并行进程只维护部分张量。目标并行进程与目标张量具有对应关系,在进行迭代的过程中,目标并行进程仅基于目标张量更新待训练模型的参数,根据更新后的参数训练待训练模型。不仅降低了创建临时缓存的数量,还降低了临时缓存的频繁创建和释放产生的内存碎片。由此,通过每个并行进程至维护部分张量,降低了激活层内存、临时缓存等,进而降低了模型的显存占用。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种模型训练方法和相关装置。
背景技术
随着人工智能的发展,模型逐渐朝着更大量级发展,如量级越大的自然语言模型的准确率更高,例如,生成型已训练变换模型3(Generative Pre-trained Transformer 3,GPT-3)的模型参数已达到175B。
在预训练阶段,较大的模型需要占用的显存较多。
发明内容
为了解决上述技术问题,本申请提供了一种模型训练方法和相关装置,用于降低训练模型的显存占用。
本申请实施例公开了如下技术方案:
一方面,本申请实施例提供一种模型训练方法,所述方法包括:
确定待训练模型包括的m个张量与n个并行进程之间的对应关系;其中,所述m个张量包括在n个张量集合中,每个张量集合包括所述m个张量中的部分张量,所述n个张量集合与所述n个并行进程的对应关系为一一对应关系,所述张量为所述待训练模型包括的多层网络的输入和输出,m和n为大于1的整数;
针对所述n个并行进程中的目标并行进程,基于与所述目标并行进程具有对应关系的目标张量集合更新所述待训练模型的参数;
根据更新后的参数训练所述待训练模型。
另一方面,本申请实施例提供一种模型训练装置,所述装置包括:确定单元、更新单元和训练单元;
所述确定单元,用于待训练模型包括的m个张量与n个并行进程之间的对应关系;其中,所述m个张量包括在n个张量集合中,每个张量集合包括所述多个张量中的部分张量,所述n个张量集合与所述n个并行进程的对应关系为一一对应关系,所述张量为所述待训练模型包括的多层网络的输入和输出,m和n为大于1的整数;
所述更新单元,用于针对所述n个并行进程中的目标并行进程,基于与所述目标并行进程具有对应关系的目标张量集合更新所述待训练模型的参数;
所述训练单元,用于根据更新后的参数训练所述待训练模型。
另一方面,本申请实施例提供一种计算机设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行上述方面所述的方法。
另一方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述方面所述的方法。
另一方面,本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面所述的方法。
由上述技术方案可以看出,确定待训练模型包括的m个张量与n个并行进程之间的对应关系,m个张量包括在n个张量集合中,每个张量集合包括m个张量中的部分张量,n个张量集合与n个并行进程的对应关系为一一对应关系,使得每个并行进程只维护部分张量。其中,张量是待训练模型包括的多层网络的输入和输出,相比于每个进程保存待训练模型产生的所有张量,每个进程仅保存部分所维护的张量,降低了激活层内存。以多个并行进程中的目标并行进程为例,目标并行进程与目标张量集合具有对应关系,在进行迭代的过程中,目标并行进程仅基于目标张量集合更新待训练模型的参数,根据更新后的参数训练待训练模型。相比于为所有张量均创建临时缓存,仅为具有对应关系的张量集合中的张量创建临时缓存,不仅降低了创建临时缓存的数量,还降低了临时缓存的频繁创建和释放产生的内存碎片。由此,在训练模型的过程中,通过每个并行进程只维护部分张量,降低了激活层内存、临时缓存等,进而降低了模型的显存占用。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的模型训练方法的应用场景示意图;
图2为本申请实施例提供的一种模型训练方法的流程示意图;
图3为本申请实施例提供一种多个张量与多个并行进程间对应关系的示意图;
图4为本申请实施例提供又一种多个张量与多个并行进程间对应关系的示意图;
图5为本申请实施例提供的一种获取规约梯度的示意图;
图6为本申请实施例提供的一种获取待训练模型更新后的参数的示意图;
图7为本申请实施例提供的一种兼容模型并行的示意图;
图8为本申请实施例提供的一种模型训练平台的框架示意图;
图9为本申请实施例提供的一种模型训练装置的示意图;
图10为本申请实施例提供的服务器的结构示意图;
图11为本申请实施例提供的终端设备的结构示意图。
具体实施方式
下面结合附图,对本申请的实施例进行描述。
在预训练阶段,模型的显存占用主要包括两个部分,一部分为优化器的状态、梯度以及模型参数等模型状态(model states)产生的显存占用,另一部分为其他内存产生的显存占用。例如,(1)激活层内存(activation memory),用于保存的算法模型中间层的结果输出,以便后续的反向计算。(2)临时缓存(buffer),用于保存前向计算过程中每一层计算层内部计算产生的中间结果,如模型每层网络的输入和输出。(3)临时buffer的频繁创建和释放产生的内存碎片,也会占用一些显存,导致明明还有显存但是显存申请失败。
下面以自然语言处理(Natural Language Processing,NLP)领域常用的自适应矩估计(Adaptive momentum,adam)优化器结合混合精度训练为例,分析model states的显存占用。其中,混合精度是指训练时在模型中同时使用单精度浮点数(float point)32和半精度浮点数(float point)16类型,从而加快运行速度,减少内存使用的一种训练方法。下面具体说明。
训练过程中,各层权重被保存为FP32类型,每次迭代时,制作这些权重的FP16类型副本并使用它们进行前向计算和反向计算,更新时将梯度再转换为FP32类型并用于更新FP32类型的权重。使用这种方法可以解决权重相较于其更新值过大的问题。但是,adam优化器保存了每个参数的FP32类型的主权重(master weights)、动量(momentum)、方差(variance)等,同时保存了每个参数的FP16类型的权重(weight)和梯度(gradients)。由于每个并行进程均保存一份完整的model states,导致预训练阶段,activation memory、临时buffer等较多,使得模型占用的显存较多。以8.3B大小的模型为例,model states的显存占用需要133GB(8.3×16),远大于V00机型32GB的显存上限。
基于此,本申请实施例提供一种模型训练方法,在训练模型的过程中,通过每个并行进程只维护部分张量,降低了激活层内存、临时缓存等,进而降低了模型的显存占用。
本申请实施例提供的模型训练方法是基于人工智能实现的。人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
在本申请实施例中,主要涉及的人工智能技术包括上述自然语言处理技术、机器学习/深度学习等方向。
本申请提供的模型训练方法可以应用于具有数据处理功能的模型训练设备,如终端设备、服务器。其中,终端设备具体可以为手机、平板电脑、笔记本电脑、台式计算机、智能语音交互设备、智能家电等,但并不局限于此;服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云计算服务的云服务器。终端设备以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
该模型训练设备还可以具备自然语言处理能力。自然语言处理(Nature Languageprocessing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
该模型训练设备还可以具备机器学习能力。机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
在本申请实施例提供的模型训练方法中,采用的人工智能模型主要涉及对对各种模型的训练,通过每个并行进程只维护部分张量,降低了激活层内存、临时缓存等,进而降低了模型的显存占用,进而降低规模较大的模型的训练难度。
为了便于理解本申请的技术方案,下面结合实际应用场景,对本申请实施例提供的模型训练方法进行介绍。
参见图1,该图为本申请实施例提供的模型训练方法的应用场景示意图。在图1所示的应用场景中,前述的模型训练设备为服务器100,用于训练待训练模型的同时,降低预训练过程中的显存占用。
训练待训练模型的过程中包括多个张量,以m个为例,每个张量为待训练模型包括的多层网络的输入和输出,可以理解的是,第i层网络的输出是i+1层网络的输入。
为了加快待训练模型的训练速度,可以将待训练模型包括的多层网络拆分至多个并行进程同时进行训练,每个并行进程可以依托于图形处理器(graphics processingunit,GPU)实现。
服务器100确定待训练模型包括的m个张量与n个并行进程之间的对应关系,其中,m个张量包括在n个张量集合中,每个张量集合包括m个张量中的部分张量,n个张量集合与n个并行进程的对应关系为一一对应关系,即每个并行进程不再维护所有的张量,而是仅维护部分张量,降低了激活层内存。
服务器100包括3张GPU,即GPU 1、GPU 2和GPU 3,每张GPU对应一个并行进程。下面以多个并行进程中的目标并行进程为例,目标并行进程与目标张量集合具有对应关系,在进行迭代的过程中,目标并行进程仅基于目标张量集合更新待训练模型的参数,根据更新后的参数训练待训练模型。相比于为所有张量均创建临时缓存,仅为具有对应关系的张量集合中的张量创建临时缓存,不仅降低了创建临时缓存的数量,还降低了临时缓存的频繁创建和释放产生的内存碎片。
由此,在训练模型的过程中,通过每个并行进程至维护部分张量,降低了激活层内存、临时缓存等,进而降低了模型的显存占用。
本申请实施例所提供的模型训练方法可以由服务器执行。但是,在本申请的其它实施例中,终端设备也可以与服务器具有相似的功能,从而执行本申请实施例所提供的模型训练方法,或者由终端设备和服务器共同执行本申请实施例所提供的模型训练方法,本实施例对此不做限定。
下面结合附图,以前述所述的模型训练设备为服务器为例,对本申请实施例提供的一种模型训练方法进行介绍。
参见图2,该图为本申请实施例提供的一种模型训练方法的流程示意图。如图2所示,该模型训练方法包括S201-S203。
S201:确定待训练模型包括的m个张量与n个并行进程之间的对应关系。
以神经网络模型的训练过程为例,在神经网络模型的训练过程中,包括前向传播和反向传播。以一次函数z=wx+b为例,前向传播是从输入(input),经过一层层的网络(layer),不断计算每一层网络的输出值z,最后得到输出值y^的过程,从而通过输出值y^和真实值y的差别来计算损失(loss)。反向传播是根据损失函数L(y^,y)来反方向地计算每一层的z、a、w、b的梯度(偏导数)。每经过一次前向传播和反向传播之后,模型的参数就更新一次,然后用更新后的参数再次循环上面的过程,直至神经网络模型训练完毕。
其中,反向传播需要重复利用前向传播中存储的张量,以避免重复计算。带来的影响之一是模型训练过程中需要保存张量,直到反向传播完成,使得模型训练比单纯的预测需要更多的显存。
随着模型逐渐朝着更大量级发展,模型包括的网络的层数越来越多,再模型预训练阶段需要的显存也越来越多。为了加快待训练模型的训练速度,可以将待训练模型包括的多层网络拆分至多个并行进程同时进行训练。在本申请实施例中,将网络的输入和输出,即张量作为拆分依据。例如,获取待训练模型包括的m个张量,m个张量包括在n个张量集合中,每个张量集合包括m个张量中的部分张量,n个张量集合与n个并行进程的对应关系为一一对应关系,由此可以依据张量与并行进程的对应关系,将待训练模型包括的多层网络拆分至不同的并行进程。其中,并行进程属于一种进程,是服务器中资源分配的最小单位。
需要说明的是,n个张量集合包括的张量的数量总和可以大于m,即n个张量集合包括的张量可以重复,但需要保证每个张量集合包括m个张量中的部分张量,n个张量集合包括的张量的数量总和可以等于m,即n个张量集合包括的张量不重复。使得每个并行进程至少维护一个张量,如保存张量、张量计算等。所有并行进程仅维护与其具有对应关系的张量,而不是维护所有的张量。该并行进程对应的activation memory无需保存所有张量,将“每个并行进程保存所有的张量”转变为“每个并行进程至维护部分张量”从而节省activation memory,进而降低显存的占用。例如,若模型具有20G的张量,通过四个并行进程进行预训练,相关技术中每个并行进程均需占用20G的显存保存张量,而本申请实施例,可以让每个并行进程仅维护5G的张量,进而仅需占用5G的显存,大大降低了显存的占用。
此外,张量的大小与网络层的数量和批量的大小大致成正比。因此,使用更大的批量来训练更深层次的网络更容易导致内存不足,是使得模型训练较为困难。通过本申请实施例降低显存的占用,能够在一定程度上缓解大规模模型(超过1.3B)的训练困难。
S202:针对n个并行进程中的目标并行进程,基于与目标并行进程具有对应关系的目标张量集合更新待训练模型的参数。
为了方便说明,下面以多个并行进程中的一个并行进程,即目标并行进程为例进行说明。目标并行进程确定与目标进程具有对应关系目标张量集合,其仅维护目标张量集合中包括的目标张量,如在模型训练过程中,仅对于目标张量有关的参数进行计算、保存等,不维护其他不具有对应关系的张量。
在前向传播过程中,可以创建临时buffer,用于保存前向传播过程中每一层计算层内部计算产生的张量,如模型每层网络的输入和输出(又称中间结果)。由于相关技术中每个并行进程保存所有的张量导致临时buffer的显存占用较多,而且临时buffer的频繁创建和释放产生的内存碎片,也会占用一些显存,导致明明还有显存但是显存申请失败。
采用本申请实施例提供的模型训练方法,目标并行进程仅维护具有对应关系的张量,从而通过每个并行进程均维护与其具有对应关系的张量,实现待训练模型的参数更新。由此在预训练过程中,相比于相关技术,本申请无需创建大量的临时buffer,由于临时buffer频繁创建和释放产生的内存碎片也较少,降低了显存占用。
S203:根据更新后的参数训练待训练模型。
由此,通过不断更新待训练模型的参数,能够得到训练好的模型。例如,得到更新后的参数后,根据更新后的参数得到更新后的待训练模型,再次执行S202,直至待训练模型满足预设条件,如迭代次数达到预设次数等,得到训练好的模型。
由上述技术方案可以看出,定待训练模型包括的m个张量与n个并行进程之间的对应关系,m个张量包括在n个张量集合中,每个张量集合包括m个张量中的部分张量,n个张量集合与n个并行进程的对应关系为一一对应关系,使得每个并行进程只维护部分张量。其中,张量是待训练模型包括的多层网络的输入和输出,相比于每个进程保存待训练模型产生的所有张量,每个进程仅保存部分所维护的张量,降低了激活层内存。以多个并行进程中的目标并行进程为例,目标并行进程与目标张量集合具有对应关系,在进行迭代的过程中,目标并行进程仅基于目标张量集合更新待训练模型的参数,根据更新后的参数训练待训练模型。相比于为所有张量均创建临时缓存,仅为具有对应关系的张量集合中的张量创建临时缓存,不仅降低了创建临时缓存的数量,还降低了临时缓存的频繁创建和释放产生的内存碎片。由此,在训练模型的过程中,通过每个并行进程只维护部分张量,降低了激活层内存、临时缓存等,进而降低了模型的显存占用。
作为一种可能的实现方式,本申请实施例还提供一种S202,即基于与目标并行进程具有对应关系的目标张量集合更新待训练模型的参数的具体实施方式,参见S2021-S2023。
S2021:基于与目标并行进程具有对应关系的目标张量集合进行第i次前向传播和第i次反向传播。
待训练模型的训练过程包括前向传播和后向传播,通过一次前向传播和一次后向传播实现待训练模型的一次迭代,实现待训练模型的参数的一次更新。下面继续以训练神经网络模型为例进行说明。
参见图3,该图为本申请实施例提供一种多个张量与多个并行进程间对应关系的示意图。如图3所示,每张GPU均对应一个并行进程,如GPU0对应并行进程rank0,每个并行进程维护不同的张量(tensor)集合,每个张量集合包括1个张量,即每个并行进程仅维护一个张量,如rank0维护tensor1,rank1维护tensor2,rank2维护tensor3,rank3维护tensor4。以前述z=wx+b为例,tensor1为z,tensor2为a,tensor3为w,tensor4为b。又如图4所示,每张GPU均对应一个并行进程,如GPU0对应并行进程rank0,每个并行进程维护不同的张量集合,每个张量集合包括至少1个张量,使得每个并行进程仅维护部分张量,如rank0维护tensor1,rank1维护tensor2和tensor3。
在第i次前向传播过程中,每一个并行进程负责各自的张量计算并保存结果,从rank0开始负责tensor1的计算,直至rank63完成tensor18、tensor19和tensor20的计算,得到第i次迭代的输出值。在第i次反向传播过程中,每一个并行进程负责各自具有对应关系的张量集合,根据输出值和真实值的差值计算对应的梯度计算并保存结果,每个并行进程均得到对应的梯度。需要说明的是,并行进程可以无需自己进行相关计算,而是调用如优化器等工具实现相关的计算。
作为一种可能的实现方式,可以确定待训练模型包括的m个张量,统计m个张量所包括的元素的数量,即待训练模型包括的m个张量的的元素总数,根据元素总数尽量均匀的将m个张量划分至n个张量集合,进而使得每个张量集合对应一个并行进程。例如,待训练模型包括3个张量,每个张量是2×3的矩阵,则待训练模型包括18个元素,可以将18个元素均匀划分至3个张量集合,每个张量集合对应一个并行进程。需要说明的是,在划分时,还需要保证被划分的元素还能够组合为张量,即张量是最小的计算单元,如参数a对应的矩阵被划分至一个张量集合中,该张量集合与一个并行进程具有对应关系。
S2022:根据多个并行进程在第i次反向传播过程中得到的针对目标张量集合所包括的目标张量的多个梯度,确定目标张量对应的规约梯度。
由于不同的并行进程维护不同的张量集合,故在第i次反向传播完成后,不同的并行进程得到的梯度可能不同,为了保证在第i+1次迭代开始时,可以通过保证待训练模型的初始状态相同以及所有并行进程使用的参数梯度相同来保证算法的正确性。
参见图5,该图为本申请实施例提供的一种获取规约梯度的示意图。图5对应图3的实施例,继续以4个并行进程为例,每个并行进程均针对各自负责的张量集合中包括的张量,得到对应的4个梯度(z、a、w、b的梯度),将rank0作为目标并行进程,rank0从rank1、rank2和rank3获取关于z的梯度,进而确定出关于z的规约梯度。然后将rank1作为目标并行进程,rank1从rank0、rank2和rank3获取关于a的梯度,进而确定出关于a的规约梯度,依次类推,确定出关于w的规约梯度以及关于b的规约梯度。
作为一种可能的实现方式,目标并行进程可以根据张量集合与并行进程的对应关系,从多个并行进程中获取第i次反向传播过程中产生的针对目标张量的多个梯度,确定多个梯度的梯度数量以及多个梯度的梯度总和,得到的平均值即为针对目标张量的规约梯度。
S2023:根据规约梯度更新待训练模型的参数。
每经过一次前向传播和反向传播之后,待训练模型的参数就更新一次,然后用更新后的参数再次循环上面的过程,直至神经网络模型训练完毕。本申请实施例不具体限定神经网络模型训练结束的条件,如输出值和真实值的差值小于差值阈值,迭代次数等于预设次数等。
作为一种可能的实现方式,由于反向传播后,每个并行进程均保存了一部分规约梯度,目标并行进程可以调用自适应矩估计(Adaptive Moment Estimation,Adam)优化器更新其维护的规约梯度对应的权重,参见公式(1)和公式(2):
mt=β1×mt-1+(1-β1)×ΔW (1)
vt=β2×vt-1+(1-β2)×ΔW2 (2)
其中,mt为第t次的一阶动量,mt-1为第t-1次的一阶动量,β1、β2为超参数,W为权重,ΔW为规约梯度,vt为第t次的二阶动量,vt-1为第t-1次的二阶动量。
如果mt和vt被初始化为0向量,那么它们就会向0偏置,故此需要进行偏差校正,通过计算偏差校正后的mt和vt来抵消偏差,具体参见公式(3)和公式(4):
由此,梯度更新规则参加公式(5):
需要说明的是,通过多次实验发现,Adam优化器比其他自适应学习方法效果好。作为一种可能的实现方式,β1=0.9,β2=0.999,∈=10e-8时,Adam优化器的效果最好。
作为一种可能的实现方式,每个并行进程均可以作为目标并行进程确定针对其对应的目标张量集合所包括的目标张量的规约梯度,进而得到规约梯度对应的权重,得到更新的目标参数,然后从其他并行进程获取其他并行进程更新的目标参数,得到全量的参数,即待训练模型在第i次迭代后的参数。参见图6,该图为本申请实施例提供的一种获取待训练模型更新后的参数的示意图。每个并行进程均可以获取到全脸的参数,以便下一次迭代待训练模型的初始状态相同以及所有并行进程使用的参数梯度相同来保证算法的正确性。
作为一种可能的实现方式,目标并行进程在更新待训练模型的参数的过程中,还可以同时更新其他待训练模型的参数,其中,其他待训练模型为与待训练模型不同的模型。
参见图7,该图为本申请实施例提供的一种兼容模型并行的示意图。在图7中,共有512个GPU,其中,GPU1、GPU9和GPU505构成数据并行组1,GPU8、GPU16和GPU512构成数据并行组8,不同数据并行组用于执行前述所述模型训练方法,还可以称为数据并行。此外,GPU1-GPU8构成模型并行组1,GPU9-GPU16构成模型并行组2,依次类推,GPU505-GPU512构成模型并行组64,不同模型并行组针对不同的待训练模型进行训练。以并行组1为例,该并行组1训练的模型包括8层网络,分别通过8个GPU对应的并行进程进行训练。由此,如GPU1等并行进程不仅可以同于执行数据并行,还可以执行模型并行,使得申请实施例不仅支持数据并行(如通过确定张量与并行进程之间的对应关系),还支持模型并行,进一步提升了模型训练速度。
本申请实施例还提供一种模型训练平台,可以内置与前述所述的模型训练设备中。模型训练平台在设计上进了能简化了深度迁移学***台抽象了常用的接口(IO)、网络层(layers)、损失函数(losses)、优化器(optimizers)、模型(models)等,使用者可以基于这些接口开发所需的模型,也可以直接接入预训练模型库(Model Zoo)快速建模。同时模型训练平台还集成了应用库(APP Zoo),用于支持主流的NLP应用,方便使用者搭建常用的NLP应用,如情感分析、文本分类、竞赛方案、中文预训练等。下面结合图8具体进行说明
参见图8,该图为本申请实施例提供的一种模型训练平台的框架示意图。该模型训练平台包括三层,分别是应用层、框架层和组件层。下面分别进行说明。
(1)应用层。
该模型训练平台一般面向NLP场景的大模型预训练,其封装了高度易用、灵活且学习成本低的APP Zoo,支持使用者在仅用几行命令的条件下大规模运行前沿的开源与自研算法,即可迅速接入不同场景和业务数据下的NLP应用,方便使用者搭建常用的如情感分析、文本分类、竞赛方案、中文预训练等NLP应用。
(2)框架层。
框架层包括三个模块,分别是UER、优化版本transformer以及ZeroDP显存优化,下面分别进行说明。
UER模块:本申请实施例提供的模型训练平台适配于UER-py的所有接口,相关显存优化细节对使用者无感知。其中,UER-py全称是Universal Encoder Representations,-py指这个项目用Pytorch实现。UER-py是一个在通用语料预训练以及对下游任务进行微调的工具包。
优化版本transformer模块:使用者通过组件层中用户自定义模型构成的。
ZeroDP显存优化模块:相关之处参见本申请实施例提供的模型训练方法,在此不再赘述。
(3)组件层。
组件层包括五个模块,分别是Model Zoo、用户自定义模型、Pytorch、PASS:公有云机器学习平台以及IASS:公有云IASS,下面分别进行说明。
Model Zoo模块:预训练模型库,用于提供NLP常用的模型,如文本到文本传输转换器(Text-to-Text Transfer Transformer,T5)模型、源自转换器的双向编码器表示(Bidirectional Encoder Representation from Transformers,BERT)模型等。
用户自定义模型模块:使用者可以快速构建自研算法,提供了解码器(decoder)、损失函数(loss)、优化器(optimizer)、数据载入器(DataLoader)、嵌入层(embedding)、编码器(encoder)等。通过模块化设计,支持按需装配。通过简单易用的应用程序编程接口(Application Programming Interface,API)设计,基础layers抽象,支持自定义网络,方便使用者自定义模型。
Pytorch模块:一种开源的Python机器学习库。
PASS:公有云机器学***台即服务(Platform-as-a-Service,PASS)是一种把应用服务的运行和开发环境作为一种服务提供的模式,属于基础设施或者平台。
IASS:公有云IASS模块:基础设施即服务(Infrastructure as a Service,IASS)是一种把IT基础设施作为一种服务通过网络对外提供,并根据用户对资源的实际使用量或占用量进行计费的服务模式,属于基础设施或者平台。
由此,本申请实施例提供了一种模型训练平台,通过应用层提供了简单高性能的模型训练模型,屏蔽复杂的底层实现,使用者只需关注模型的逻辑结构,降低了NLP和迁移学习的入门门槛。其次,通过框架层提出了一种支持较大的模型训练的分布式框架,通过显存优化,改善了分布式优化器,支持工业级的分布式应用场景,支持10B以上的超大模型预训练。再次,通过组件层支持完整的预训练工具链,提供丰富且高质量的预训练模型ModelZoo,方便使用者预训练模型,而且,通过模块化设计,支持按需装配的方式实现预训练模型。
针对上述实施例提供的模型训练方法,本申请实施例还提供了一种模型训练装置。
参见图9,该图为本申请实施例提供的一种模型训练装置的示意图。如图9所示,模型训练装置900包括:所述装置包括:确定单元901、更新单元902和训练单元903;
所述确定单元901,用于待训练模型包括的m个张量与n个并行进程之间的对应关系;其中,所述m个张量包括在n个张量集合中,每个张量集合包括所述m个张量中的部分张量,所述n个张量集合与所述n个并行进程的对应关系为一一对应关系,所述张量为所述待训练模型包括的多层网络的输入和输出,m和n为大于1的整数;
所述更新单元902,用于针对所述n个并行进程中的目标并行进程,基于与所述目标并行进程具有对应关系的目标张量集合更新所述待训练模型的参数;
所述训练单元903,用于根据更新后的参数训练所述待训练模型。
作为一种可能的实现方式,所述更新单元902,用于:
基于与所述目标并行进程具有对应关系的目标张量集合进行第i次前向传播和第i次反向传播;
根据所述多个并行进程在所述第i次反向传播过程中得到的针对所述目标张量集合所包括的目标张量的多个梯度,确定针对所述目标张量的规约梯度;
根据所述规约梯度更新所述待训练模型的参数。
作为一种可能的实现方式,所述更新单元902,用于:
调用自适应矩估计优化器更新所述规约梯度对应的目标参数;
根据所述目标参数获取所述待训练模型更新后的参数。
作为一种可能的实现方式,所述更新单元902,用于:
获取所述多个并行进程在所述第i次反向传播过程中得到的针对所述目标张量集合所包括的目标张量的多个梯度;
根据所述多个梯度的梯度总和与梯度数量,确定针对所述目标张量的规约梯度。
作为一种可能的实现方式,所述确定单元901,用于:
确确定待训练模型包括的m个张量的元素总数;
根据所述元素总数将所述m个张量划分为n个张量集合;
确定所述n个张量集合与n个并行进程之间的一一对应关系。
作为一种可能的实现方式,所述装置900还包括模型并行单元,用于:
在更新所述待训练模型的参数的过程中,所述目标并行进程更新其他待训练模型的参数,所述其他待训练模型为与所述待训练模型不同的模型。
由上述技术方案可以看出,确定待训练模型包括的m个张量与n个并行进程之间的对应关系,m个张量包括在n个张量集合中,每个张量集合包括m个张量中的部分张量,n个张量集合与n个并行进程的对应关系为一一对应关系,使得每个并行进程只维护部分张量。其中,张量是待训练模型包括的多层网络的输入和输出,相比于每个进程保存待训练模型产生的所有张量,每个进程仅保存部分所维护的张量,降低了激活层内存。以多个并行进程中的目标并行进程为例,目标并行进程与目标张量集合具有对应关系,在进行迭代的过程中,目标并行进程仅基于目标张量集合更新待训练模型的参数,根据更新后的参数训练待训练模型。相比于为所有张量均创建临时缓存,仅为具有对应关系的张量集合中的张量创建临时缓存,不仅降低了创建临时缓存的数量,还降低了临时缓存的频繁创建和释放产生的内存碎片。由此,在训练模型的过程中,通过每个并行进程只维护部分张量,降低了激活层内存、临时缓存等,进而降低了模型的显存占用。
本申请实施例还提供了一种计算机设备,该计算机设备为前述介绍的计算机设备,该计算机设备可以为服务器或者终端设备,前述所述的模型训练装置可以内置于服务器或终端设备中,下面将从硬件实体化的角度对本申请实施例提供的计算机设备进行介绍。其中,图10所示为服务器的结构示意图,图11所示为终端设备的结构示意图。
参见图10,该图为本申请实施例提供的一种服务器结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以***处理器(CentralProcessing Units,CPU)1422和存储器1432,一个或一个以上应用程序1442或数据1444的存储介质1430(例如一个或一个以上海量存储设备)。其中,存储器1432和存储介质1430可以是短暂存储或持久存储。存储在存储介质1430的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,CPU 1422可以设置为与存储介质1430通信,在服务器1400上执行存储介质1430中的一系列指令操作。
服务器1400还可以包括一个或一个以上电源1426,一个或一个以上有线或无线网络接口1450,一个或一个以上输入输出接口1458,和/或,一个或一个以上操作***1441,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图10所示的服务器结构。
其中,CPU 1422用于执行如下步骤:
确定待训练模型包括的m个张量与n个并行进程之间的对应关系;其中,所述m个张量包括在n个张量集合中,每个张量集合包括所述m个张量中的部分张量,所述n个张量集合与所述n个并行进程的对应关系为一一对应关系,所述张量为所述待训练模型包括的多层网络的输入和输出,m和n为大于1的整数;
针对所述n个并行进程中的目标并行进程,基于与所述目标并行进程具有对应关系的目标张量集合更新所述待训练模型的参数;
根据更新后的参数训练所述待训练模型。
可选的,CPU 1422还可以执行本申请实施例中模型训练方法任一具体实现方式的方法步骤。
参见图11,该图为本申请实施例提供的一种终端设备的结构示意图。图11示出的是与本申请实施例提供的终端设备相关的智能手机的部分结构的框图,该智能手机包括:射频(Radio Frequency,简称RF)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(简称WiFi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图11中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图11对智能手机的各个构成部件进行具体的介绍:
RF电路1510可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器1580处理;另外,将设计上行的数据发送给基站。
存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而实现智能手机的各种功能应用以及数据处理。
输入单元1530可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元1530可包括触控面板1531以及其他输入设备1532。触控面板1531,也称为触摸屏,可收集用户在其上或附近的触摸操作,并根据预先设定的程式驱动相应的连接装置。除了触控面板1531,输入单元1530还可以包括其他输入设备1532。具体地,其他输入设备1532可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元1540可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元1540可包括显示面板1541,可选的,可以采用液晶显示器(LiquidCrystal Display,简称LCD)、有机发光二极管(Organic Light-Emitting Diode,简称OLED)等形式来配置显示面板1541。
智能手机还可包括至少一种传感器1550,比如光传感器、运动传感器以及其他传感器。至于智能手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路1560、扬声器1561,传声器1562可提供用户与智能手机之间的音频接口。音频电路1560可将接收到的音频数据转换后的电信号,传输到扬声器1561,由扬声器1561转换为声音信号输出;另一方面,传声器1562将收集的声音信号转换为电信号,由音频电路1560接收后转换为音频数据,再将音频数据输出处理器1580处理后,经RF电路1510以发送给比如另一智能手机,或者将音频数据输出至存储器1520以便进一步处理。
处理器1580是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行智能手机的各种功能和处理数据。可选的,处理器1580可包括一个或多个处理单元。
智能手机还包括给各个部件供电的电源1590(比如电池),优选的,电源可以通过电源管理***与处理器1580逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该智能手机所包括的存储器1520可以存储程序代码,并将所述程序代码传输给所述处理器。
该智能手机所包括的处理器1580可以根据所述程序代码中的指令执行上述实施例提供的模型训练方法。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行上述实施例提供的模型训练方法。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的模型训练方法。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质可以是下述介质中的至少一种:只读存储器(英文:Read-Only Memory,缩写:ROM)、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备及***实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的设备及***实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述,仅为本申请的一种具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种模型训练方法,其特征在于,所述方法包括:
确定待训练模型包括的m个张量与n个并行进程之间的对应关系;其中,所述m个张量包括在n个张量集合中,每个张量集合包括所述m个张量中的部分张量,所述n个张量集合与所述n个并行进程的对应关系为一一对应关系,所述张量为所述待训练模型包括的多层网络的输入和输出,m和n为大于1的整数;
针对所述n个并行进程中的目标并行进程,基于与所述目标并行进程具有对应关系的目标张量集合更新所述待训练模型的参数;
根据更新后的参数训练所述待训练模型。
2.根据权利要求1所述的方法,其特征在于,所述基于与所述目标并行进程具有对应关系的目标张量集合更新所述待训练模型的参数,包括:
基于与所述目标并行进程具有对应关系的目标张量集合进行第i次前向传播和第i次反向传播;
根据所述多个并行进程在所述第i次反向传播过程中得到的针对所述目标张量集合所包括的目标张量的多个梯度,确定针对所述目标张量的规约梯度;
根据所述规约梯度更新所述待训练模型的参数。
3.根据权利要求2所述的方法,其特征在于,所述根据所述规约梯度更新所述待训练模型的参数,包括:
调用自适应矩估计优化器更新所述规约梯度对应的目标参数;
根据所述目标参数获取所述待训练模型更新后的参数。
4.根据权利要求2所述的方法,其特征在于,所述根据所述多个并行进程在所述第i次反向传播过程中得到的针对所述目标张量集合所包括的目标张量的多个梯度,确定针对所述目标张量的规约梯度,包括:
获取所述多个并行进程在所述第i次反向传播过程中得到的针对所述目标张量集合所包括的目标张量的多个梯度;
根据所述多个梯度的梯度总和与梯度数量,确定针对所述目标张量的规约梯度。
5.根据权利要求1所述的方法,其特征在于,所述确定待训练模型包括的m个张量与n个并行进程之间的对应关系,包括:
确定待训练模型包括的m个张量的元素总数;
根据所述元素总数将所述m个张量划分为n个张量集合;
确定所述n个张量集合与n个并行进程之间的一一对应关系。
6.根据权利要求1-5任意一项所述的方法,其特征在于,所述方法还包括;
在更新所述待训练模型的参数的过程中,所述目标并行进程更新其他待训练模型的参数,所述其他待训练模型为与所述待训练模型不同的模型。
7.一种模型训练装置,其特征在于,所述装置包括:确定单元、更新单元和训练单元;
所述确定单元,用于待训练模型包括的m个张量与n个并行进程之间的对应关系;其中,所述m个张量包括在n个张量集合中,每个张量集合包括所述m个张量中的部分张量,所述n个张量集合与所述n个并行进程的对应关系为一一对应关系,所述张量为所述待训练模型包括的多层网络的输入和输出,m和n为大于1的整数;
所述更新单元,用于针对所述n个并行进程中的目标并行进程,基于与所述目标并行进程具有对应关系的目标张量集合更新所述待训练模型的参数;
所述训练单元,用于根据更新后的参数训练所述待训练模型。
8.一种计算机设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-6任意一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1-6任意一项所述的方法。
10.一种包括指令的计算机程序产品,当其在计算机上运行时,使得所述计算机执行权利要求1-6任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210427939.0A CN115114927A (zh) | 2022-04-22 | 2022-04-22 | 一种模型训练方法和相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210427939.0A CN115114927A (zh) | 2022-04-22 | 2022-04-22 | 一种模型训练方法和相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115114927A true CN115114927A (zh) | 2022-09-27 |
Family
ID=83324869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210427939.0A Pending CN115114927A (zh) | 2022-04-22 | 2022-04-22 | 一种模型训练方法和相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115114927A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115965074A (zh) * | 2022-11-28 | 2023-04-14 | 北京百度网讯科技有限公司 | 深度学习模型的训练方法、数据处理方法、装置和设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134636A (zh) * | 2018-02-09 | 2019-08-16 | 中兴通讯股份有限公司 | 模型训练方法、服务器和计算机可读存储介质 |
US20220044149A1 (en) * | 2020-08-05 | 2022-02-10 | Mobileye Vision Technologies Ltd. | Techniques for generating machine learning trained models |
CN114169427A (zh) * | 2021-12-06 | 2022-03-11 | 北京百度网讯科技有限公司 | 基于端到端自适应的分布式训练方法、装置、设备 |
CN114356540A (zh) * | 2021-10-30 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 一种参数更新方法、装置、电子设备和存储介质 |
-
2022
- 2022-04-22 CN CN202210427939.0A patent/CN115114927A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134636A (zh) * | 2018-02-09 | 2019-08-16 | 中兴通讯股份有限公司 | 模型训练方法、服务器和计算机可读存储介质 |
US20220044149A1 (en) * | 2020-08-05 | 2022-02-10 | Mobileye Vision Technologies Ltd. | Techniques for generating machine learning trained models |
CN114356540A (zh) * | 2021-10-30 | 2022-04-15 | 腾讯科技(深圳)有限公司 | 一种参数更新方法、装置、电子设备和存储介质 |
CN114169427A (zh) * | 2021-12-06 | 2022-03-11 | 北京百度网讯科技有限公司 | 基于端到端自适应的分布式训练方法、装置、设备 |
Non-Patent Citations (1)
Title |
---|
王宇龙: "PyTorch深度学习入门与实战", vol. 1, 中国铁道出版社, pages: 122 - 123 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115965074A (zh) * | 2022-11-28 | 2023-04-14 | 北京百度网讯科技有限公司 | 深度学习模型的训练方法、数据处理方法、装置和设备 |
CN115965074B (zh) * | 2022-11-28 | 2023-11-10 | 北京百度网讯科技有限公司 | 深度学习模型的训练方法、数据处理方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2022068627A1 (zh) | 一种数据处理方法及相关设备 | |
WO2020103721A1 (zh) | 信息处理的方法、装置及存储介质 | |
WO2020142192A1 (en) | Neural network activation compression with narrow block floating-point | |
CN111428520A (zh) | 一种文本翻译方法及装置 | |
US11351458B2 (en) | Method for controlling target object, apparatus, device, and storage medium | |
JP7431977B2 (ja) | 対話モデルの訓練方法、装置、コンピュータ機器及びプログラム | |
CN114356540B (zh) | 一种参数更新方法、装置、电子设备和存储介质 | |
CN111816159A (zh) | 一种语种识别方法以及相关装置 | |
CN113238989A (zh) | 将数据进行量化的设备、方法及计算机可读存储介质 | |
CN115114927A (zh) | 一种模型训练方法和相关装置 | |
CN113238987B (zh) | 量化数据的统计量化器、存储装置、处理装置及板卡 | |
Huai et al. | Latency-constrained DNN architecture learning for edge systems using zerorized batch normalization | |
CN114298329A (zh) | 一种模型训练方法、装置、设备及存储介质 | |
CN114510911B (zh) | 文本处理方法、装置、计算机设备及存储介质 | |
CN117011118A (zh) | 模型参数更新方法、装置、计算机设备以及存储介质 | |
CN113238976B (zh) | 缓存控制器、集成电路装置及板卡 | |
US20220383121A1 (en) | Dynamic activation sparsity in neural networks | |
CN113886688B (zh) | 对象的关联关系预测方法、装置、终端设备以及存储介质 | |
CN113238988B (zh) | 优化深度神经网络的参数的处理***、集成电路及板卡 | |
CN111443806B (zh) | 交互任务的控制方法、装置、电子设备及存储介质 | |
CN113238975A (zh) | 优化深度神经网络的参数的内存、集成电路及板卡 | |
CN112766475A (zh) | 处理部件及人工智能处理器 | |
CN114692865A (zh) | 一种神经网络量化训练方法、装置及相关产品 | |
CN113870876B (zh) | 基于自监督模型的歌声转换方法、设备及可读存储介质 | |
CN112241786B (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 |