CN114418129B - 一种深度学习模型训练方法及相关装置 - Google Patents

一种深度学习模型训练方法及相关装置 Download PDF

Info

Publication number
CN114418129B
CN114418129B CN202210321245.9A CN202210321245A CN114418129B CN 114418129 B CN114418129 B CN 114418129B CN 202210321245 A CN202210321245 A CN 202210321245A CN 114418129 B CN114418129 B CN 114418129B
Authority
CN
China
Prior art keywords
deep learning
learning model
training
data set
model parameters
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
CN202210321245.9A
Other languages
English (en)
Other versions
CN114418129A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202210321245.9A priority Critical patent/CN114418129B/zh
Publication of CN114418129A publication Critical patent/CN114418129A/zh
Application granted granted Critical
Publication of CN114418129B publication Critical patent/CN114418129B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开了一种深度学习模型训练方法,包括:服务器对样本数据集进行预处理,得到预处理数据集;对预处理数据集进行拆分,得到多个子数据集;将多个子数据集发送至对应的工作节点中,以便每个工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数;当深度学习模型为收敛状态时,将接收到的多个局部模型参数进行整合,得到训练结果。提高进行深度学习模型进行训练的效率。本申请还公开了一种深度学习模型训练装置、服务器以及计算机可读存储介质,具有以上有益效果。

Description

