CN115511103A - 用于联邦学习的方法、装置、设备和介质 - Google Patents

用于联邦学习的方法、装置、设备和介质 Download PDF

Info

Publication number
CN115511103A
CN115511103A CN202211288149.5A CN202211288149A CN115511103A CN 115511103 A CN115511103 A CN 115511103A CN 202211288149 A CN202211288149 A CN 202211288149A CN 115511103 A CN115511103 A CN 115511103A
Authority
CN
China
Prior art keywords
model
training
local
client
global
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
CN202211288149.5A
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.)
Douyin Vision Co Ltd
Original Assignee
Douyin Vision 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 Douyin Vision Co Ltd filed Critical Douyin Vision Co Ltd
Priority to CN202211288149.5A priority Critical patent/CN115511103A/zh
Publication of CN115511103A publication Critical patent/CN115511103A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

根据本公开的实施例,提供了用于联邦学习的方法、装置、设备和介质。该方法包括:在服务节点处,从客户端接收本地模型以及第一模型版本信息,本地模型在客户端处被训练;基于第一模型版本信息与全局模型的第二模型版本信息之间的版本差异与版本差异阈值的比较来确定本地模型是否要被聚合到全局模型;以及如果确定本地模型不能被聚合到全局模型,向客户端发送训练参数调整值和全局模型。通过这样的方案,能够对具有不同能力的客户端动态地调整适合于自身的训练方案,以充分利用客户端上的计算资源。

Description

