CN111429142A - 一种数据处理方法、装置及计算机可读存储介质 - Google Patents

一种数据处理方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN111429142A
CN111429142A CN202010520738.6A CN202010520738A CN111429142A CN 111429142 A CN111429142 A CN 111429142A CN 202010520738 A CN202010520738 A CN 202010520738A CN 111429142 A CN111429142 A CN 111429142A
Authority
CN
China
Prior art keywords
data
gradient
quantized
target
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.)
Granted
Application number
CN202010520738.6A
Other languages
English (en)
Other versions
CN111429142B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202010520738.6A priority Critical patent/CN111429142B/zh
Publication of CN111429142A publication Critical patent/CN111429142A/zh
Application granted granted Critical
Publication of CN111429142B publication Critical patent/CN111429142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Abstract

本申请实施例公开了一种数据处理方法、装置及计算机可读存储介质,本申请实施例通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;控制工作节点运算器根据第一模型参数计算相应的第一梯度数据,并对第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;根据工作节点运算器对第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;基于服务节点调度器根据接收的第三梯度数据对模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至收敛。以此,通过双重量化降低数据通信量进行批量处理,极大的提升了数据处理处理效率。

Description

一种数据处理方法、装置及计算机可读存储介质
技术领域
本申请涉及云技术领域,具体涉及一种数据处理方法、装置及计算机可读存储介质。
背景技术
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术可以应用到多个领域,例如云计算、云存储和人工智能云服务等等,该人工智能云服务可以将人工智能功能部署在专属的云服务器中。
现有技术中,基于梯度下降算法的神经网络训练方法近年来受到广泛关注,然而受制于单台机器所能达到的性能的上限,使用分布式集群实现人工智能云服务的训练方式可以明显提高深度神经网络训练的速度。
在对现有技术的研究和实践过程中,本申请的发明人发现,现有技术中,分布式集群中负责调度的服务节点调度器和负责计算的工作节点运算器之间存在大量复杂的数据通信处理,造成训练时间较长,数据处理的效率较低。
发明内容
本申请实施例提供一种数据处理方法、装置及计算机可读存储介质,可以提升数据处理的效率。
为解决上述技术问题,本申请实施例提供以下技术方案:
一种数据处理方法,包括:
通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;
控制所述工作节点运算器根据所述第一模型参数计算相应的第一梯度数据,并对所述第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;
根据所述工作节点运算器对所述第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;
基于所述服务节点调度器根据接收的所述第三梯度数据对所述模型参数进行更新,并返回执行所述通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至所述模型参数收敛。
相应的,本申请实施例还提供一种数据处理装置,包括:
第一量化单元,用于通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;
误差补偿单元,用于控制所述工作节点运算器根据所述第一模型参数计算相应的第一梯度数据,并对所述第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;
第二量化单元,用于根据所述工作节点运算器对所述第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;
更新迭代单元,用于基于所述服务节点调度器根据接收的所述第三梯度数据对所述模型参数进行更新,并返回执行所述通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至所述模型参数收敛。
在一些实施例中,所述第一计算子单元,用于:
获取预设训练数据;
控制所述工作节点运算器根据所述第一模型参数对所述预设训练数据进行并行训练;
在所述工作节点运算器完成训练时,基于所述工作节点运算器根据反向传播算法计算出相应的第一梯度数据。
在一些实施例中,所述第一量化单元,用于:
控制所述服务节点调度器将模型参数的数据类型由浮点数据类型转化为定点整数数据类型,得到量化后的第一模型参数;
将所述量化后的第一模型参数分发到工作节点运算器。
在一些实施例中,所述更新迭代单元,包括:
第一计算子单元,用于控制服务节点调度器计算接收的所述第三梯度数据的平均值,得到目标梯度数据;
第二计算子单元,用于计算当前的模型参数与所述目标梯度数据之和,得到更新后的模型参数;
迭代训练子单元,用于返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至所述模型参数收敛。
在一些实施例中,所述第一计算子单元,用于:
控制服务节点调度器计算接收的所述第三梯度数据的总和,得到第三数值;
获取所述工作节点运算器的数量值,并将所述第三数值与所述工作节点运算器的数量值的比值确定为目标梯度数据。
相应的,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行上述数据处理方法中的步骤。
本申请实施例通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;控制工作节点运算器根据第一模型参数计算相应的第一梯度数据,并对第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;根据工作节点运算器对第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;基于服务节点调度器根据接收的第三梯度数据对模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至模型参数收敛。以此,通过对工作节点运算器和服务节点调度器之间传输的数据进行双重量化,相对于目前分布式集群中负责调度的服务节点调度器和负责计算的工作节点运算器之间存在大量复杂的数据通信处理的方案,降低数据通信传输量,极大的提升了数据处理处理的效率,且对于工作节点运算器的第一梯度数据进行误差补偿策略减少量化通信带来的误差,还提升了数据处理的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的分布式集群的结构示意图;
图2是本申请实施例提供的数据处理方法的流程示意图;
图3是本申请实施例提供的数据处理方法的另一流程示意图;
图4是本申请实施例提供的数据处理装置的结构示意图;
图5是本申请实施例提供的服务器的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种数据处理方法、装置及计算机可读存储介质。
请参阅图1,图1为本申请实施例所提供的分布式集群的结构示意图,该分布式集群可以集成在服务器中,该服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。该分布式集群包括:服务节点调度器A、多个工作节点运算器B和预设训练数据C。
该服务节点调度器 (sever)A用于保存模型参数,将模型参数分发至每一工作节点运算器(Worker)B,接收多个工作节点运算器B计算出的局部梯度、汇总计算全局梯度,并通过汇总计算全局梯度来更新模型参数。
该每一工作节点运算器B用于保存各自部分的训练数据,不断的从服务节点调度器拉取最新的模型参数,根据各自部分的训练数据计算相应的局部梯度,并将相应的局部梯度上传至服务节点调度器中,每一工作节点运算器B之间无法实现通信,只能与该服务节点调度器之间完成通信。
该预设训练数据C根据工作节点运算器B的数量进行分发,使得该预设训练数据C可以并发式训练,相对于单台机器训练的方案,可以明显提高深度神经网络训练的速度。
通过上述的分布式集群可以实现该服务节点调度器A将模型参数分发至每一工作节点运算器B,每一工作节点运算器B只负责载入一部分预设训练数据,每一工作节点运算器B只载入一部分预设训练数据,根据从服务节点调度器A拉取的最新的模型参数对该一部分预设数据进行训练,计算相应的局部梯度,例如梯度1、梯度2、…、梯度m,每一工作节点运算器B将相应的局部梯度上传回服务节点调度器A,该服务节点调度器A汇总所有的局部梯度更新模型参数,并重新将更新后模型参数分发至每一工作节点运算器B迭代进行训练,直至该模型参数收敛。
但是,目前的分布式集群中,服务节点调度器A和工作节点运算器B之间进行传递的模型参数和梯度数据的通讯传输量过大,使得网络训练时,内存和处理器飞速消耗,且会影响模型训练的时间,因此,本申请实施例可以通过服务节点调度器A对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器B,控制该工作节点运算器B根据第一模型参数计算相应的第一梯度,并对该第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据,根据该工作节点运算器B对该第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器A,基于该服务节点调度器A根据接收的该第三梯度数据对该模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至该模型参数收敛,通过将工作节点运算器B和服务节点调度器A之间互相传输的数据进行双重量化,可以降低数据通信传输量,极大的提升了数据处理的效率,且对于工作节点运算器B的第一梯度数据进行误差补偿策略减少后续量化通信带来的误差,还提升了数据处理的准确性。
需要说明的是,图1所示的分布式集群的结构示意图仅仅是一个示例,本申请实施例描述的分布式集群以及场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着分布式集群的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。
实施例一、
在本实施例中,将从数据处理装置的角度进行描述,该数据处理装置具体可以集成在具备储存单元并安装有微处理器而具有运算能力的服务器中。
请参阅图2,图2是本申请实施例提供的数据处理方法的流程示意图。该数据处理方法包括:
在步骤101中,通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器。
需要说明的是,本申请实施例用于机器学习(Machine Learning, ML),该机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。例如,应用于图像分类(Image Classification)、目标检测(Object Detection)、自然语言处理(NaturalLanguage Processing)等任务。
其中,随着神经网络模型规模越来越大,神经网络模型训练消耗的资源和时间越来越大,因此,需要尽量降低神经网络模型的运算量,提升神经网络模型训练的效率,该服务节点调度器主要用于神经网络模型运算进行资源,而该工作节点运算器用于神经网络模型训练,该工作节点运算器为多个,可以并行的对神经网络模型进行训练,与相关技术不同的是,本申请实施例在通过服务节点调度器将该模型参数分发到不同工作节点运算器之前,可以通过服务节点调度器对模型参数进行量化处理,将量化后的第一模型参数分发到不同的工作节点运算器中,该量化处理可以将该模型参数进行压缩,使得传输的效率以及工作节点运算器对于压缩后的第一模型参数后续的运算速度更快,加快训练的速度。
在一些实施方式中,该通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器,包括:
(1)控制该服务节点调度器将模型参数的数据类型由浮点数据类型转化为定点整数数据类型,得到量化后的第一模型参数;
(2)将该量化后的第一模型参数分发到工作节点运算器。
其中,常规的模型参数为32位浮点(FP32)数据类型,使用该32位浮点数据类型进行浮点运算的运算量较大,在一实施方式中,该常规的模型参数还可以为16位浮点(FP16)数据类型等等,以此,本申请实施例可以将模型参数的数据类型由32位浮点数据类型转化为8位的定点整数(INT8)数据类型,得到量化后的第一模型参数,使得量化后的第一模型参数的数据量大小极大的降低。
进一步的,将该量化后的第一模型参数分发到不同的工作节点运算器中,由于该量化后的第一模型参数的数据量大小降低,所以该分发的速度远远快于常规的模型参数的分发。
在步骤102中,控制工作节点运算器根据第一模型参数计算相应的第一梯度数据,并对第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据。
需要说明的是,在机器学习算法的训练过程为产生一条曲线来拟合现有的数据,实现对于后续数据的预测,由于产生的拟合曲线并不是完全和现有的数据的点重合,因此,两者之间会产生一个误差,机器学习算法不同的参数会产生不同的拟合曲线,即不同的误差,损失函数即为一个自变量为机器学习算法的参数,函数值为误差值的函数,为了使得误差值尽可能小,我们需要获取每一工作节点运算器上的梯度数据,实现后续损失函数的梯度下降,找到误差值最小时机器学习算法的参数,完成训练。
其中,每一工作节点运算器中均载入一部分的预设训练数据,在该节点运算器接收了服务节点调度器分发的量化后的第一模型参数后,可以通过该工作节点运算器根据第一模型参数对相应部分的预设训练数据进行训练,在训练之后,根据反向传播方法获取相应的第一梯度数据,该梯度数据可以理解为导数。
进一步的,为了避免后续对该梯度数据进行量化导致梯度误差,本申请实施例还可以对该第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据。
在一些实施方式中,该控制工作节点运算器根据第一模型参数计算相应的第一梯度数据的步骤,可以包括:
(1)获取预设训练数据;
(2)控制该工作节点运算器根据该第一模型参数对该预设训练数据进行并行训练;
(3)在该工作节点运算器完成训练时,基于该工作节点运算器根据反向传播算法计算出相应的第一梯度数据。
其中,可以获取预设训练数据,该预设训练数据均包含标签信息,在该节点运算器接收了服务节点调度器分发的量化后的第一模型参数后,可以从该预设训练数据中随机挑选部分预设训练数据进行并行训练。
进一步的,在每一工作节点运算器完成训练之后,基于链式法则,即神经网络模型中上一层的输出是下一次的输入,将输出单元的梯度反向传播输入单元,计算出相应的第一梯度数据。
在一些实施方式中,该触发启动该开源集群计算框架中的计算应用程序管理器的步骤,可以包括:
(1.1)通过该调度全局资源管理器选择第一目标节点资源任务管理器;
(1.2)基于该第一目标节点资源任务管理器启动该资源调度系统中的调度应用程序管理器;
(1.3)在该调度应用程序管理器中启动开源集群计算框架中的计算应用程序管理器。
其中,在该调度全局资源管理器接收到作业数据后,会在多个从节点集群中选择第一目标节点资源任务管理器,在该第一目标节点资源任务管理器中先启动该资源调度系统中相应的调度应用程序管理器。
在步骤103中,根据工作节点运算器对第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器。
其中,由于该第二梯度数据为已经进行梯度误差补偿的数据,所以可以通过该工作节点运算器直接对第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器,该量化处理可以将该第二梯度数据进行压缩,使得上传的效率以及后续服务节点调度器对于压缩后的第三梯度数据运算速度更快,加快训练的速度,且由于前述的梯度误差补偿,保证了量化后的第三梯度数据仍然具有一定的准确性,保证梯度下降的准确率。
在一些实施方式中,该根据工作节点运算器对第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器的步骤,可以包括:
(1)控制该工作节点运算器将第二梯度数据的数据类型由浮点数据类型转化为定点整数数据类型,得到量化后的第三梯度数据;
(2)获取该第二梯度数据与该第三梯度数据之间的差值,并根据该差值对该误差补偿数据进行更新;
(3)将该量化后的第三梯度数据上传至服务节点调度器。
其中,常规的第二梯度数据的数据类型为32位浮点数据类型,使用该32位浮点数据类型进行浮点运算的运算量较大,以此,本申请实施例可以将第二梯度数据由32位浮点数据类型转化为8位的定点整数数据类型,得到量化后的第三梯度数据。
进一步的,可以获取未进行量化之前的第二梯度数据与量化之后的第三梯度数据之间的差值,该差值即为误差值,将该误差值作为误差补偿数据进行更新,保证下一步迭代可以基于该误差补偿数据进行误差补偿。将量化后的第三梯度数据上传至服务节点调度器。
在步骤104中,基于服务节点调度器根据接收的第三梯度数据对模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至模型参数收敛。
其中,该服务节点调度器可以将所有的工作节点运算器上传的第三梯度数据进行汇总并求平均值,以得到服务节点调度器的目标梯度数据,并将当前的模型参数加上该目标梯度数据,实现对模型参数进行更新,该更新后的模型参数更为准确。
进一步的,在得到更新后的模型参数之后,本申请实施例继续返回执行步骤101,并以更新后的模型参数继续进行迭代训练,使得该模型参数在不断梯度下降(即模型训练)后,达到收敛,即该损失函数的误差值接近最小值,机器学习算法的参数调整为最佳参数,完成神经网络模型的训练过程。
在一些实施方式中,该基于服务节点调度器根据接收的第三梯度数据对模型参数进行更新的步骤,可以包括:
(1)控制服务节点调度器计算接收的该第三梯度数据的平均值,得到目标梯度数据;
(2)计算当前的模型参数与该目标梯度数据之和,得到更新后的模型参数。
其中,控制服务节点调度器可以汇总所有的工作节点运算器相应的该第三梯度数据的和,并将该所有第三的梯度数据的和除以工作节点运算器的数量值,得到目标梯度数据。
进一步的,计算当前的模型参数与目标梯度数据之和,得到更新后的模型参数。
由上述可知,本申请实施例通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;控制工作节点运算器根据第一模型参数计算相应的第一梯度数据,并对第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;根据工作节点运算器对第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;基于服务节点调度器根据接收的第三梯度数据对模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至模型参数收敛。以此,通过对工作节点运算器和服务节点调度器之间传输的数据进行双重量化,相对于目前分布式集群中负责调度的服务节点调度器和负责计算的工作节点运算器之间存在大量复杂的数据通信处理的方案,降低数据通信传输量,极大的提升了数据处理处理的效率,且对于工作节点运算器的第一梯度数据进行误差补偿策略减少量化通信带来的误差,还提升了数据处理的准确性。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
请结合参考图1,在本实施例中,将该数据处理方法以执行主体为分布式集群为例进行说明。
请参阅图3,图3为本申请实施例提供的数据处理方法的另一流程示意图。该方法流程可以包括:
在步骤201中,服务器控制服务节点调度器将模型参数的数据类型由浮点数据类型转化为定点整数数据类型,得到量化后的第一模型参数,将量化后的第一模型参数分发到工作节点运算器。
其中,为了更好的说明本申请实施例,请结合图1一并参考,服务器控制服务节点调度器A将模型参数的数据类型由32位浮点数据类型转换为8位的定点整数类型,得到量化后的第一模型参数。
进一步的,该服务节点调度器A将量化后的第一模型参数分发到工作节点运算器B中,例如分发到worker 1、…、worker m中,即包括m个工作节点运算器B。
在步骤202中,服务器获取预设训练数据,控制工作节点运算器根据第一模型参数对预设训练数据进行并行训练,在工作节点运算器完成训练时,基于工作节点运算器根据反向传播算法计算出相应的第一梯度数据。
其中,服务器获取预设训练数据C,控制每一工作节点运算器B从预设训练数据C中随机挑选部分预设训练数据进行并行训练,在该工作节点运算器B完成训练时,基于链式法则,利用反向传播算法计算出相应的第一梯度数据,该梯度数据可以理解为导数。
在步骤203中,服务器获取梯度滑动系数和梯度学习系数,计算梯度滑动系数与当前迭代数开平方根的值的比值,得到目标梯度滑动系数,计算梯度学习系数与当前迭代数开平方根的值的比值,得到目标梯度学习系数。
其中,服务器获取梯度滑动系数
Figure 232357DEST_PATH_IMAGE001
,梯度学习系数
Figure 946235DEST_PATH_IMAGE002
,该梯度学习系数
Figure 788289DEST_PATH_IMAGE002
可以代表机 器学习算法的步长,即学习率,该梯度滑动系数
Figure 511395DEST_PATH_IMAGE001
可以代表机器学习算法的梯度滑动距离, 该梯度滑动系数
Figure 388084DEST_PATH_IMAGE001
和梯度学习系数
Figure 272863DEST_PATH_IMAGE002
均为已知常数。
进一步的,请一并参考如下公式:
Figure 867793DEST_PATH_IMAGE003
该t代表迭代的步骤,该
Figure 129010DEST_PATH_IMAGE004
代表目标梯度学习系数,可以理解为基本学习率,为梯度学 习系数与当前迭代数开平方根的值的比值,该目标梯度学习系数会随着迭代次数的上升而 下降。请继续参考如下公式:
Figure 597556DEST_PATH_IMAGE005
Figure 387657DEST_PATH_IMAGE006
代表目标梯度滑动系数,可以理解为梯度滑动距离,为梯度滑动系数与当前迭代 数开平方根的值的比值,该目标梯度滑动系数会随着迭代次数的上升而下降。
在步骤204中,服务器根据第一梯度数据、上一次迭代的目标梯度滑动数据和目标梯度滑动系数计算出当前的目标梯度滑动数据,根据第一梯度数据、上一次迭代的目标梯度动量数据和梯度预设系数计算出当前的目标梯度动量数据。
其中,可以一并参考如下公式:
Figure 673145DEST_PATH_IMAGE007
Figure 206895DEST_PATH_IMAGE008
为当前的目标梯度滑动数据,该i代表第i个工作节点运算器B,该
Figure 527018DEST_PATH_IMAGE009
为上一次迭 代的目标梯度滑动数据,该
Figure 488020DEST_PATH_IMAGE010
代表初始目标梯度滑动数据为0,该
Figure 260804DEST_PATH_IMAGE011
代表第i个工作节 点运算器B的第一梯度数据,基于上述公式,服务器可以根据已知的第一梯度数据、上一次 迭代的目标梯度滑动数据和目标梯度滑动系数计算出当前的目标梯度滑动数据。
进一步的,可以继续参考如下公式:
Figure 332665DEST_PATH_IMAGE012
Figure 772874DEST_PATH_IMAGE013
为当前的目标梯度动量数据,该i代表第i个工作节点运算器B,该
Figure 639199DEST_PATH_IMAGE014
为上一次 迭代的目标梯度动量数据,该
Figure 899279DEST_PATH_IMAGE015
代表初始目标梯度动量数据为0,该
Figure 774831DEST_PATH_IMAGE016
代表第i个工 作节点运算器B的第一梯度数据,基于上述公式,服务器可以根据已知的第一梯度数据、上 一次迭代的目标梯度动量数据和梯度预设系数计算出当前的目标梯度动量数据。
在步骤205中,服务器计算目标梯度学习系数与目标梯度动量数据的乘积,得到第一数值,计算目标梯度滑动数据与预设阈值的和值并进行开平方根,得到第二数值,获取第一数值和第二数值的比值并与误差补偿数据进行求和,得到第二梯度数据。
其中,在机器学习的梯度下降过程中,得花费大量的精力调试训练算法的学习率,该学习率即为机器学习的步长,该学习率过大,会使得模型更容易接近局部或者全局最优解,但是会导致学习波动较大,使得最优解不准确,该学习率较低,会使得模型训练的速度过慢,因此,得花费大量的精力调试训练算法的学习率。
在本申请实施例中,通过上述目标梯度学习系数的计算公式,使得前期的目标梯度学习系数较大,机器学习的训练可以更快接近局部最优解,随着迭代的进行,该目标梯度学习系数会逐渐降低,使得机器学习的训练在后期的波动越来越小,从而获得更为准确的最优解。可以一并参考如下公式:
Figure 803967DEST_PATH_IMAGE017
Figure 109702DEST_PATH_IMAGE018
代表目标梯度学习系数,该
Figure 857078DEST_PATH_IMAGE019
为当前的目标梯度动量数据,该
Figure 270742DEST_PATH_IMAGE020
为当前的目 标梯度滑动数据,该
Figure 154384DEST_PATH_IMAGE021
为预设阈值,为充分小的常数,避免分母为0,该
Figure 893670DEST_PATH_IMAGE022
为误差补偿参数, 该初始误差补偿参数
Figure 128342DEST_PATH_IMAGE023
,通过上述公式,计算目标梯度学习系数与目标梯度动量数据 的乘积,得到第一数值,计算目标梯度滑动数据与预设阈值的和值并进行开平方根,得到第 二数值,获取第一数值和第二数值的比值并与误差补偿数据进行求和,得到第二梯度数据, 由于该目标梯度学习系数
Figure 80118DEST_PATH_IMAGE024
可以随着迭代t的增加而逐渐递减,因此,可以使得第二梯度数 据也随着迭代t的增加而逐渐递减,实现机器学习的高效率训练。
在步骤206中,服务器控制工作节点运算器将第二梯度数据的数据类型由浮点数据类型转化为定点整数数据类型,得到量化后的第三梯度数据,获取第二梯度数据与第三梯度数据之间的差值,并根据差值对误差补偿数据进行更新,将量化后的第三梯度数据上传至服务节点调度器。
其中,服务器为了实现梯度数据的快速传输和后续运算,可以控制工作节点运算器B将第二梯度数据的数据类型由32位浮点数据类型转化为8位的定点整数数据类型,得到量化后的第三梯度数据,请一并参考如下公式:
Figure 83846DEST_PATH_IMAGE025
Figure 56350DEST_PATH_IMAGE026
为量化压缩之后的第三梯度数据,该Qg()为量化方法,通过上述公式,将第二梯 度数据进行量化,得到量化压缩之后的第三梯度数据
Figure 512739DEST_PATH_IMAGE027
进一步的,为了防止梯度量化造成的误差,可以获取未进行梯度量化之前的第二梯度数据与梯度量化之后第三梯度数据的差值,该差值即为量化之后造成的误差值,可以一并参考如下公式:
Figure 533785DEST_PATH_IMAGE028
Figure 394949DEST_PATH_IMAGE029
为更新后的误差补偿数据,即下一次迭代的误差补偿数据,通过上述公式,计算 第二梯度数据与第三梯度数据之间的差值,不断的对下一次迭代的误差补偿数据进行更 新,保证量化之后的第三梯度数据的准确性。
以此,每一工作节点运算器B将量化后的第三梯度数据上传至服务节点调度器A,可以得到m个第三梯度数据。
在步骤207中,服务器控制服务节点调度器计算接收的第三梯度数据的总和,得到第三数值,获取工作节点运算器的数量值,并将第三数值与工作节点运算器的数量值的比值确定为目标梯度数据,计算当前的模型参数与目标梯度数据之和,得到更新后的模型参数。
其中,请一并参考如下公式:
Figure 476038DEST_PATH_IMAGE030
Figure 419723DEST_PATH_IMAGE031
为服务器的梯度(即目标梯度数据),
Figure 244459DEST_PATH_IMAGE032
为量化压缩之后的第三梯度数据,该i表 示第i个工作节点运算器B,基于上述公式,服务器控制服务节点调度器计算接收的第三梯 度数据的总和,得到第三数值,获取工作节点运算器B的数量值m,并将第三数值与工作节点 运算器B的数量值m的比值确定为目标梯度数据。请继续参考如下公式:
Figure 222780DEST_PATH_IMAGE033
Figure 943611DEST_PATH_IMAGE034
为更新后的模型参数,该
Figure 640172DEST_PATH_IMAGE035
为当前的模型参数,基于上述公式,计算当前的模 型参数与目标梯度数据之和,得到更新后的模型参数。
在步骤208中,服务器返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至模型参数收敛。
其中,在得到更新后的模型参数之后,服务器返回执行步骤201,控制服务节点调度器A将更新后模型参数的数据类型由浮点数据转化为定点整数数据类型,得到量化后的第一模型参数,将量化后的第一模型参数分发到工作节点运算器B,将迭代数t加1,进行迭代训练,直至模型参数收敛,即代表该模型参数接近最佳参数,完成训练。
由上述可知,本申请实施例通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;控制工作节点运算器根据第一模型参数计算相应的第一梯度数据,并对第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;根据工作节点运算器对第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;基于服务节点调度器根据接收的第三梯度数据对模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至模型参数收敛。以此,通过对工作节点运算器和服务节点调度器之间传输的数据进行双重量化,相对于目前分布式集群中负责调度的服务节点调度器和负责计算的工作节点运算器之间存在大量复杂的数据通信处理的方案,降低数据通信传输量,极大的提升了数据处理处理的效率,且对于工作节点运算器的第一梯度数据进行误差补偿策略减少量化通信带来的误差,还提升了数据处理的准确性。
而且由于该第三梯度数据可以随着迭代次数的增加逐渐递减,使得机器学习的学习率得到自动调节,加快机器学习的速度,进一步的提升了数据处理的效率和数据处理的准确性。
实施例三、
为便于更好的实施本申请实施例提供的数据处理方法,本申请实施例还提供一种基于上述数据处理方法的装置。其中名词的含义与上述数据处理方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图4,图4为本申请实施例提供的数据处理装置的结构示意图,其中该数据处理装置可以包括第一量化单元301、误差补偿单元302、第二量化单元303、及更新迭代单元304等。
第一量化单元301,用于通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器。
在一些实施方式中,该第一量化单元301,用于:控制该服务节点调度器将模型参数的数据类型由浮点数据类型转化为定点整数数据类型,得到量化后的第一模型参数;将该量化后的第一模型参数分发到工作节点运算器。
误差补偿单元302,用于控制该工作节点运算器根据该第一模型参数计算相应的第一梯度数据,并对该第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据。
在一实施方式中,误差补偿单元302,可以包括第一计算子单元、第二计算子单元、第三计算子单元以及结合子单元,如下:
第一计算子单元,用于控制该工作节点运算器根据该第一模型参数计算相应的第一梯度数据;
第二计算子单元,用于根据该第一梯度数据、上一次迭代的目标梯度滑动数据和目标梯度滑动系数计算出当前的目标梯度滑动数据,该目标梯度滑动系数随着迭代次数增加逐渐递减;
第三计算子单元,用于根据该第一梯度数据、上一次迭代的目标梯度动量数据和梯度预设系数计算出当前的目标梯度动量数据;
结合子单元,用于结合该目标梯度滑动数据、目标梯度动量数据、目标梯度学习系数和误差补偿数据进行计算,得到误差补偿后的第二梯度数据,该目标梯度学习系数随着迭代次数增加逐渐递减。
在一实施方式中,误差补偿单元302,还可以包括获取子单元、第四计算子单元以及第五计算子单元,如下:
获取子单元,用于获取梯度滑动系数和梯度学习系数;
第四计算子单元,用于计算该梯度滑动系数与当前迭代数开平方根的值的比值,得到目标梯度滑动系数;
第五计算子单元,用于计算该梯度学习系数与当前迭代数开平方根的值的比值,得到目标梯度学习系数。
在一实施方式中,结合子单元,用于:计算该目标梯度学习系数与该目标梯度动量数据的乘积,得到第一数值;计算该目标梯度滑动数据与预设阈值的和值并进行开平方根,得到第二数值;获取该第一数值和第二数值的比值并与该误差补偿数据进行求和,得到第二梯度数据。
在一实施方式中,第一计算子单元,用于:获取预设训练数据;控制该工作节点运算器根据该第一模型参数对该预设训练数据进行并行训练;在该工作节点运算器完成训练时,基于该工作节点运算器根据反向传播算法计算出相应的第一梯度数据。
第二量化单元303,用于根据该工作节点运算器对该第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器。
在一实施方式中,第二量化单元303,用于:控制该工作节点运算器将第二梯度数据的数据类型由浮点数据类型转化为定点整数数据类型,得到量化后的第三梯度数据;获取该第二梯度数据与该第三梯度数据之间的差值,并根据该差值对该误差补偿数据进行更新;将该量化后的第三梯度数据上传至服务节点调度器。
更新迭代单元304,用于基于该服务节点调度器根据接收的该第三梯度数据对该模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至该模型参数收敛。
在一些实施方式中,更新迭代单元304可以包括第一计算子单元、第二计算子单元以及迭代训练子单元,如下:
第一计算子单元,用于控制服务节点调度器计算接收的该第三梯度数据的平均值,得到目标梯度数据;
第二计算子单元,用于计算当前的模型参数与该目标梯度数据之和,得到更新后的模型参数;
迭代训练子单元,用于返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至该模型参数收敛。
在一些实施方式中,该第一计算子单元,用于:控制服务节点调度器计算接收的该第三梯度数据的总和,得到第三数值;获取该工作节点运算器的数量值,并将该第三数值与该工作节点运算器的数量值的比值确定为目标梯度数据。
以上各个单元的具体实施可参见前面的实施例,在此不再赘述。
由上述可知,本申请实施例第一量化单元301通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;误差补偿单元302控制工作节点运算器根据第一模型参数计算相应的第一梯度数据,并对第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;第二量化单元303根据工作节点运算器对第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;更新迭代单元304基于服务节点调度器根据接收的第三梯度数据对模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至模型参数收敛。以此,通过对工作节点运算器和服务节点调度器之间传输的数据进行双重量化,相对于目前分布式集群中负责调度的服务节点调度器和负责计算的工作节点运算器之间存在大量复杂的数据通信处理的方案,降低数据通信传输量,极大的提升了数据处理处理的效率,且对于工作节点运算器的第一梯度数据进行误差补偿策略减少量化通信带来的误差,还提升了数据处理的准确性。
实施例四、
本申请实施例还提供一种服务器,如图5所示,其示出了本申请实施例所涉及的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图5中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
服务器还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;控制该工作节点运算器根据该第一模型参数计算相应的第一梯度数据,并对该第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;根据该工作节点运算器对该第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;基于该服务节点调度器根据接收的该第三梯度数据对该模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至该模型参数收敛。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对数据处理方法的详细描述,此处不再赘述。
由上述可知,本申请实施例的服务器可以通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;控制工作节点运算器根据第一模型参数计算相应的第一梯度数据,并对第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;根据工作节点运算器对第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;基于服务节点调度器根据接收的第三梯度数据对模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至模型参数收敛。以此,通过对工作节点运算器和服务节点调度器之间传输的数据进行双重量化,相对于目前分布式集群中负责调度的服务节点调度器和负责计算的工作节点运算器之间存在大量复杂的数据通信处理的方案,降低数据通信传输量,极大的提升了数据处理处理的效率,且对于工作节点运算器的第一梯度数据进行误差补偿策略减少量化通信带来的误差,还提升了数据处理的准确性。
实施例五、
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种数据处理方法中的步骤。例如,该指令可以执行如下步骤:
通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;控制该工作节点运算器根据该第一模型参数计算相应的第一梯度数据,并对该第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;根据该工作节点运算器对该第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;基于该服务节点调度器根据接收的该第三梯度数据对该模型参数进行更新,并返回执行通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至该模型参数收敛。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种数据处理方法中的步骤,因此,可以实现本申请实施例所提供的任一种数据处理方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种数据处理方法、装置及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (15)