一种深度学习模型训练方法及相关装置
技术领域
本申请涉及计算机技术领域,特别涉及一种深度学习模型训练方法、深度学习模型训练装置、服务器以及计算机可读存储介质。
背景技术
随着信息技术的不断发展,为了解决大模型在大数据集上的有效训练问题,采用分布式的结构进行训练。分布式训练核心是利用“分而治之”的思想,将待训练的大模型或大数据集以模型并行、数据并行或混合并行的方式进行拆分,实现对拆分后小规模数据或模型的高效训练,最后将所有训练结果再以某种方式进行聚合并输出最终训练结果。
相关技术中,可以在模型训练的参数中进行优化,以便对训练过程进行加速。但是依然存在不足:第一,算法的通用性受限。现有的算法大多针对某些特定的应用场景、特定数据集、特定模型表现出良好的性能。但是当其迁移到其他应用场景或数据集,性能往往差强人意;第二,算法的复杂性普遍较高。现有的算法虽然考虑了大量的指标因素,一定程度上提升调度精度,但是同时也带来了计算复杂性较高的问题。第三,可扩展性较差。可见,由于算法本身复杂度高并且需要消耗大量的存储空间,因而难以实现加速计算的有效扩展,无法有效减少算法的时间开销,降低了训练过程的效率。
因此,如何提高进行深度学习模型进行训练的效率是本领域技术人员关注的重点问题。
发明内容
本申请的目的是提供一种深度学习模型训练方法、深度学习模型训练装置、服务器以及计算机可读存储介质,以提高进行深度学习模型进行训练的效率。
为解决上述技术问题,本申请提供一种深度学习模型训练方法,包括:
服务器对样本数据集进行预处理,得到预处理数据集;
对所述预处理数据集进行拆分,得到多个子数据集;
将所述多个子数据集发送至对应的工作节点中,以便每个所述工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数;
当所述深度学习模型为收敛状态时,将接收到的多个局部模型参数进行整合,得到训练结果。
可选的,服务器对样本数据集进行预处理,得到预处理数据集,包括:
服务器对所述样本数据集进行数据清洗,得到所述预处理数据集。
可选的,将所述多个子数据集发送至对应的工作节点中的步骤之前,还包括:
对原始深度学习模型进行预处理,得到所述深度学习模型;
将所述深度学习模型发送至对应的工作节点中。
可选的,对所述预处理数据集进行拆分,得到多个子数据集,包括:
基于所述预处理数据集的样本数量对所述预处理数据集进行拆分,得到所述多个子数据集。
可选的,对所述预处理数据集进行拆分,得到多个子数据集,包括:
基于所述预处理数据集的维度数量对所述预处理数据集进行拆分,得到所述多个子数据集。
可选的,将所述多个子数据集发送至对应的工作节点中,包括:
基于同步并行通信方式将所述多个子数据集发送至对应的工作节点中。
可选的,每个所述工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数,包括:
每个所述工作节点基于对应的子数据集、学习率、内循环次数、外循环批大小以及内循环批大小进行双循环训练,得到局部模型参数;
将所述局部模型参数发送至所述服务器;
所述服务器将所述局部模型参数进行聚合得到全局模型参数,并将所述全局模型参数发送至每个所述工作节点,以便每个所述工作节点基于所述全局模型参数进行双循环训练,直至所述深度学习模型为收敛状态,得到最终的所述局部模型参数。
本申请还提供一种深度学习模型训练装置,包括:
数据预处理模块,用于对样本数据集进行预处理,得到预处理数据集;
数据集拆分模块,用于对所述预处理数据集进行拆分,得到多个子数据集;
分布式训练模块,用于将所述多个子数据集发送至对应的工作节点中,以便每个所述工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数;
参数处理模块,用于当所述深度学习模型为收敛状态时,将接收到的多个局部模型参数进行整合,得到训练结果。
本申请还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上所述的深度学习模型训练方法的步骤。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的深度学习模型训练方法的步骤。
本申请所提供的一种深度学习模型训练方法,包括:服务器对样本数据集进行预处理,得到预处理数据集;对所述预处理数据集进行拆分,得到多个子数据集;将所述多个子数据集发送至对应的工作节点中,以便每个所述工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数;当所述深度学习模型为收敛状态时,将接收到的多个局部模型参数进行整合,得到训练结果。
通过将预处理数据集拆分为多个子数据集,将多个子数据结发送至对应的工作节点,并使每个工作节点基于接收到的子数据集进行双循环训练,最后当深度学习模型处于收敛状态时,将训练得到的多个局部模型参数进行聚合,得到训练结果,实现了多个工作节点基于小批量的子数据集进行训练,提高了进行深度学习模型训练的效率。
本申请还提供一种深度学习模型训练装置、服务器以及计算机可读存储介质,具有以上有益效果,在此不做赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种深度学习模型训练方法的流程图;
图2为本申请实施例所提供的一种深度学习模型训练方法的结构示意图;
图3为本申请实施例所提供的一种深度学习模型训练装置的结构示意图。
具体实施方式
本申请的核心是提供一种深度学习模型训练方法、深度学习模型训练装置、服务器以及计算机可读存储介质,以提高进行深度学习模型进行训练的效率。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,可以在模型训练的参数中进行优化,以便对训练过程进行加速。但是依然存在不足:第一,算法的通用性受限。现有的算法大多针对某些特定的应用场景、特定数据集、特定模型表现出良好的性能。但是当其迁移到其他应用场景或数据集,性能往往差强人意;第二,算法的复杂性普遍较高。现有的算法虽然考虑了大量的指标因素,一定程度上提升调度精度,但是同时也带来了计算复杂性较高的问题。第三,可扩展性较差。可见,由于算法本身复杂度高并且需要消耗大量的存储空间,因而难以实现加速计算的有效扩展,无法有效减少算法的时间开销,降低了训练过程的效率。
因此,本申请提供一种深度学习模型训练方法,通过将预处理数据集拆分为多个子数据集,将多个子数据结发送至对应的工作节点,并使每个工作节点基于接收到的子数据集进行双循环训练,最后当深度学习模型处于收敛状态时,将训练得到的多个局部模型参数进行聚合,得到训练结果,实现了多个工作节点基于小批量的子数据集进行训练,提高了进行深度学习模型训练的效率。
以下通过一个实施例,对本申请提供的一种深度学习模型训练方法进行说明。
请参考图1,图1为本申请实施例所提供的一种深度学习模型训练方法的流程图。
本实施例中,该方法可以包括:
S101,服务器对样本数据集进行预处理,得到预处理数据集;
本步骤旨在服务器对样本数据集进行预处理,得到预处理数据集。也就是,进行分布式训练的前期准备处理。本步骤中可以采用现有技术中提供的任意一种预处理方式进行处理。
其中,预处理可以包括数据清理和去除噪声。数据清理和去除噪声环节对算法的精确性以及性能起着至关重要的作用。由于输入的原始的样本数据集含有噪声以及数据格式等其他问题,因此需要对原始输入的数据进行数据清洗和预处理。经过数据预处理并将原始的数据转化为算法要求的标准输入格式后方可执行后续操作。此外,深度学习模型也可根据实际应用场景进行预处理。
进一步的,本步骤可以包括:
服务器对样本数据集进行数据清洗,得到预处理数据集。
可见,本可选方案中主要是说明如何对样本数据集进行预处理。本可选方案中,服务器对样本数据集进行数据清洗,得到预处理数据集。
进一步的,本步骤中还可以对进行训练的模型进行预处理,也就是将模型调整至适于进行训练的状态。因此,将多个子数据集发送至对应的工作节点中的步骤之前,还可以包括:
步骤1,对原始深度学习模型进行预处理,得到深度学习模型;
步骤2,将深度学习模型发送至对应的工作节点中。
可见,本可选方案中主要是说明还可以将深度学习模型进行预处理。本可选方案中,对原始深度学习模型进行预处理,得到深度学习模型,将深度学习模型发送至对应的工作节点中。
S102,对预处理数据集进行拆分,得到多个子数据集;
在S101的基础上,本步骤旨在对预处理数据集进行拆分,得到多个子数据集。
现有技术中,深度学习模型训练通常依赖于大量的样本,而如此大规模的样本的存储和计算面临困难。因此,为了保持进行训练学习的效率,需要对数据进行拆分,使得拆分后的子数据集分配到不同的工作节点之上,各个工作节点依据其分配到的子数据集与模型进行训练。
可以假定训练数据集有m个样本,简记为[m]=[1,2,…,m],每个样本由d维特征表示,分布式环境中有n个工作节点,需要将这m个样本以某种方式分配到n个工作节点之上。其中,数据集拆分可以按照数据样本与数据维度两个角度进行进一步细分。
进一步的,当按照数据样本的数量对数据集进行拆分时,可以采用随机采样法或置乱切分法对数据集进行拆分。
进一步的,本步骤可以包括:
基于预处理数据集的样本数量对预处理数据集进行拆分,得到多个子数据集。
可见,本可选方案中主要是说明可以基于样本数量进行数据集拆分。
进一步的,本步骤可以包括:
基于预处理数据集的维度数量对预处理数据集进行拆分,得到多个子数据集。
可见,本可选方案中主要是说明可以基于维度数量进行数据集拆分。
S103,将多个子数据集发送至对应的工作节点中,以便每个工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数;
在S102的基础上,将多个子数据集发送至对应的工作节点中,以便每个工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数。
也就是,采用参数服务器的分布式架构,在该架构中同时包含中心服务器与工作节点两种角色。中心服务器可以由1个或者一组服务器承担,负责接收n个工作节点发送的梯度、参数等信息,进行汇总计算。并向工作节点发送汇总后的全局信息等工作。n个工作节点由主机或PC机构成,负责本地局部数据模型训练、梯度计算、优化器计算、向中心服务器传递上述信息等工作。
进一步的,本步骤可以包括:
基于同步并行通信方式将多个子数据集发送至对应的工作节点中。
可见,该可选方案主要是说明如何进行子数据集的发送。本可选方案中,基于同步并行通信方式将多个子数据集发送至对应的工作节点中也就是使多个工作节点可以并行接收到对应的子数据集,并并行的对子数据集进行处理,提高了进行训练的效率。
进一步的,本步骤可以包括:
步骤1,每个工作节点基于对应的子数据集、学习率、内循环次数、外循环批大小以及内循环批大小进行双循环训练,得到局部模型参数;
步骤2,将局部模型参数发送至服务器;
步骤3,服务器将局部模型参数进行聚合得到全局模型参数,并将全局模型参数发送至每个工作节点,以便每个工作节点基于全局模型参数进行双循环训练,直至深度学习模型为收敛状态,得到最终的局部模型参数。
可见,本可选方案中主要是说明如何进行双循环训练。本可选方案中,每个工作节点基于对应的子数据集、学习率、内循环次数、外循环批大小以及内循环批大小进行双循环训练,得到局部模型参数;将局部模型参数发送至服务器;服务器将局部模型参数进行聚合得到全局模型参数,并将全局模型参数发送至每个工作节点,以便每个工作节点基于全局模型参数进行双循环训练,直至深度学习模型为收敛状态,得到最终的局部模型参数。实现了每一轮训练过程中的局部模型参数可以在全局的工作节点中进行调整,保持每个部分的工作节点的训练过程有效,避免出现训练偏离的问题。
S104,当深度学习模型为收敛状态时,将接收到的多个局部模型参数进行整合,得到训练结果。
在S103的基础上,本步骤旨在当深度学习模型为收敛状态时,将接收到的多个局部模型参数进行整合,得到训练结果。也就是,在训练达到预设条件时,将接收到的多个局部模型参数进行整合,得到训练结果。
综上,本实施例通过将预处理数据集拆分为多个子数据集,将多个子数据结发送至对应的工作节点,并使每个工作节点基于接收到的子数据集进行双循环训练,最后当深度学习模型处于收敛状态时,将训练得到的多个局部模型参数进行聚合,得到训练结果,实现了多个工作节点基于小批量的子数据集进行训练,提高了进行深度学习模型训练的效率。
以下通过一个具体的实施例,对本申请提供一种深度学习模型训练方法做进一步说明。
请参考图2,图2为本申请实施例所提供的一种深度学习模型训练方法的结构示意图。
本实施例的图2中,该方法的执行结构中可以包括:数据清洗和预处理模块、数据集拆分模块、分布式加速计算模块、结果输出模块。
其中,数据清洗和预处理模块将数据集与深度学习模型进行去噪、预处理,使得数据与模型转化为算法的标准输入格式;
其中,数据集拆分模块对预处理过后的数据集按照数据并行的方式拆分成n个子数据集合;
其中,分布式加速计算模块利用子数据集、深度学习模型、DLDMB(Double Loopswith Double Mini-Batches,小批量数据样本的双循环加速计算)算法、设计基于参数服务器架构的分布式加速计算方法;
其中,结果输出模块,将分布式加速计算模块产生的结果输出,完成深度学习模型训练任务;
进一步的,数据清洗和预处理模块中数据清理和去除噪声环节的好坏对算法的精确性以及性能起着至关重要的作用。由于输入的原始的样本数据集含有噪声以及数据格式等其他问题,因此需要对原始输入的数据进行数据清洗和预处理。经过数据预处理并将原始的数据转化为算法要求的标准输入格式后执行后续的过程。此外,深度学习模型也可根据实际应用场景进行预处理。
进一步的,数据集拆分模块中,由于深度学习模型训练通常依赖于大量的样本,而如此大规模的样本的存储和计算面临困难,此时需要对数据进行拆分,使得拆分后的子数据集分配到不同的工作节点之上,各个工作节点依据其分配到的子数据集与模型进行训练。假定训练数据集有m个样本,简记为[m]=[1,2,…,m],每个样本由d维特征表示,分布式环境中有n个工作节点,需要将这m个样本以某种方式分配到n个工作节点之上。数据集拆分可以按照数据样本与数据维度两个角度进行进一步细分。
其中,数据样本划分可以随机采样法或置乱切分法。
其中,随机采样法包括以下步骤:
步骤1,针对每个工作节点,计算m/n,即每个工作节点待抽取的样本数目;
步骤2,独立同分布地从m个样本中有放回地随机采样,抽取m/n个样本将其分配到一个工作节点;
步骤3,重复以上操作,直到所有n个工作节点完成上述随机采样过程。
置乱切分法将训练数据进行随机置乱,然后按照工作节点的数目将打乱后的数据样本顺序划分成相应的小份,随后将这些小份数据样本分配到各个工作节点。每个工作节点在进行模型训练的过程中,只利用分配给自身的局部数据样本,并且会定期地将局部数据再打乱和重新分配。
其中,数据维度划分:如果训练数据样本的维度比较高,也可以采用数据维度的划分方式。例如,m个d维的样本,按照数据维度划分的方式分配到n个工作节点。首先计算d/n,其次每个工作节点都会分配m个d/n维的样本。其中,相比于数据样本划分,数据维度划分与模型性质、优化算法的耦合度较高。
不同的数据划分方式有其优势与劣势。对于数据样本划分而言,优势在于该方法可以保证每个工作节点的局部训练数据与原始训练数据是独立同分布的,因此在训练的效果上有理论保证;缺点是如果随机采样的次数小于数据样本的数目,可能导致有些训练样本未被抽取,因此这些样本的特征未被充分考虑,引起训练精度不高的问题。置乱切分操作简单、复杂度低、可以保证每个样本均被抽取,但是置乱切分并不能保证局部数据集与原始全局数据集具有相同的数据分布。综上,在实际分布式训练过程中,要结合数据集自身特性、研究问题具体应用场景等因素,选择合适的数据集拆分策略。
进一步的,分布式加速计算模块基于深度学习模型训练的分布式加速计算方法,可以包括分布式计算架构、分布式通信模式以及分布式加速算法。
其中,分布式计算架构(Distributed Computing Architecture,DCA),即分布式计算方式。本实施例采用参数服务器的分布式架构,在该架构中同时包含中心服务器与工作节点两种角色。中心服务器可以由1个或者一组服务器承担,负责接收n个工作节点发送的梯度、参数等信息,进行汇总计算,并向工作节点发送汇总后的全局信息等工作。n个工作节点由主机或PC机构成,负责本地局部数据模型训练、梯度计算、优化器计算、向中心服务器传递上述信息等工作;
其中,分布式通信模式(Distributed Communication,DC),即中心服务器与工作节点之间的通信方式。
本实施例采用同步并行的通信方式,主要包括如下步骤:
步骤1,当一个工作节点完成了其梯度或参数的计算工作之后,需等待其他工作节点完成相应模型训练,再将其当前的计算结果直接发送到中心服务器处;
步骤2,中心服务器收到工作节点发来的信息之后,计算与聚合当前全局梯度或参数,并将最新的全局信息反馈给各个工作节点;
步骤3,各个工作节点收到中心节点反馈的最新全局信息之后,继续同步进行下一次迭代计算;
步骤4,重复迭代执行上述过程,直到模型训练过程收敛为止。
其中,分布式加速算法,即小批量数据样本的双循环加速计算方法(Double Loopswith Double Mini-Batches,DLDMB)。该方法包括工作节点端算法与中心服务器端算法。首先详细说明工作节点端算法,然后介绍中心服务器端算法。
其中,工作节点端算法的处理过程可以包括:
算法输入:学习率
Figure 10252DEST_PATH_IMAGE001
,内循环次数
Figure 170975DEST_PATH_IMAGE002
,外循环批大小
Figure 203653DEST_PATH_IMAGE003
,内循环批大小
Figure 699095DEST_PATH_IMAGE004
算法输出:深度学习模型参数
Figure 193530DEST_PATH_IMAGE005
初始化:获取中心服务器初始化模型参数
Figure 552967DEST_PATH_IMAGE006
外循环:对于外部循环指标
Figure 818863DEST_PATH_IMAGE007
=1,2,…,执行如下操作:
步骤1,
Figure 896541DEST_PATH_IMAGE008
步骤2,从
Figure 788142DEST_PATH_IMAGE009
个样本集中
Figure 267665DEST_PATH_IMAGE010
随机采样
Figure 438883DEST_PATH_IMAGE011
次,生成一个mini batch规模为
Figure 3857DEST_PATH_IMAGE012
的子数据样本集合
Figure 981040DEST_PATH_IMAGE013
步骤3,计算其随机梯度
Figure 564337DEST_PATH_IMAGE014
步骤4,迭代:
Figure 172036DEST_PATH_IMAGE015
其中,
Figure 958726DEST_PATH_IMAGE016
为上一次计算的模型参数。
内循环:对于内部循环指标
Figure 474021DEST_PATH_IMAGE017
=1,2,…,
Figure 928137DEST_PATH_IMAGE018
,并执行如下操作:
步骤1,从
Figure 690425DEST_PATH_IMAGE018
个样本集中
Figure 229991DEST_PATH_IMAGE019
随机采样
Figure 752239DEST_PATH_IMAGE020
次,生成一个mini batch规模为
Figure 857598DEST_PATH_IMAGE021
的子数据样本集合
Figure 807100DEST_PATH_IMAGE022
步骤2,计算基于
Figure 552071DEST_PATH_IMAGE023
的随机梯度:
Figure 878010DEST_PATH_IMAGE024
其中,
Figure 41138DEST_PATH_IMAGE025
为上一次的随机梯度。
步骤3,迭代:
Figure 958278DEST_PATH_IMAGE026
内循环结束,输出
Figure 472436DEST_PATH_IMAGE027
外循环结束,将
Figure 320175DEST_PATH_IMAGE028
发送到中心服务器处。
其中,中心服务器端算法的处理过程可以包括:
算法输入:各工作节点
Figure 337810DEST_PATH_IMAGE029
发送的局部模型参数
Figure 691431DEST_PATH_IMAGE030
算法输出:全局模型参数
Figure 54122DEST_PATH_IMAGE031
循环:对于所有工作节点
Figure 190705DEST_PATH_IMAGE032
,获取其第
Figure 62846DEST_PATH_IMAGE033
次迭代局部模型参数
Figure 305477DEST_PATH_IMAGE034
,并执行循环:
步骤1,计算
Figure 263069DEST_PATH_IMAGE035
步骤2,获取平均值
Figure 937764DEST_PATH_IMAGE036
步骤3,将上述平均值发送到各个工作节点处;
执行到循环结束。
最后,当深度学习模型收敛,分布式算法执行停止,此时将最结模型训练结果进行输出。
可见,本实施例基于数据并行的分布式架构设计了一种。通过引入
Figure 726728DEST_PATH_IMAGE037
Figure 874682DEST_PATH_IMAGE038
两个超参数,随机选抽取定量的随机样本,构建双循环迭代算法,加快深度学习模型训练收敛,减少算法时间开销。此外,不同于传统方法要求全梯度的计算,本实施例仅计算少量样本的随机梯度,因而本实施例可以有效减少现有算法的时间开销以及存储开销。再者,本实施例在内循环结构中,计算一个小批量样本的集合的随机梯度而不是仅计算单个样本的随机梯度,因此增加DLDMB方法的精确性与稳定性。本方法的优点在于提供了深度学习模型,特别是针对神经网络模型,加速计算的通用策略。
下面对本申请实施例提供的深度学习模型训练装置进行介绍,下文描述的深度学习模型训练装置与上文描述的深度学习模型训练方法可相互对应参照。
请参考图3,图3为本申请实施例所提供的一种深度学习模型训练装置的结构示意图。
本实施例中,该装置可以包括:
数据预处理模块100,用于对样本数据集进行预处理,得到预处理数据集;
数据集拆分模块200,用于对预处理数据集进行拆分,得到多个子数据集;
分布式训练模块300,用于将多个子数据集发送至对应的工作节点中,以便每个工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数;
参数处理模块400,用于当深度学习模型为收敛状态时,将接收到的多个局部模型参数进行整合,得到训练结果。
可选的,该数据预处理模块100,具体用于对样本数据集进行数据清洗,得到预处理数据集。
可选的,该装置还可以包括:
模型预处理模块,用于对原始深度学习模型进行预处理,得到深度学习模型;将深度学习模型发送至对应的工作节点中。
可选的,该数据集拆分模块200,具体用于基于预处理数据集的样本数量对预处理数据集进行拆分,得到多个子数据集。
可选的,该数据集拆分模块200,具体用于基于预处理数据集的维度数量对预处理数据集进行拆分,得到多个子数据集。
可选的,该分布式训练模块300,具体用于基于同步并行通信方式将多个子数据集发送至对应的工作节点中。
可选的,该工作节点,具体用于基于对应的子数据集、学习率、内循环次数、外循环批大小以及内循环批大小进行双循环训练,得到局部模型参数;将局部模型参数发送至服务器;
相应的,该分布式训练模块300,具体用于将局部模型参数进行聚合得到全局模型参数,并将全局模型参数发送至每个工作节点,以便每个工作节点基于全局模型参数进行双循环训练,直至深度学习模型为收敛状态,得到最终的局部模型参数。
本申请实施例还提供一种服务器,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如以上实施例所述的深度学习模型训练方法的步骤。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如以上实施例所述的深度学习模型训练方法的步骤。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的一种深度学习模型训练方法、深度学习模型训练装置、服务器以及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。