用于联邦学习的方法、装置、设备和介质
技术领域
本公开的示例实施例总体涉及计算机领域,特别地涉及用于联邦学习的方法、装置、设备和计算机可读存储介质。
背景技术
当前机器学习已经得到了广泛的应用。机器学习模型的性能通常是随着数据量的增加而提高。随着数据隐私保护问题越来越受到重视以及边缘计算能力不断发展,联邦学习得以兴起。联邦学习能够在保护用户隐私的前提下,利用边缘计算,将客户端的本地数据用于机器学习模型的训练,从而发挥数据的价值。
发明内容
在本公开的第一方面,提供了一种用于联邦学习的方法。该方法包括:在服务节点处,从客户端接收本地模型以及第一模型版本信息,本地模型在客户端处被训练;基于第一模型版本信息与全局模型的第二模型版本信息之间的版本差异与版本差异阈值的比较来确定本地模型是否要被聚合到全局模型;以及如果确定本地模型不能被聚合到全局模型,向客户端发送训练参数调整值和全局模型。
在本公开的第二方面,提供了一种用于联邦学习的方法。该方法包括:在客户端处,向服务节点发送本地模型以及第一模型版本信息,本地模型在客户端处被训练;从服务节点接收训练参数调整值和全局模型;基于训练参数调整值来确定训练参数值;以及根据训练参数值来训练全局模型,以得到另一本地模型。
在本公开的第三方面,提供了一种用于联邦学习的装置。该装置包括:接收模块,被配置为从客户端接收本地模型以及第一模型版本信息,本地模型在客户端处被训练;聚合确定模块,被配置为基于第一模型版本信息与全局模型的第二模型版本信息之间的版本差异与版本差异阈值的比较来确定本地模型是否要被聚合到全局模型;以及发送模块,被配置为如果确定本地模型不能被聚合到全局型,向客户端发送训练参数调整值和全局模型。
在本公开的第四方面,提供了一种用于联邦学习的装置。该装置包括:发送模块,被配置为向服务节点发送本地模型以及第一模型版本信息,本地模型在客户端处被训练;接收模块,被配置为从服务节点接收训练参数调整值和全局模型;参数确定模块,被配置为基于训练参数调整值来确定训练参数值;以及训练模块,被配置为根据训练参数值来训练全局模型,以得到另一本地模型。
在本公开的第五方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行第一方面的方法。
在本公开的第六方面,提供了一种电子设备。该设备包括至少一个处理单元;以及至少一个存储器,至少一个存储器被耦合到至少一个处理单元并且存储用于由至少一个处理单元执行的指令。指令在由至少一个处理单元执行时使设备执行第二方面的方法。
在本公开的第七方面,提供了一种计算机可读存储介质。介质上存储有计算机程序,计算机程序被处理器执行以实现第一方面的方法。
在本公开的第八方面,提供了一种计算机可读存储介质。介质上存储有计算机程序,计算机程序被处理器执行以实现第二方面的方法。
应当理解,本发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键特征或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的描述而变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开的实施例能够在其中应用的示例环境的示意图;
图2示出了异步联邦学习的示例流程;
图3示出了根据本公开的一些实施例的用于联邦学习的信令流的流程图;
图4示出了根据本公开的一些实施例的服务节点的示意框图;
图5示出了根据本公开的一些实施例的客户端的示意框图;
图6示出根据本公开的一些实施例的在服务节点处的联邦学习的过程的流程图;
图7示出根据本公开的一些实施例的在客户端处的联邦学习的过程的流程图;
图8示出了根据本公开的一些实施例的在服务节点处的用于联邦学习的装置的框图;
图9示出了根据本公开的一些实施例的在客户端处的用于联邦学习的装置的框图;以及
图10示出了能够实施本公开的一个或多个实施例的电子设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中示出了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“一些实施例”应当理解为“至少一些实施例”。下文还可能包括其他明确的和隐含的定义。
可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当根据相关法律法规通过适当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限制性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式,例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或“不同意”向电子设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其他满足相关法律法规的方式也可应用于本公开的实现方式中。
如本文中所使用的,术语“模型”可以从训练数据中学习到相应的输入与输出之间的关联,从而在训练完成后可以针对给定的输入,生成对应的输出。模型的生成可以基于机器学习技术。深度学习是一种机器学习算法,通过使用多层处理单元来处理输入和提供相应输出。神经网络模型是基于深度学习的模型的一个示例。在本文中,“模型”也可以被称为“机器学习模型”、“学习模型”、“机器学习网络”或“学习网络”,这些术语在本文中可互换地使用。
“神经网络”是基于深度学习的机器学习网络。神经网络能够处理输入并且提供相应输出,其通常包括输入层和输出层以及在输入层与输出层之间的一个或多个隐藏层。在深度学习应用中使用的神经网络通常包括许多隐藏层,从而增加网络的深度。神经网络的各个层按顺序相连,从而前一层的输出被提供作为后一层的输入,其中输入层接收神经网络的输入,而输出层的输出作为神经网络的最终输出。神经网络的每个层包括一个或多个节点(也称为处理节点或神经元),每个节点处理来自上一层的输入。
通常,机器学习大致可以包括三个阶段,即训练阶段、测试阶段和应用阶段(也称为推理阶段)。在训练阶段,给定的模型可以使用大量的训练数据进行训练,不断迭代更新参数值,直到模型能够从训练数据中获取一致的满足预期目标的推理。通过训练,模型可以被认为能够从训练数据中学习从输入到输出之间的关联(也称为输入到输出的映射)。训练后的模型的参数值被确定。在测试阶段,将测试输入应用到训练后的模型,测试模型是否能够提供正确的输出,从而确定模型的性能。在应用阶段,模型可以被用于基于训练得到的参数值,对实际的输入进行处理,确定对应的输出。
图1示出了本公开的实施例能够在其中实现的示例环境100的示意图。环境100涉及联邦学习环境,其中包括N个客户端110-1……110-2、……110-N(其中N为大于1的整数)以及服务节点120。客户端110-1、110-2……110-N可以分别维护各自的本地训练数据集112-1……112-k、……112-N。为便于讨论,客户端110-1、110-2、……110-N可以被统称为或单独称为客户端110,本地训练数据集112-1、112-2、……112-N可以被统称为或单独称为本地训练数据集112。
在一些实施例中,客户端110和/或服务节点120可以被实现在终端设备或服务器处。终端设备可以是任意类型的移动终端、固定终端或便携式终端,包括移动手机、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机、媒体计算机、多媒体平板、个人通信***(PCS)设备、个人导航设备、个人数字助理(PDA)、音频/视频播放器、数码相机/摄像机、定位设备、电视接收器、无线电广播接收器、电子书设备、游戏设备或者前述各项的任意组合,包括这些设备的配件和外设或者其任意组合。在一些实施例中,终端设备也能够支持任意类型的针对用户的接口(诸如“可佩戴”电路等)。服务器是能够提供计算能力的各种类型的计算***/服务器,包括但不限于大型机、边缘计算节点、云环境中的计算设备,等等。
联邦学习,也称为横向联邦学习。在联邦学习中,客户端指的是提供机器学习模型的部分训练数据的节点。客户端有时也被称为客户机、客户端设备、工作节点、终端节点、终端设备、边缘设备等。在一些实施例中,客户端可以通过请求加入联邦学习。在联邦学习中,服务节点指的是聚合客户端处的训练结果的节点。
在联邦学习过程中,每一轮由服务节点120将全局模型130分发给远端的客户端110。客户端110收到全局模型130后,利用本地训练数据集112执行本地训练,得到各自的本地模型,例如本地模型132-1、132-2、……132-N(为便于讨论,统称为或单独称为本地模型132)。本地模型132可以被认为是全局模型130在客户端110处的本地版本,其从本地训练数据集训练得到。客户端110将本地模型132发送给服务节点120。服务节点120将来自客户端110的本地模型132聚合到当前的全局模型130,得到新版本的全局模型。上述过程可以重复执行,直到模型训练收敛。
在本公开的实施例中,全局模型130也可称为全局机器学习模型,本地模型132也可称为本地机器学习模型。可以基于各种机器学习或深度学习的模型架构来构建,并且可以被配置为实现各种预测任务,诸如各种分类任务、推荐任务等等。在不同任务场景下,全局模型130和本地模型132也可以被称为预测模型、推荐模型、分类模型,等等。
应当理解,图1仅示出了示例的联邦学习环境。根据联邦学习算法和实际应用需要,环境还可以不同。例如,虽然被示出为单独的节点,在某些应用中,服务节点120除了作为中央节点外,还可以作为客户端来进行本地训练等。本公开的实施例在此方面不受限制。
联邦学习过程可以分为同步联邦学习和异步联邦学习。
对于同步联邦学习,服务节点收集一定数目的客户端本地模型后再进行模型聚合。这可能会使较早完成本地训练并成功上传模型到服务节点的客户端需要等待由于各种原因导致模型提交较晚的客户端,这就导致了速度快的客户端在处于等待状态时的资源。在联邦学习***的大规模部署情况下,散布于各个地方的客户端往往具有不同的配置和资源(比如,轻量级移动设备和边缘服务节点),这使得同步聚合方式在一些部署场景中易出现资源浪费、训练速度慢等问题。
异步联邦学习是将同步模型聚合方式改为异步模型聚合方式。服务节点在接收到某个客户端的本地模型后,不需等待其他客户端的上传,将本地模型聚合到全局模型,得到新版本的全局模型,并将新版本的全局模型下发到该客户端进行下一轮的本地训练。也就是说,服务节点可以采用即上传即聚合的方式来维护全局模型。
图2示出了异步联邦学习的示例流程200。出于解释说明的目的,假设有两个客户端,客户端1和客户端2,参与异步联邦学习。在初始化阶段,服务节点将初始全局模型(版本0)下发到客户端1和客户端2。接下来,在每一轮学习的步骤1,客户端1对全局模型(版本0)执行本地训练,得到训练后的本地模型。在步骤2,客户端1将本地模型上传到服务节点。在步骤3,服务节点将来自客户端1的本地模型与全局模型(版本0)进行异步聚合,得到新版本的全局模型(版本1),并在步骤4将该版本的全局模型发送给客户端1。客户端1继续在全局模型(版本1)基础执行本地训练,得到训练后的本地模型,并上传给服务节点。服务节点继续将来自客户端1的本地模型与全局模型(版本0)进行异步聚合,得到新版本的全局模型(版本2)。
由于各种原因(例如,计算资源少、网络速度慢等),客户端2的本地训练和/或模型上传下载等速度较慢。客户端2在初始全局模型(版本0)基础上执行本地训练后,将本地模型上传至服务节点。此时服务节点维护的是全局模型(版本2)。如果服务节点将客户端2的本地模型与全局模型(版本2)进行聚合,将得到全局模型(版本3)。
虽然异步联邦学习能够避免快客户端设备的等待和资源浪费,但如果服务节点被动地接收不同客户端上传的本地模型并对这些本地模型均无差别地进行聚合,将会导致全局模型的收敛慢、甚至性能差的问题。例如,在图2的示例中,由于客户端2上传的本地模型是在初始版本的全局模式(版本0)基础上执行的训练,该本地模型的性能可能比服务节点处当前已有的全局模型(版本2)的性能更差。将这样的本地模型与全局模型进行聚合,可能会使下一版本的全局模型(版本3)的性能变差而不是变好。
为了方便说明,图2中仅示出了两个客户端的部署情况。在实际应用中,联邦学习***可能会涉及大规模客户端部署,包含成百上千的客户端。这些客户端可能包含轻量级的移动设备以及具有较高计算能力的边缘服务器,因而具有不同的处理资源、存储资源、网络资源等。因此,这会导致在一些异步聚合过程中有些本地模型的版本与服务节点处维护的全局模型的版本之间的版本差异很大,无差别的聚合会严重降低模型的学习效率和性能。
如何能够兼顾具有不同能力的客户端、充分利用客户端上的计算能力进行模型训练,同时还能够确保模型的学习效率和模型性能,是大规模联邦学习***中的重要问题之一。
根据本公开的实施例,提供了一种改进的联邦学习方案。具体地,服务节点通过客户端提供的本地模型对应的模型版本信息与自身维护的全局模型的模型版本信息之间的版本差异来确定是否本地模型是否能够被聚合到全局模型。如果本地模型不能被聚合到全局模型(例如,如果版本差异较大),那么服务节点将向客户端发送训练参数调整值以及全局模型。客户端能够根据服务节点提供的训练参数调整值来调整所要使用的训练参数值,并使用调整后的训练参数值来执行下一轮本地训练。
通过这样的方案,能够对具有不同能力的客户端动态地调整适合于自身的训练方案,以充分利用客户端上的计算资源。这可以显著调整全局模型的学习效率和性能,提升训练速度和效率。
以下将继续参考附图描述本公开的一些示例实施例。
图3示出了根据本公开的一些实施例的用于联邦学习的信令流300的示意框图。为便于讨论,参考图1的环境100进行讨论。信令流300涉及N个客户端110和服务节点120。这些客户端110和服务节点120构成联邦学习***,参与机器学习模型的训练。
在下文中,将从单个客户端的角度来描述客户端侧的操作。这些操作在不同客户端上可以是类似的。
在信令流300中,客户端110向服务节点120发送(310)本地模型132以及第一模型版本信息。本地模型132在客户端110处被训练。
在一些实施例中,客户端110可以从服务节点120获得要训练的模型。该模型称为全局模型130。客户端110可以执行(305)对接收到的模型的本地训练,以得到本地模型132。例如,客户端110可以使用本地训练数据集112来训练出本地模型132。在本公开的实施例中,要训练的模型可以是适合处理各种任务的模型。本地训练的训练算法等也可以根据实际应用和模型配置等进行选择。
在向客户端110发送全局模型130时,服务节点120还可以提供全局模型130的模型版本信息。在训练得到本地模型132后,客户端110可以将本地模型132以及用于训练出本地模型132的全局模型130对应的模型版本信息一起上传给服务节点120。模型版本信息例如可以由版本号表示。例如,在初始阶段,全局模型130的模型版本信息可以被表示为版本0。随着全局模型130的更新,模型版本信息也随着更新。
在一些实施例中,在初始阶段,服务节点120可以配置针对全局模型130的联邦学习的相关参数,例如参与联邦学习的客户端总数N、服务侧的集群信息等,并启动集群以等待客户端加入。在客户端侧,客户端110可以根据自身的计算能力,配置客户端集群信息以及其他相关参数,并向服务节点120请求加入联邦学习。在一些实施例中,客户端110可以向服务节点120提供与本地训练数据集相关的信息,例如本地训练数据集的大小Dc。服务节点120在接收到客户端110的请求后,将全局模型130提供给客户端110进行初始化,并启动联邦学习过程。在一些实施例中,所启动的联邦学习包括异步联邦学习。下文会参考图4和图5介绍服务节点和客户端节点的一些示例结构。
在一些实施例中,在初始阶段服务节点120可以将全局模型130的模型配置以及模型的初始模型参数值提供给客户端110。在一些实施例中,随着联邦学习的迭代,在后续步骤中服务节点120通过向客户端110提供全局模型130的新模型参数值,来告知当前版本的全局模型130。
服务节点120从客户端110接收(315)本地模型132以及第一模型版本信息。在本公开的实施例中,服务节点120通过模型版本信息来判断是否要将当前客户端110上传的本地模型132聚合到全局模型130中。
具体地,服务节点120维护全局模型130的模型版本信息t(称为“第二模型版本信息”)。将客户端110上报的第一模型版本信息标记为tc。如前所述,客户端110上传的模型版本信息指示本地模型132的训练所基于的全局模型的版本。在异步联邦学习过程中,服务节点120在将来自客户端的本地模型聚合到全局模型后会更新全局模型的版本。因此,某个客户端110提供的模型版本信息与服务节点120处的当前全局模型的模型版本信息之间的版本差异可以反映出客户端110的模型训练和上报的落后程度,这种落后可能是由于客户端110训练模型所花费的时间过多(例如,由于计算能力较低或训练方案不合理导致),和/或网络质量较差导致模型上传和下载花费时间过多等等。
在本公开的实施例中,服务节点120基于第一模型版本信息与全局模型130的第二模型版本信息之间的版本差异与版本差异阈值的比较来确定(320)本地模型132是否要被聚合到全局模型130。
版本差异阈值可以被设置为最大可容忍的版本差,记为Tg。版本差异阈值例如可以由模型版本号差异来表示。服务节点120可以确定客户端110提供的模型版本信息tc与所维护的全局模型130的模型版本信息t之间的版本差异
Figure BDA0003900198650000111
并将版本差异与版本差异阈值Tg相比较。
取决于对本地模型的聚合判断,客户端110和服务节点120执行后续操作。在确定本地模型不能被聚合到全局模型的情况下,可以执行过程302。
过程302中,如果确定本地模型不能被聚合到全局模型,服务节点120向客户端110发送(325)训练参数调整值和全局模型。
在一些实施例中,如果版本差异超过版本差异阈值(例如,大于版本差异阈值,或大于等于版本差异阈值,取决于具体设置),服务节点120可以确定此客户端110的本地模型132不能被聚合到全局模型130。在这样的实施例中,服务节点120可以丢弃本地模型132。
如前所示,版本差异能够反映出客户端110的模型训练和上报的落后程度。在本公开的实施例中,考虑到这样的版本差异,期望能够调整一下客户端110的训练方案,以便能够让客户端110不会继续做无用功,导致训练的本地模型均不能对全局模型做出贡献。在常规方案,如果服务节点决定不聚合客户端的本地模型,可能不会给客户端反馈。这样,该客户端可能仍然遵循原有方案来继续训练下一版本的本地模型。如果客户端的计算能力或网络资源不能得到改善,那么下一个本地模型可能仍然无法被聚合。
在本公开的实施例中,不仅能够防止版本差异较大的本地模型被聚合到已获得较多次更新的全局模型中所导致的模型性能损失,而且还能动态地调整客户端的本地训练方案,使客户端的本地模型能够真正被贡献到全局模型,具体地,服务节点120可以通过向本地模型被丢弃的客户端110发送训练参数调整值,来引导客户端110调整本地训练的方案。
在一些实施例中,考虑到客户端110处的模型版本与当前全局模型的版本差异能够反映出客户端110的模型训练和上报的落后程度,服务节点120提供给该客户端110的训练参数调整值可以用于指示客户端110能够加快本地模型的训练,以更快上报。
在一些实施中,训练参数调整值可以与客户端110处所采用的训练步数有关。例如,在每一训练轮次中,客户端110可能在完成一定训练步数后生成要上报的本地模型。每个训练步数例如可以对应于对模型参数的一次更新。在模型训练过程中,会基于一个训练数据子集(例如,批次batch)来更新一次模型参数。每次更新可以对应于一个训练步数。在多个更新后,可以达到本地模型的训练目标,完成一个训练轮次。在一些实施例中,训练参数调整值可以被确定为使客户端将用于训练全局模型的训练步数减小,从而加快上报。
除训练步数之外,在其他实施例中,训练参数调整值还可以被确定为其他能够指示加快本地训练的参数,例如在每一训练轮次中所使用的训练数据量。通常,训练步数与训练数据量可能是正相关,例如越多的训练步数往往意味着越大的训练数据量的处理。当然,除训练数据量之外,训练参数调整值还可以指示其他训练参数,以便客户端110进行本地训练的调整。
在一些实施例中,训练参数调整值可以被确定为用于调整客户端110的训练方案中的某个训练参数的幅度。在一些实施例中,对于某个客户端110,服务节点120可以基于该客户端110上报的第一模型版本信息与第二模型版本信息之间的版本差异来确定针对该客户端的训练参数调整值。在一些实施例中,可以计算版本差异
Figure BDA0003900198650000121
与版本差异阈值Tg之差来确定针对客户端110的训练参数调整值。版本差异
Figure BDA0003900198650000122
与版本差异阈值Tg之差能够反映出为了实现成功聚合客户端110需要加快训练和上报的程度。如果这个差异越大,意味着客户端110的训练方案(或某个训练参数)需要调整的幅度越大。在一些实施例中,训练参数调整值可以被确定为:
Figure BDA0003900198650000123
,其中N表示参与联邦学习的客户端的总数。
上文给出了训练参数调整值的确定的一个具体示例。在其他示例中,还可以通过其他计算方式来确定训练参数调整值,所确定的训练参数调整值所指示的本地训练的调整幅度可以与版本差异
Figure BDA0003900198650000131
、或是与版本差异
Figure BDA0003900198650000132
和版本差异阈值Tg之差成正比。
在一些实施例中,训练参数调整值也可以被设置为某个预设指示,用于指示客户端110进行本地训练的调整(例如,加快本地训练)。在一些实施例中,训练参数调整值也可以被设置为针对某个训练参数(例如,训练步数或训练数据量)的固定调整量。本公开的实施例在此方面不受限制。
服务节点120将所确定的训练参数调整值和全局模型一起发送给客户端110。在一些实施例中,服务节点120还可以将所发送的全局模型的模型版本信息一同告知客户端110,以便于下次上报。
客户端110从服务节点120接收(330)训练参数调整值和全局模型。在一些实施例中,如果客户端110接收到训练参数调整值,服务节点120可以确定前次上报的本地模型未被成功聚合到全局模型。
虽然在上一轮中本地模型不能被聚合,但客户端110可以通过接收到的训练参数调整值来调整本地训练的训练方案,以增加下一训练轮次中获得的本地模型被成功聚合的概率。具体地,客户端110基于训练参数调整值来确定(335)训练参数值。所确定的训练参数值被应用在下一训练轮次中。客户端110根据训练参数值来训练(340)全局模型,以得到另一本地模型。在本地训练中,根据客户端110所确定的训练参数值以及本地训练数据集,客户端110可以不断更新从服务节点120接收到的全局模型的模型参数,以获得新的模型,即另一本地模型。
在一些实施例中,客户端110可以基于接收到的训练参数调整值来确定用于训练全局模型的训练步数。如果在用于训练出上次上报的本地模型的训练轮次中,训练步数为第一训练步数,那么客户端110基于训练参数调整值,可以确定出新的训练步数,称为第二训练步数。第二训练步数小于第一训练步数,从而能够加快完成下一训练轮次的模型训练。例如,客户端110基于训练参数调整值Δt所确定的新的训练步数:
Figure BDA0003900198650000141
Figure BDA0003900198650000142
是上次上报的本地模型所使用的训练步数。这样,训练步数降低,客户端110可以更快完成本地模型的训练和上报。这里给出的是一个示例训练步数的确定方式。在其他实施例中,还可以以其他方式使用训练参数调整值来调整训练步数,例如降低训练步数。
除训练步数之外,或者作为备选,客户端110还可以利用训练参数调整值来调整其他训练参数,例如在一个训练轮次中所使用的训练数据量,等等。
基于调整后的训练数据值,客户端110可以从接收到的全局模型中训练出新的本地模型,并将新的本地模型以及所使用的全局模型的模型版本信息再次上报给服务节点120。这个过程可以重复,直到全局模型的训练完成。
根据上述方案,在异步联邦聚合的基础上,能够降低等待时客户端上的计算资源的浪费。此外,通过调整无法被聚合的客户端所采用的训练参数值,使训练较慢客户端能够适当减少训练步数,避免其上传的模型被丢弃而浪费了本地计算资源,使这些客户端的本地模型能够对全局模型的训练做出贡献。这可以显著调整全局模型的学习效率和性能,提升训练速度和效率。
在一些实施例中,对于从客户端110接收到的本地模型,如果服务节点120确定该本地模型可以被聚合到全局模型,可以执行过程304。
不同于同步聚合方式下对所有收集到的客户机模型进行加权求和,传统的异步聚合方式在聚合模型时,难以区分不同客户机模型的贡献度并为之分配合理的聚合权重。在服务节点进行异步模型聚合时,由于每次聚合的是单个本地模型或少量本地模型,那么需要进行考虑该本地模型的合适聚合权重。在一些实施例中,可以根据少量不具备隐私性的客户端信息来自适应地为每个客户端的本地模型分配合适的聚合权重。
具体地,在一些实施例中,在本地模型的上报时,客户端110可以还向服务节点120发送与本地训练相关的信息,如图2所示。此处本地训练指的是在生成所上报的本地模型132的训练轮次中所涉及的信息。在一些实施例中,该信息例如可以包括但不限于在本地模型的训练完成时本地模型的损失值,在训练轮次中用于训练本地模型的训练数据量,和/或在训练轮次中的训练步数,等等。这些信息能够反映本地模型学习到的能力或模型性能等。在过程304中,服务节点120可以基于接收到的信息来确定(345)客户端110的本地模型对全局模型的贡献度,并基于贡献程度来聚合(350)本地模型和全局模型。
具体地,如果确定本地模型要被聚合到全局模型,服务节点120可以基于贡献度来执行本地模型与全局模型的聚合,得到另一全局模型。另一全局模型的模型版本信息在全局模型的第二版本信息t基础上更新,例如模型版本号加一。在一些实施例中,服务节点120可以基于贡献度来确定针对本地模型的聚合权重,并利用聚合权重来加权聚合本地模型和全局模型。
在一些实施例中,聚合权重例如可以基于客户端110提供的损失值和训练数据量来确定,如下:
Figure BDA0003900198650000151
其中
Figure BDA0003900198650000152
表示本地模型132的聚合权重,Di表示参与联邦学习的N个客户端中第i个客户端的本地训练数据集的总大小,
Figure BDA0003900198650000153
表示在一个训练轮次中客户端110用于训练出本地模型132的训练数据量,
Figure BDA0003900198650000154
表示在一个训练轮次中客户端110所采用的训练步数,k是一个预设的超参数,其取值范围可以是0<k<1。
上文给出的是本地模型的聚合权重的一个示例计算方式。在一些实施例中,还可以根据其他方式基于损失值、训练步数、和/或训练数据量等信息来衡量本地模型的贡献程度,并确定本地模型的聚合权重。
在一些实施例中,结合上文中在对客户端的训练方案的动态调整,客户端的本地模型能够适应到联邦学习过程中,并成功聚合到全局模型。而且,通过自适应地根据本地模型的贡献度调整异步聚合时的聚合权重,突出了高质量模型的重要性,同时降低了劣质模型影响全局模型质量的影响。这可以显著调整全局模型的学习效率和性能,提升训练速度和效率。
服务节点120基于聚合权重来加权聚合本地模型和全局模型。聚合可以被表示如下:
Figure BDA0003900198650000161
其中θt表示聚合后得到的全局模型,θt-1表示要被聚合的当前全局模型,
Figure BDA0003900198650000162
表示客户端110提供的本地模型。
图4示出了根据本公开的一些实施例的服务节点120的示意框图。如图所示,服务节点120配置为集群410,用于支持服务节点120的各个功能。在初始阶段,服务节点120根据配置信息412来配置集群410来支持所要发起的联邦学习过程。在服务节点120中,异步聚合模块420被配置为将从客户端110接收到的本地模型聚合到当前维护的全局模型。
所维护的全局模型和/或接收到的本地模型例如可以被存储在模型存储440中。服务节点120还可以包括其他存储450,用于存储其他相关数据/信息。服务节点120还包括传输服务器430,被配置为与客户端110进行通信,包括上传和下载模型以及其他信息。传输服务器430可以根据各种适当的通信协议或传输协议来与客户端110进行通信,本公开的实施例在此方面不受限制。作为示例,传输服务器430可以包括gRPC服务器。
图5示出了根据本公开的一些实施例的客户端110的示意框图。如图所示,客户端110包括控制节点510和一个或多个工作节点520。控制节点510被配置为控制本地训练过程,工作节点520被配置为执行训练操作。在一些实施例中,客户端110也可以基于集群540来进行配置。集群540可以通过配置信息542进行配置。在一些实施例中,可以通过参数服务器(PS)550来维护模型的参数值。训练的本地模型和从服务节点120接收到的全局模型可以被存储在模型存储570中。客户端110还可以包括其他存储560,用于存储其他相关数据/信息。
在图5的实施例中,通过将训练控制和执行相分离的机制(即,控制节点和工作节点),能够实现更高效的本地训练。在控制节点510中,传输客户端512被配置为与服务节点120中的传输服务器430进行通信,包括上传和下载模型以及其他信息。传输客户端512可以根据各种适当的通信协议或传输协议来与客户端110进行通信,本公开的实施例在此方面不受限制。作为示例,传输客户端512可以包括gRPC客户端。在一些实施例中,控制节点510还包括训练步数动态调整模块530,被配置为基于从服务节点120接收到的训练参数调整值来调整训练步数。控制节点510还可以包括数据模块532,被配置为控制本地训练中的数据交互。例如,在客户端110与服务节点120进行本地模型的上传和全局模型的下载过程中,数据模块532可以控制工作节点520暂停训练操作,并在获得全局模型的模型参数后再开展下一轮的本地训练。这样可以避免无用的模型参数更新。控制节点510中的训练过程控制模块534被配置为控制工作节点520的模型训练过程,包括配置训练参数值等。
控制节点510中的传输服务器522被配置为与工作节点520中的传输客户端522进行通信,以传递训练控制信号,用于控制工作节点520中的模型训练模块524的训练操作。作为示例,传输服务器522可以包括gRPC服务器,传输客户端522可以包括gRPC客户端。
图4和图5仅给出了服务节点120和客户端110的一些示例实现方式。应当理解,根据实际应用需要,服务节点和客户端还可以采用其他实现方式。本公开的实施例在此方面不受限制。
图6示出根据本公开的一些实施例的在客户端处用于联邦学习的过程600的流程图。过程600可以被实现在服务节点120处。
在框610,服务节点120从客户端接收本地模型以及第一模型版本信息,本地模型在客户端处被训练。在框620,服务节点120基于第一模型版本信息与全局模型的第二模型版本信息之间的版本差异与版本差异阈值的比较来确定本地模型是否要被聚合到全局模型。如果确定本地模型不能被聚合到全局模型,在框630,服务节点120向客户端发送训练参数调整值和全局模型。
在一些实施例中,过程600还包括:基于第一模型版本信息与第二模型版本信息之间的版本差异来确定针对客户端的训练参数调整值。
在一些实施例中,基于版本差异来确定针对客户端的训练参数调整值包括:基于版本差异与版本差异阈值之差来确定针对客户端的训练参数调整值。
在一些实施例中,训练参数调整值被确定为使客户端所采用的训练步数减小。
在一些实施例中,确定本地模型是否要被聚合到全局模型包括:如果版本差异超过版本差异阈值,确定本地模型不能被聚合到全局模型。
在一些实施例中,过程600还包括:从客户端接收与生成本地模型的训练轮次中的本地训练相关的信息;以及基于接收到的信息来确定本地模型对全局模型的贡献度。在一些实施例中,信息包括以下至少一项:在本地模型的训练完成时本地模型的损失值,在训练轮次中用于训练本地模型的训练数据量,在训练轮次中的训练步数。
在一些实施例中,过程600还包括:如果确定本地模型要被聚合到全局模型,基于贡献度来执行本地模型与全局模型的聚合,得到另一全局模型。
在一些实施例中,基于贡献度来执行本地模型与全局模型的聚合包括:基于贡献度来确定针对本地模型的聚合权重;以及利用聚合权重来加权聚合本地模型和全局模型。
图7示出根据本公开的一些实施例的在服务节点处用于联邦学习的过程700的流程图。过程700可以被实现在客户端110处。
在框710,客户端110向服务节点发送本地模型以及第一模型版本信息,本地模型在客户端处被训练。在框720,客户端110从服务节点接收训练参数调整值和全局模型。在框730,客户端110基于训练参数调整值来确定训练参数值。在框740,客户端110根据训练参数值来训练全局模型,以得到另一本地模型。
在一些实施例中,训练参数调整值基于第一模型版本信息与全局模型的第二模型版本信息之间的版本差异被确定。
在一些实施例中,过程700还包括:基于训练参数调整值的接收确定本地模型未被聚合到全局模型。
在一些实施例中,基于训练参数调整值来确定训练参数值包括:基于训练参数调整值来确定用于训练全局模型的训练步数。
在一些实施例中,确定训练步数包括:基于训练参数调整值来将用于训练得到本地模型的第一训练步数更新为第二训练步数,第二训练步数小于第一训练步数。
在一些实施例中,过程700还包括:向服务节点发送与生成本地模型的训练轮次中的本地训练相关的信息。在一些实施例中,信息包括以下至少一项:在本地模型的训练完成时本地模型的损失值,在训练轮次中用于训练本地模型的训练数据量,在训练轮次中的训练步数。
图8示出了根据本公开的一些实施例的在客户端处用于联邦学习的装置800的框图。装置800可以被实现为或者被包括在服务节点120中。装置800中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
如图所示,装置800包括接收模块810,被配置为从客户端接收本地模型以及第一模型版本信息,所述本地模型在所述客户端处被训练。装置800还包括聚合确定模块820,被配置为基于所述第一模型版本信息与全局模型的第二模型版本信息之间的版本差异与版本差异阈值的比较来确定所述本地模型是否要被聚合到全局模型。装置800还包括发送模块830,被配置为如果确定所述本地模型不能被聚合到全局型,向所述客户端发送训练参数调整值和所述全局模型。
在一些实施例中,装置800还包括:调整确定模块,被配置为基于第一模型版本信息与第二模型版本信息之间的版本差异来确定针对客户端的训练参数调整值。
在一些实施例中,调整确定模块包括:基于阈值比较调整确定模块,被配置为基于版本差异与版本差异阈值之差来确定针对客户端的训练参数调整值。
在一些实施例中,训练参数调整值被确定为使客户端所采用的训练步数减小。
在一些实施例中,聚合确定模块820被配置为如果版本差异超过版本差异阈值,确定本地模型不能被聚合到全局模型。
在一些实施例中,装置800还包括:第二接收模块,被配置为从客户端接收与生成本地模型的训练轮次中的本地训练相关的信息;以及贡献确定模块,被配置基于接收到的信息来确定本地模型对全局模型的贡献度。在一些实施例中,信息包括以下至少一项:在本地模型的训练完成时本地模型的损失值,在训练轮次中用于训练本地模型的训练数据量,在训练轮次中的训练步数。
在一些实施例中,装置800还包括:聚合模块,被配置为如果确定本地模型要被聚合到全局模型,基于贡献度来执行本地模型与全局模型的聚合,得到另一全局模型。
在一些实施例中,聚合模块包括:权重确定模块,被配置为基于贡献度来确定针对本地模型的聚合权重;以及加权聚合模块,被配置为利用聚合权重来加权聚合本地模型和全局模型。
图9示出了根据本公开的一些实施例的在服务节点处用于联邦学习的装置900的框图。装置900可以被实现为或者被包括在客户端110中。装置900中的各个模块/组件可以由硬件、软件、固件或者它们的任意组合来实现。
如图所示,装置900包括发送模块910,被配置为向服务节点发送本地模型以及第一模型版本信息,所述本地模型在所述客户端处被训练。装置900还包括接收模块920,被配置为从所述服务节点接收训练参数调整值和全局模型。装置900还包括参数确定模块930,被配置为基于所述训练参数调整值来确定训练参数值。装置900还包括训练模块940,被配置为根据所述训练参数值来训练所述全局模型,以得到另一本地模型。
在一些实施例中,训练参数调整值基于第一模型版本信息与全局模型的第二模型版本信息之间的版本差异被确定。
在一些实施例中,装置900还包括:聚合确定模块,被配置为基于训练参数调整值的接收确定本地模型未被聚合到全局模型。
在一些实施例中,参数确定模块930包括:训练步数确定模块,被配置为基于训练参数调整值来确定用于训练全局模型的训练步数。
在一些实施例中,训练步数确定模块包括:训练步数更新模块,被配置为基于训练参数调整值来将用于训练得到本地模型的第一训练步数更新为第二训练步数,第二训练步数小于第一训练步数。
在一些实施例中,装置900还包括:第二发送模块,被配置为向服务节点发送与生成本地模型的训练轮次中的本地训练相关的信息。在一些实施例中,信息包括以下至少一项:在本地模型的训练完成时本地模型的损失值,在训练轮次中用于训练本地模型的训练数据量,在训练轮次中的训练步数。
图10示出了其中可以实施本公开的一个或多个实施例的电子设备1000的框图。应当理解,图10所示出的电子设备1000仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。图10所示出的电子设备1000可以用于实现图1的客户端110或服务节点120。
如图10所示,电子设备1000是通用计算设备的形式。电子设备1000的组件可以包括但不限于一个或多个处理器或处理单元1010、存储器1020、存储设备1030、一个或多个通信单元1040、一个或多个输入设备1050以及一个或多个输出设备1060。处理单元1010可以是实际或虚拟处理器并且能够根据存储器1020中存储的程序来执行各种处理。在多处理器***中,多个处理单元并行执行计算机可执行指令,以提高电子设备1000的并行处理能力。
电子设备1000通常包括多个计算机存储介质。这样的介质可以是电子设备1000可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器1020可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备1030可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在电子设备1000内被访问。
电子设备1000可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图10中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器1020可以包括计算机程序产品1025,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
通信单元1040实现通过通信介质与其他计算设备进行通信。附加地,电子设备1000的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,电子设备1000可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
输入设备1050可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备1060可以是一个或多个输出设备,例如显示器、扬声器、打印机等。电子设备1000还可以根据需要通过通信单元1040与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与电子设备1000交互的设备进行通信,或者与使得电子设备1000与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有计算机可执行指令或计算机程序,其中计算机可执行指令或计算机程序被处理器执行以实现上文描述的方法。
根据本公开的示例性实现方式,还提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括计算机可执行指令,而计算机可执行指令被处理器执行以实现上文描述的方法。
在本文中参照根据本公开实现的方法、装置、设备和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各个实现方式。