1.一种数据处理方法,其特征在于,包括:
通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;
控制所述工作节点运算器根据所述第一模型参数计算相应的第一梯度数据,并对所述第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;
根据所述工作节点运算器对所述第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;
基于所述服务节点调度器根据接收的所述第三梯度数据对所述模型参数进行更新,并返回执行所述通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至所述模型参数收敛。
2.根据权利要求1所述的数据处理方法,其特征在于,所述对所述第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据的步骤,包括:
根据所述第一梯度数据、上一次迭代的目标梯度滑动数据和目标梯度滑动系数计算出当前的目标梯度滑动数据,所述目标梯度滑动系数随着迭代次数增加逐渐递减;
根据所述第一梯度数据、上一次迭代的目标梯度动量数据和梯度预设系数计算出当前的目标梯度动量数据;
结合所述目标梯度滑动数据、目标梯度动量数据、目标梯度学习系数和误差补偿数据进行计算,得到误差补偿后的第二梯度数据,所述目标梯度学习系数随着迭代次数增加逐渐递减。
3.根据权利要求2所述的数据处理方法,其特征在于,所述方法还包括:
获取梯度滑动系数和梯度学习系数;
计算所述梯度滑动系数与当前迭代数开平方根的值的比值,得到目标梯度滑动系数;
计算所述梯度学习系数与当前迭代数开平方根的值的比值,得到目标梯度学习系数。
4.根据权利要求2所述的数据处理方法,其特征在于,所述结合所述目标梯度滑动数据、目标梯度动量数据、目标梯度学习系数和误差补偿数据进行计算,得到误差补偿后的第二梯度数据的步骤,包括:
计算所述目标梯度学习系数与所述目标梯度动量数据的乘积,得到第一数值;
计算所述目标梯度滑动数据与预设阈值的和值并进行开平方根,得到第二数值;
获取所述第一数值和第二数值的比值并与所述误差补偿数据进行求和,得到第二梯度数据。
5.根据权利要求1所述的数据处理方法,其特征在于,所述根据所述工作节点运算器对所述第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器的步骤,包括:
控制所述工作节点运算器将第二梯度数据的数据类型由浮点数据类型转化为定点整数数据类型,得到量化后的第三梯度数据;
获取所述第二梯度数据与所述第三梯度数据之间的差值,并根据所述差值对所述误差补偿数据进行更新;
将所述量化后的第三梯度数据上传至服务节点调度器。
6.根据权利要求1所述的数据处理方法,其特征在于,所述控制所述工作节点运算器根据所述第一模型参数计算相应的第一梯度数据的步骤,包括:
获取预设训练数据;
控制所述工作节点运算器根据所述第一模型参数对所述预设训练数据进行并行训练;
在所述工作节点运算器完成训练时,基于所述工作节点运算器根据反向传播算法计算出相应的第一梯度数据。
7.根据权利要求1-6任一项所述的数据处理方法,其特征在于,所述通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器的步骤,包括:
控制所述服务节点调度器将模型参数的数据类型由浮点数据类型转化为定点整数数据类型,得到量化后的第一模型参数;
将所述量化后的第一模型参数分发到工作节点运算器。
8.根据权利要求1至6任一项所述的数据处理方法,其特征在于,所述基于所述服务节点调度器根据接收的所述第三梯度数据对所述模型参数进行更新的步骤,包括:
控制服务节点调度器计算接收的所述第三梯度数据的平均值,得到目标梯度数据;
计算当前的模型参数与所述目标梯度数据之和,得到更新后的模型参数。
9.根据权利要求8所述的数据处理方法,其特征在于,所述控制服务节点调度器计算接收的所述第三梯度数据的平均值,得到目标梯度数据的步骤,包括:
控制服务节点调度器计算接收的所述第三梯度数据的总和,得到第三数值;
获取所述工作节点运算器的数量值,并将所述第三数值与所述工作节点运算器的数量值的比值确定为目标梯度数据。
10.一种数据处理装置,其特征在于,包括:
第一量化单元,用于通过服务节点调度器对模型参数进行量化处理,得到量化后的第一模型参数分发到工作节点运算器;
误差补偿单元,用于控制所述工作节点运算器根据所述第一模型参数计算相应的第一梯度数据,并对所述第一梯度数据进行梯度误差补偿,得到误差补偿后的第二梯度数据;
第二量化单元,用于根据所述工作节点运算器对所述第二梯度数据进行量化处理,得到量化后的第三梯度数据上传至服务节点调度器;
更新迭代单元,用于基于所述服务节点调度器根据接收的所述第三梯度数据对所述模型参数进行更新,并返回执行所述通过服务节点调度器对更新后的模型参数进行量化处理的步骤进行迭代训练,直至所述模型参数收敛。
11.根据权利要求10所述的数据处理装置,其特征在于,所述误差补偿单元,包括:
第一计算子单元,用于控制所述工作节点运算器根据所述第一模型参数计算相应的第一梯度数据;
第二计算子单元,用于根据所述第一梯度数据、上一次迭代的目标梯度滑动数据和目标梯度滑动系数计算出当前的目标梯度滑动数据,所述目标梯度滑动系数随着迭代次数增加逐渐递减;
第三计算子单元,用于根据所述第一梯度数据、上一次迭代的目标梯度动量数据和梯度预设系数计算出当前的目标梯度动量数据;
结合子单元,用于结合所述目标梯度滑动数据、目标梯度动量数据、目标梯度学习系数和误差补偿数据进行计算,得到误差补偿后的第二梯度数据,所述目标梯度学习系数随着迭代次数增加逐渐递减。
12.根据权利要求11所述的数据处理装置,其特征在于,所述误差补偿单元,还包括:
获取子单元,用于获取梯度滑动系数和梯度学习系数;
第四计算子单元,用于计算所述梯度滑动系数与当前迭代数开平方根的值的比值,得到目标梯度滑动系数;
第五计算子单元,用于计算所述梯度学习系数与当前迭代数开平方根的值的比值,得到目标梯度学习系数。
13.根据权利要求11所述的数据处理装置,其特征在于,所述结合子单元,用于:
计算所述目标梯度学习系数与所述目标梯度动量数据的乘积,得到第一数值;
计算所述目标梯度滑动数据与预设阈值的和值并进行开平方根,得到第二数值;
获取所述第一数值和第二数值的比值并与所述误差补偿数据进行求和,得到第二梯度数据。
14.根据权利要求10所述的数据处理装置,其特征在于,所述第二量化单元,用于:
控制所述工作节点运算器将第二梯度数据的数据类型由浮点数据类型转化为定点整数数据类型,得到量化后的第三梯度数据;
获取所述第二梯度数据与所述第三梯度数据之间的差值,并根据所述差值对所述误差补偿数据进行更新;
将所述量化后的第三梯度数据上传至服务节点调度器。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,所述指令适于处理器进行加载,以执行权利要求1至9任一项所述的数据处理方法中的步骤。
CN202010520738.6A 2020-06-10 2020-06-10 一种数据处理方法、装置及计算机可读存储介质 Active CN111429142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010520738.6A CN111429142B (zh) 2020-06-10 2020-06-10 一种数据处理方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010520738.6A CN111429142B (zh) 2020-06-10 2020-06-10 一种数据处理方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111429142A true CN111429142A (zh) 2020-07-17
CN111429142B CN111429142B (zh) 2020-09-11