Claims (9)

1.一种深度学习模型训练装置,其特征在于,包括:
数据预处理模块,用于对样本数据集进行预处理,得到预处理数据集;
数据集拆分模块,用于对所述预处理数据集进行拆分,得到多个子数据集;
分布式训练模块,用于将所述多个子数据集发送至对应的工作节点中,以便每个所述工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数;
参数处理模块,用于当所述深度学习模型为收敛状态时,将接收到的多个局部模型参数进行整合,得到训练结果;
每个所述工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数,包括:每个所述工作节点基于对应的子数据集、学习率、内循环次数、外循环批大小以及内循环批大小进行双循环训练,得到局部模型参数;将所述局部模型参数发送至服务器;所述服务器将所述局部模型参数进行聚合得到全局模型参数,并将所述全局模型参数发送至每个所述工作节点,以便每个所述工作节点基于所述全局模型参数进行双循环训练,直至所述深度学习模型为收敛状态,得到最终的所述局部模型参数。
2.一种深度学习模型训练方法,其特征在于,包括:
服务器对样本数据集进行预处理,得到预处理数据集;
对所述预处理数据集进行拆分,得到多个子数据集;
将所述多个子数据集发送至对应的工作节点中,以便每个所述工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数;
当所述深度学习模型为收敛状态时,将接收到的多个局部模型参数进行整合,得到训练结果;
其中,每个所述工作节点基于对应的子数据集对深度学习模型进行双循环训练,得到并发送局部模型参数,包括:
每个所述工作节点基于对应的子数据集、学习率、内循环次数、外循环批大小以及内循环批大小进行双循环训练,得到局部模型参数;将所述局部模型参数发送至所述服务器;所述服务器将所述局部模型参数进行聚合得到全局模型参数,并将所述全局模型参数发送至每个所述工作节点,以便每个所述工作节点基于所述全局模型参数进行双循环训练,直至所述深度学习模型为收敛状态,得到最终的所述局部模型参数。
3.根据权利要求2所述的深度学习模型训练方法,其特征在于,服务器对样本数据集进行预处理,得到预处理数据集,包括:
服务器对所述样本数据集进行数据清洗,得到所述预处理数据集。
4.根据权利要求2所述的深度学习模型训练方法,其特征在于,将所述多个子数据集发送至对应的工作节点中的步骤之前,还包括:
对原始深度学习模型进行预处理,得到所述深度学习模型;
将所述深度学习模型发送至对应的工作节点中。
5.根据权利要求2所述的深度学习模型训练方法,其特征在于,对所述预处理数据集进行拆分,得到多个子数据集,包括:
基于所述预处理数据集的样本数量对所述预处理数据集进行拆分,得到所述多个子数据集。
6.根据权利要求2所述的深度学习模型训练方法,其特征在于,对所述预处理数据集进行拆分,得到多个子数据集,包括:
基于所述预处理数据集的维度数量对所述预处理数据集进行拆分,得到所述多个子数据集。
7.根据权利要求2所述的深度学习模型训练方法,其特征在于,将所述多个子数据集发送至对应的工作节点中,包括:
基于同步并行通信方式将所述多个子数据集发送至对应的工作节点中。
8.一种服务器,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求2至7任一项所述的深度学习模型训练方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求2至7任一项所述的深度学习模型训练方法的步骤。
CN202210321245.9A 2022-03-30 2022-03-30 一种深度学习模型训练方法及相关装置 Active CN114418129B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210321245.9A CN114418129B (zh) 2022-03-30 2022-03-30 一种深度学习模型训练方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210321245.9A CN114418129B (zh) 2022-03-30 2022-03-30 一种深度学习模型训练方法及相关装置