Claims (20)

1.一种联邦学习的方法,包括:
在服务节点处,从客户端接收本地模型以及第一模型版本信息,所述本地模型在所述客户端处被训练;
基于所述第一模型版本信息与全局模型的第二模型版本信息之间的版本差异与版本差异阈值的比较来确定所述本地模型是否要被聚合到全局模型;以及
如果确定所述本地模型不能被聚合到全局模型,向所述客户端发送训练参数调整值和所述全局模型。
2.根据权利要求1所述的方法,还包括:
基于所述第一模型版本信息与所述第二模型版本信息之间的所述版本差异来确定针对所述客户端的所述训练参数调整值。
3.根据权利要求2所述的方法,其中基于所述版本差异来确定针对所述客户端的所述训练参数调整值包括:
基于所述版本差异与所述版本差异阈值之差来确定针对所述客户端的所述训练参数调整值。
4.根据权利要求1所述的方法,其中所述训练参数调整值被确定为使所述客户端所采用的训练步数减小。
5.根据权利要求1所述的方法,其中确定所述本地模型是否要被聚合到全局模型包括:
如果所述版本差异超过所述版本差异阈值,确定所述本地模型不能被聚合到全局模型。
6.根据权利要求1至5中任一项所述的方法,还包括:
从所述客户端接收与生成所述本地模型的训练轮次中的本地训练相关的信息;以及
基于接收到的所述信息来确定所述本地模型对所述全局模型的贡献度。
7.根据权利要求6所述的方法,其中所述信息包括以下至少一项:
在所述本地模型的训练完成时所述本地模型的损失值,
在训练轮次中用于训练所述本地模型的训练数据量,
在所述训练轮次中的训练步数。
8.根据权利要求6所述的方法,还包括:
如果确定所述本地模型要被聚合到所述全局模型,基于所述贡献度来执行所述本地模型与所述全局模型的聚合,得到另一全局模型。
9.根据权利要求8所述的方法,其中基于所述贡献度来执行所述本地模型与所述全局模型的聚合包括:
基于所述贡献度来确定针对所述本地模型的聚合权重;以及
利用所述聚合权重来加权聚合所述本地模型和所述全局模型。
10.一种联邦学习的方法,包括:
在客户端处,向服务节点发送本地模型以及第一模型版本信息,所述本地模型在所述客户端处被训练;
从所述服务节点接收训练参数调整值和全局模型;
基于所述训练参数调整值来确定训练参数值;以及
根据所述训练参数值来训练所述全局模型,以得到另一本地模型。
11.根据权利要求10所述的方法,其中所述训练参数调整值基于所述第一模型版本信息与所述全局模型的第二模型版本信息之间的版本差异被确定。
12.根据权利要求10所述的方法,还包括:
基于所述训练参数调整值的接收确定所述本地模型未被聚合到所述全局模型。
13.根据权利要求10所述的方法,其中基于所述训练参数调整值来确定所述训练参数值包括:
基于所述训练参数调整值来确定用于训练所述全局模型的训练步数。
14.根据权利要求13所述的方法,其中确定所述训练步数包括:
基于所述训练参数调整值来将用于训练得到所述本地模型的第一训练步数更新为第二训练步数,所述第二训练步数小于所述第一训练步数。
15.根据权利要求10至14中任一项所述的方法,还包括:
向所述服务节点发送与生成所述本地模型的训练轮次中的本地训练相关的信息。
16.根据权利要求15所述的方法,其中所述信息包括以下至少一项:
在所述本地模型的训练完成时所述本地模型的损失值,
在训练轮次中用于训练所述本地模型的训练数据量,
在所述训练轮次中的训练步数。
17.一种用于联邦学习的装置,包括:
接收模块,被配置为从客户端接收本地模型以及第一模型版本信息,所述本地模型在所述客户端处被训练;
聚合确定模块,被配置为基于所述第一模型版本信息与全局模型的第二模型版本信息之间的版本差异与版本差异阈值的比较来确定所述本地模型是否要被聚合到全局模型;以及
发送模块,被配置为如果确定所述本地模型不能被聚合到全局型,向所述客户端发送训练参数调整值和所述全局模型。
18.一种用于联邦学习的装置,包括:
发送模块,被配置为向服务节点发送本地模型以及第一模型版本信息,所述本地模型在所述客户端处被训练;
接收模块,被配置为从所述服务节点接收训练参数调整值和全局模型;
参数确定模块,被配置为基于所述训练参数调整值来确定训练参数值;以及
训练模块,被配置为根据所述训练参数值来训练所述全局模型,以得到另一本地模型。
19.一种电子设备,包括:
至少一个处理单元;以及
至少一个存储器,所述至少一个存储器被耦合到所述至少一个处理单元并且存储用于由所述至少一个处理单元执行的指令,所述指令在由所述至少一个处理单元执行时使所述设备执行根据权利要求1至9中任一项所述的方法或根据权利要求10至16中任一项所述的方法。
20.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现根据权利要求1至9中任一项所述的方法或根据权利要求10至16中任一项所述的方法。
CN202211288149.5A 2022-10-20 2022-10-20 用于联邦学习的方法、装置、设备和介质 Pending CN115511103A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211288149.5A CN115511103A (zh) 2022-10-20 2022-10-20 用于联邦学习的方法、装置、设备和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211288149.5A CN115511103A (zh) 2022-10-20 2022-10-20 用于联邦学习的方法、装置、设备和介质