Family

ID=71551235

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010520738.6A Active CN111429142B (zh) 2020-06-10 2020-06-10 一种数据处理方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111429142B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112085074A (zh) * 2020-08-25 2020-12-15 腾讯科技(深圳)有限公司 一种模型参数更新系统、方法及装置
CN112235384A (zh) * 2020-10-09 2021-01-15 腾讯科技(深圳)有限公司 分布式系统中的数据传输方法、装置、设备及存储介质
CN112347500A (zh) * 2021-01-11 2021-02-09 腾讯科技(深圳)有限公司 分布式系统的机器学习方法、装置、系统、设备及存储介质
CN112529189A (zh) * 2020-11-10 2021-03-19 北京百度网讯科技有限公司 模型压缩方法、装置、电子设备及存储介质
WO2024060727A1 (zh) * 2022-09-20 2024-03-28 华为技术有限公司 神经网络模型的训练方法、装置、设备及系统

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463324A (zh) * 2014-11-21 2015-03-25 长沙马沙电子科技有限公司 一种基于大规模高性能集群的卷积神经网络并行处理方法
CN106231305A (zh) * 2016-07-26 2016-12-14 中国科学院自动化研究所 基于梯度的全i帧视频码率控制方法及控制系统
CN107743235A (zh) * 2017-10-27 2018-02-27 厦门美图之家科技有限公司 图像处理方法、装置及电子设备
WO2019038693A1 (en) * 2017-08-23 2019-02-28 Telefonaktiebolaget Lm Ericsson (Publ) NEURAL NETWORKS FOR DECODING
CN109631889A (zh) * 2019-01-07 2019-04-16 重庆邮电大学 基于lms自适应滤波与梯度下降的mems加速度计误差补偿方法
CN109635922A (zh) * 2018-11-20 2019-04-16 华中科技大学 一种分布式深度学习参数量化通信优化方法及系统
CN109740755A (zh) * 2019-01-08 2019-05-10 深圳市网心科技有限公司 一种基于梯度下降法的数据处理方法及相关装置
CN109951438A (zh) * 2019-01-15 2019-06-28 中国科学院信息工程研究所 一种分布式深度学习的通信优化方法及系统
CN108491928B (zh) * 2018-03-29 2019-10-25 腾讯科技(深圳)有限公司 模型参数发送方法、装置、服务器及存储介质
CN110414679A (zh) * 2019-08-02 2019-11-05 厦门美图之家科技有限公司 模型训练方法、装置、电子设备和计算机可读存储介质
CN110799994A (zh) * 2017-08-14 2020-02-14 美的集团股份有限公司 神经网络的自适应位宽缩减

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104463324A (zh) * 2014-11-21 2015-03-25 长沙马沙电子科技有限公司 一种基于大规模高性能集群的卷积神经网络并行处理方法
CN106231305A (zh) * 2016-07-26 2016-12-14 中国科学院自动化研究所 基于梯度的全i帧视频码率控制方法及控制系统
CN110799994A (zh) * 2017-08-14 2020-02-14 美的集团股份有限公司 神经网络的自适应位宽缩减
WO2019038693A1 (en) * 2017-08-23 2019-02-28 Telefonaktiebolaget Lm Ericsson (Publ) NEURAL NETWORKS FOR DECODING
CN107743235A (zh) * 2017-10-27 2018-02-27 厦门美图之家科技有限公司 图像处理方法、装置及电子设备
CN108491928B (zh) * 2018-03-29 2019-10-25 腾讯科技(深圳)有限公司 模型参数发送方法、装置、服务器及存储介质
CN109635922A (zh) * 2018-11-20 2019-04-16 华中科技大学 一种分布式深度学习参数量化通信优化方法及系统
CN109631889A (zh) * 2019-01-07 2019-04-16 重庆邮电大学 基于lms自适应滤波与梯度下降的mems加速度计误差补偿方法
CN109740755A (zh) * 2019-01-08 2019-05-10 深圳市网心科技有限公司 一种基于梯度下降法的数据处理方法及相关装置
CN109951438A (zh) * 2019-01-15 2019-06-28 中国科学院信息工程研究所 一种分布式深度学习的通信优化方法及系统
CN110414679A (zh) * 2019-08-02 2019-11-05 厦门美图之家科技有限公司 模型训练方法、装置、电子设备和计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
GUODONG ZHANG ET AL.: "Spiculation Quantification Method Based on Edge Gradient Orientation Histogram", 《2014 INTERNATIONAL CONFERENCE ON VIRTUAL REALITY AND VISUALIZATION》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112085074A (zh) * 2020-08-25 2020-12-15 腾讯科技(深圳)有限公司 一种模型参数更新系统、方法及装置
CN112085074B (zh) * 2020-08-25 2024-05-07 腾讯科技(深圳)有限公司 一种模型参数更新系统、方法及装置
CN112235384A (zh) * 2020-10-09 2021-01-15 腾讯科技(深圳)有限公司 分布式系统中的数据传输方法、装置、设备及存储介质
CN112235384B (zh) * 2020-10-09 2023-10-31 腾讯科技(深圳)有限公司 分布式系统中的数据传输方法、装置、设备及存储介质
CN112529189A (zh) * 2020-11-10 2021-03-19 北京百度网讯科技有限公司 模型压缩方法、装置、电子设备及存储介质
CN112347500A (zh) * 2021-01-11 2021-02-09 腾讯科技(深圳)有限公司 分布式系统的机器学习方法、装置、系统、设备及存储介质
WO2024060727A1 (zh) * 2022-09-20 2024-03-28 华为技术有限公司 神经网络模型的训练方法、装置、设备及系统