Publications (2)

Publication Number Publication Date
CN114418129A CN114418129A (zh) 2022-04-29
CN114418129B true CN114418129B (zh) 2022-07-15

Family

ID=81262899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210321245.9A Active CN114418129B (zh) 2022-03-30 2022-03-30 一种深度学习模型训练方法及相关装置

Country Status (1)

Country Link
CN (1) CN114418129B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114756383B (zh) * 2022-06-15 2023-06-16 苏州浪潮智能科技有限公司 一种分布式计算方法、系统、设备及存储介质
CN115310566A (zh) * 2022-10-12 2022-11-08 浪潮电子信息产业股份有限公司 分布式训练系统、方法、装置、设备及可读存储介质
CN116681973B (zh) * 2023-08-03 2023-11-03 浪潮电子信息产业股份有限公司 一种图像处理方法、装置、系统、设备及计算机存储介质
CN117808128A (zh) * 2024-02-29 2024-04-02 浪潮电子信息产业股份有限公司 数据异构条件下的图像处理方法、联邦学习方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3480782A1 (en) * 2017-11-02 2019-05-08 Vrije Universiteit Brussel Method and device for reducing noise in a depth image
CN111709533A (zh) * 2020-08-19 2020-09-25 腾讯科技(深圳)有限公司 机器学习模型的分布式训练方法、装置以及计算机设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3480782A1 (en) * 2017-11-02 2019-05-08 Vrije Universiteit Brussel Method and device for reducing noise in a depth image
CN111709533A (zh) * 2020-08-19 2020-09-25 腾讯科技(深圳)有限公司 机器学习模型的分布式训练方法、装置以及计算机设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
三、神经网络基础组件;无;《PyTorch 自然语言处理》;20181228;1-35 *