Publications (1)

Publication Number Publication Date
CN115511103A true CN115511103A (zh) 2022-12-23

Family

ID=84510463

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211288149.5A Pending CN115511103A (zh) 2022-10-20 2022-10-20 用于联邦学习的方法、装置、设备和介质

Country Status (1)

Country Link
CN (1) CN115511103A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116090550A (zh) * 2022-12-27 2023-05-09 百度在线网络技术(北京)有限公司 联邦学习方法、装置、服务器、电子设备及存储介质
CN117131951A (zh) * 2023-02-16 2023-11-28 荣耀终端有限公司 联邦学习的方法及电子设备
CN117936080A (zh) * 2024-03-22 2024-04-26 中国人民解放军总医院 基于联邦大模型的实体恶性肿瘤临床辅助决策方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210073639A1 (en) * 2018-12-04 2021-03-11 Google Llc Federated Learning with Adaptive Optimization
CN113112027A (zh) * 2021-04-06 2021-07-13 杭州电子科技大学 一种基于动态调整模型聚合权重的联邦学习方法
CN113516249A (zh) * 2021-06-18 2021-10-19 重庆大学 基于半异步的联邦学习方法、***、服务器及介质
CN113989561A (zh) * 2021-10-29 2022-01-28 河海大学 基于异步联邦学习的参数聚合更新方法、设备及***

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210073639A1 (en) * 2018-12-04 2021-03-11 Google Llc Federated Learning with Adaptive Optimization
CN113112027A (zh) * 2021-04-06 2021-07-13 杭州电子科技大学 一种基于动态调整模型聚合权重的联邦学习方法
CN113516249A (zh) * 2021-06-18 2021-10-19 重庆大学 基于半异步的联邦学习方法、***、服务器及介质
CN113989561A (zh) * 2021-10-29 2022-01-28 河海大学 基于异步联邦学习的参数聚合更新方法、设备及***

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116090550A (zh) * 2022-12-27 2023-05-09 百度在线网络技术(北京)有限公司 联邦学习方法、装置、服务器、电子设备及存储介质
CN116090550B (zh) * 2022-12-27 2024-03-22 百度在线网络技术(北京)有限公司 联邦学习方法、装置、服务器、电子设备及存储介质
CN117131951A (zh) * 2023-02-16 2023-11-28 荣耀终端有限公司 联邦学习的方法及电子设备
CN117936080A (zh) * 2024-03-22 2024-04-26 中国人民解放军总医院 基于联邦大模型的实体恶性肿瘤临床辅助决策方法及***
CN117936080B (zh) * 2024-03-22 2024-06-04 中国人民解放军总医院 基于联邦大模型的实体恶性肿瘤临床辅助决策方法及***