Also Published As

Publication number Publication date
CN111429142B (zh) 2020-09-11

Similar Documents

Publication Publication Date Title
CN111429142B (zh) 一种数据处理方法、装置及计算机可读存储介质
CN109324875B (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
CN110198244B (zh) 面向异构云服务的资源配置方法和装置
CN105550323B (zh) 一种分布式数据库负载均衡预测方法和预测分析器
US11520592B2 (en) Executing large artificial intelligence models on memory-constrained devices
WO2022048557A1 (zh) Ai模型的训练方法、装置、计算设备和存储介质
US11354579B2 (en) Dynamic multi-layer execution for artificial intelligence modeling
CN109408500B (zh) 人工智能运行平台
CN111262944B (zh) 异构移动边缘计算网络中分层任务卸载的方法与系统
CN109194984A (zh) 一种基于边缘计算的视频帧调度方法
CN113157422A (zh) 基于深度强化学习的云数据中心集群资源调度方法及装置
CN113568727A (zh) 一种基于深度强化学习的移动边缘计算任务分配方法
CN109358953B (zh) 一种微云中的多任务应用卸载方法
CN114327399B (zh) 分布式训练方法、装置、计算机设备、存储介质和产品
CN113094246B (zh) 一种边缘异构计算环境仿真系统
CN109558248B (zh) 一种用于确定面向海洋模式计算的资源分配参数的方法及系统
CN106293947B (zh) 虚拟化云环境下gpu-cpu混合资源分配系统和方法
CN114327876A (zh) 一种无人机辅助移动边缘计算的任务卸载方法和装置
CN113326132A (zh) 一种信息调节方法、设备及存储介质
CN115408072A (zh) 基于深度强化学习的快速适应模型构建方法及相关装置
CN117950860A (zh) 一种面向算网融合的云边资源协同调度方法及系统
CN117436485A (zh) 基于权衡时延和精度的多退出点的端-边-云协同系统及方法
CN111488208A (zh) 基于可变步长蝙蝠算法的边云协同计算节点调度优化方法
CN116340393A (zh) 数据库饱和度的预测方法、存储介质及数据库系统
CN108270833A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40025779

Country of ref document: HK