Also Published As

Publication number Publication date
CN114418129A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN114418129B (zh) 一种深度学习模型训练方法及相关装置
CN114756383B (zh) 一种分布式计算方法、系统、设备及存储介质
Yu et al. Double quantization for communication-efficient distributed optimization
Dekel et al. Optimal Distributed Online Prediction Using Mini-Batches.
Huo et al. Faster on-device training using new federated momentum algorithm
Feng et al. Mobility-aware cluster federated learning in hierarchical wireless networks
US11436065B2 (en) System for efficient large-scale data distribution in distributed and parallel processing environment
CN112784968A (zh) 一种加速分布式深度神经网络训练的混合流水线并行方法
Jiang et al. Fedmp: Federated learning through adaptive model pruning in heterogeneous edge computing
Jin et al. P 2 LSA and P 2 LSA+: Two paralleled probabilistic latent semantic analysis algorithms based on the MapReduce model
CN117354330A (zh) 一种改进的边缘计算IoT大数据分析架构
Mu et al. Communication and storage efficient federated split learning
CN108427773B (zh) 一种分布式知识图谱嵌入方法
Dai et al. A distributed sgd algorithm with global sketching for deep learning training acceleration
Gao et al. Federated optimization based on compression and event-triggered communication
Zeng et al. Training acceleration for deep neural networks: A hybrid parallelization strategy
CN110309367A (zh) 信息分类的方法、信息处理的方法和装置
Shen et al. Asynchronous stochastic composition optimization with variance reduction
Nouri et al. Scalable graph embedding learningon a single gpu
CN111722937B (zh) 深度学习权重更新方法、装置
Yang et al. FedMAE: Federated Self-Supervised Learning with One-Block Masked Auto-Encoder
Qin Hardware-friendly deep learning by network quantization and binarization
Borja et al. Scalable Federated Learning Simulations Using Virtual Client Engine in Flower
Kermarrec et al. Improving communication-efficiency in Decentralized and Federated Learning Systems
Saadat et al. LGCM: A Communication-Efficient Scheme for Federated Learning in Edge Devices

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