Similar Documents

Publication Publication Date Title
CN115511103A (zh) 用于联邦学习的方法、装置、设备和介质
JP7389177B2 (ja) 連合学習方法、装置、機器及び記憶媒体
CN111491332B (zh) 动态服务迁移方法及装置
WO2020168761A1 (zh) 训练模型的方法和装置
CN107911478B (zh) 基于化学反应优化算法的多用户计算卸载方法及装置
WO2021083276A1 (zh) 横向联邦和纵向联邦联合方法、装置、设备及介质
CN109343942B (zh) 基于边缘计算网络的任务调度方法
CN112422644B (zh) 计算任务卸载方法及***、电子设备和存储介质
CN110362380B (zh) 一种面向网络靶场的多目标优化虚拟机部署方法
CN113095512A (zh) 联邦学习建模优化方法、设备、介质及计算机程序产品
CN112261135A (zh) 基于一致性协议的节点选举方法、***、装置及设备
CN110855737B (zh) 一种一致性级别可控的自适应数据同步方法和***
WO2015127850A1 (zh) 一种数据升级的方法和中心服务器
US20240176906A1 (en) Methods, apparatuses, and systems for collaboratively updating model by multiple parties for implementing privacy protection
US11706289B1 (en) System and method for distributed management of hardware using intermediate representations of systems to satisfy user intent
CN116384504A (zh) 联邦迁移学习***
Kafle et al. Intelligent and agile control of edge resources for latency-sensitive IoT services
CN117202264A (zh) Mec环境中面向5g网络切片的计算卸载方法
US20230221996A1 (en) Consensus-based distributed scheduler
CN115759241A (zh) 一种基于遗传算法的神经网络切分方法及***
CN115688867A (zh) 用于训练神经网络的方法、装置、设备和存储介质
US20120151491A1 (en) Redistributing incomplete segments for processing tasks in distributed computing
CN113949666A (zh) 流量控制方法、装置、设备及***
CN111611068B (zh) 分布式***中的数据写方法、服务器及客户端
US11989172B2 (en) System and method for managing transition between inference models across multiple data processing systems

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