CN117034008A - 高效联邦大模型调节方法、系统及相关设备 - Google Patents

高效联邦大模型调节方法、系统及相关设备 Download PDF

Info

Publication number
CN117034008A
CN117034008A CN202310922625.2A CN202310922625A CN117034008A CN 117034008 A CN117034008 A CN 117034008A CN 202310922625 A CN202310922625 A CN 202310922625A CN 117034008 A CN117034008 A CN 117034008A
Authority
CN
China
Prior art keywords
model
local
parameters
clients
client
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
CN202310922625.2A
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.)
Shenzhen Dongjian Intelligent Technology Co ltd
Original Assignee
Shenzhen Dongjian 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 Shenzhen Dongjian Intelligent Technology Co ltd filed Critical Shenzhen Dongjian Intelligent Technology Co ltd
Priority to CN202310922625.2A priority Critical patent/CN117034008A/zh
Publication of CN117034008A publication Critical patent/CN117034008A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/098Distributed learning, e.g. federated learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Signal Processing (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Biology (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioethics (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

本申请实施例公开了一种高效联邦大模型调节方法、系统及相关设备,应用于多方计算系统,多方计算系统包括:服务端和N个客户端,N为正整数;方法包括:每一客户端向服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源;初始化本地模型的本地模型参数;利用本地数据训练各自的本地模型;将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到服务端;服务端将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将全局参数下发给N个客户端中的每一客户端;每一客户端利用全局参数更新各自的本地模型的模型参数。采用本申请实施例可以提升大模型的训练效率。

Description

高效联邦大模型调节方法、系统及相关设备
技术领域
本申请涉及隐私计算技术领域以及计算机技术领域,具体涉及一种高效联邦大模型调节方法、系统及相关设备。
背景技术
随着聊天生成预训练转换器(chat generative pre-trained transformer,ChatGPT)的出现,预示着人工智能也正在从感知理解走向生成创造,但是对于智能生成,只有认为它是积极的并且风险是可控的时候,才能开发出更强大的人工智能系统。目前公共领域中的高质量数据是有限的,大模型需要数量更多、质量更好的人工标注数据来提高模型的性能。如何合法的利用手机、物联网上的私有数据将是解决大模型训练数据不足问题的关键。数据隐私之忧已经成为全行业的共识。集中式训练需要把所有的数据上传在一起,存在用户数据泄漏的风险。联邦学习中需要传递模型的参数或梯度,这些数据可能被攻击从而泄漏数据。而除了数据隐私的忧虑之外,由于大模型通常需要消耗大量的算力和数据,而且只有少数大公司拥有足够的资源来训练大模型。因此,如何提升大模型的训练效率的问题亟待解决。
发明内容
本申请实施例提供了一种高效联邦大模型调节方法、系统及相关设备,可以提升大模型的训练效率。
第一方面,本申请实施例提供一种高效联邦大模型调节方法,应用于多方计算系统,所述多方计算系统包括:服务端和N个客户端,N为正整数;所述方法包括:
通过所述N个客户端中每一客户端向所述服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源;
通过所述N个客户端中的每一客户端初始化本地模型的本地模型参数;
通过所述N个客户端中的每一客户端利用本地数据训练各自的本地模型;
通过所述N个客户端中的每一客户端将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到所述服务端;
通过所述服务端将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将所述全局参数下发给所述N个客户端中的每一客户端;
通过所述N个客户端中的每一客户端利用所述全局参数更新各自的本地模型的模型参数。
第二方面,本申请实施例提供了一种多方计算系统,所述多方计算系统包括:服务端和N个客户端,N为正整数,其中,
所述N个客户端中每一客户端,用于向所述服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源;
所述N个客户端中的每一客户端,用于初始化本地模型的本地模型参数;
所述N个客户端中的每一客户端,用于利用本地数据训练各自的本地模型;
所述N个客户端中的每一客户端,用于将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到所述服务端;
所述服务端,用于将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将所述全局参数下发给所述N个客户端中的每一客户端;
所述N个客户端中的每一客户端,用于利用所述全局参数更新各自的本地模型的模型参数。
第三方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行本申请实施例第一方面中的步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。
第五方面,本申请实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本申请实施例第一方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
实施本申请实施例,具备如下有益效果:
可以看出,本申请实施例中所描述的高效联邦大模型调节方法、系统及相关设备,应用于多方计算系统,所述多方计算系统包括:服务端和N个客户端,N为正整数,通过N个客户端中每一客户端向服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源,通过N个客户端中的每一客户端初始化本地模型的本地模型参数,通过N个客户端中的每一客户端利用本地数据训练各自的本地模型,通过N个客户端中的每一客户端将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到服务端,通过服务端将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将全局参数下发给N个客户端中的每一客户端,通过N个客户端中的每一客户端利用全局参数更新各自的本地模型的模型参数,如此,在不损失联邦学习模型精度和安全性的前提下,可以在联邦学习中使用私域数据训练,提高模型的性能,预训练模型参数(即预设大模型的模型参数)不更新,降低对显存的需求,上传、聚合微调部分的参数,降低通信开销,使用全局参数限制本地模型更新,防止出现模型偏离,进而,能够提升大模型训练效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种用于实现高效联邦大模型调节方法的多方计算系统的架构示意图;
图2是本申请实施例提供的一种高效联邦大模型调节方法的流程示意图;
图3是本申请实施例提供的另一种高效联邦大模型调节方法的流程示意图;
图4是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
相关技术中,为了充分利用手机、物联网上的私有数据,联邦学习是一个很好的实现工具,其可以在保证数据隐私安全及合法合规的前提下提升AI模型的实际效果。联邦学习训练过程一般采用联邦平均的方法:客户端利用本地数据对模型进行参数更新,然后将模型上传到服务端执行模型聚合操作,服务端将聚合后的全局模型返回给客户端继续迭代训练。其中,客户端的模型参数全部进行训练、更新,服务端的模型聚合执行参数做平均的方法。
相关技术中的联邦训练方法需要客户端上传本地模型到服务端,服务端需要占用大量的带宽,因此服务端存在通信瓶颈。客户端训练chatGPT等大模型,训练全部参数需要占用大量的显存、内存等计算资源,普通企业难以承担如此巨大的硬件资源开销,另外,服务端需要执行模型聚合操作,大模型的参数聚合平均也存在计算瓶颈的问题,由于联邦平均采用安全聚合协议无法执行异常检测功能,因此可能存在怀有恶意的客户端进行投毒攻击,造成模型性能损失。
为了解决上述相关技术缺陷,本申请实施例提供了一种高效联邦大模型调节方法,应用于多方计算系统,所述多方计算系统包括:服务端和N个客户端,N为正整数;所述方法包括:
通过所述N个客户端中每一客户端向所述服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源;
通过所述N个客户端中的每一客户端初始化本地模型的本地模型参数;
通过所述N个客户端中的每一客户端利用本地数据训练各自的本地模型;
通过所述N个客户端中的每一客户端将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到所述服务端;
通过所述服务端将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将所述全局参数下发给所述N个客户端中的每一客户端;
通过所述N个客户端中的每一客户端利用所述全局参数更新各自的本地模型的模型参数。本申请实施例中,在模型选择上可以使用现有的大型预训练语言模型,比如自编码模型(Bert)、增强版Bert(RoBert)、自回归模型(GPT)、encoder-decoder架构(T5)、通用语言模型(General Language Model,GLM)等。在下游任务上使用大型语言模型的低阶自适应(low-rank adaptation of large language models,LORA)高效的微调方法。在模型聚合过程中只聚合LORA部分的参数,大大降低联邦大模型的通信量。在安全上使用差分隐私方法保护本地的模型参数不被攻击,同时减少隐私泄漏的风险。在效果上使用本地训练使用近似项(ProximalTerm)优化算法,保证模型在非独立同分布数据下的效果。在整体方法上采用边端训练、云端聚合的策略,提高通信效率、降低本地带宽压力。
下面对本申请实施例进行详细介绍。
请参阅图1,图1是本申请实施例提供的一种用于实现高效联邦大模型调节方法的多方计算系统的架构示意图,如图所示,本多方计算系统可以包括:服务端和N个客户端,N为正整数;基于该多方计算系统可以实现如下功能:
所述N个客户端中每一客户端,用于向所述服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源;
所述N个客户端中的每一客户端,用于初始化本地模型的本地模型参数;
所述N个客户端中的每一客户端,用于利用本地数据训练各自的本地模型;
所述N个客户端中的每一客户端,用于将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到所述服务端;
所述服务端,用于将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将所述全局参数下发给所述N个客户端中的每一客户端;
所述N个客户端中的每一客户端,用于利用所述全局参数更新各自的本地模型的模型参数。
可选的,在所述初始化本地模型的本地模型参数方面,所述N个客户端中的每一客户端具体用于:
使用Zero初始化方法初始化各自的本地模型的本地模型参数。
可选的,在所述使用Zero初始化方法初始化各自的本地模型的本地模型参数,所述N个客户端中的每一客户端具体用于:
对各自的微调模块的A参数执行预设初始化方法;对B参数执行所述Zero初始化方法,所述预设初始化方法为均值为0方差为1的初始化方法。
可选的,在所述利用本地数据训练各自的本地模型方面,所述客户端i具体用于:
利用本地数据训练本地模型达到设定次数,所述客户端i为所述N个客户端中的任一客户端;在本地损失优化函数的基础上加入t轮关于全局模型正则项,得到所述客户端i的本地优化损失函数,t为正整数。
可选地,所述在本地损失优化函数的基础上加入t轮关于全局模型正则项,得到所述客户端i的本地优化损失函数,所述客户端i具体用于:
通过所述客户端i按照如下公式确定所述客户端i的本地优化损失函数:
y′=weight*X+BA*X
其中,weight是所述预设大模型的权重参数;B是所述微调模块的B参数;A是所述微调模块的A参数;X是输入到网络中进行模型训练的数据;y是真实标签;y′是大语言模型(large language model,LLM)的预测标签;w是本地当前轮的模型参数,wt是上一轮全局模型参数,L是本地损失优化函数,argminw是所述客户端i的本地优化损失函数;μ是可调节参数。
请参阅图2,图2是本申请实施例提供的一种高效联邦大模型调节方法的流程示意图,应用于图1所示的多方计算系统,所述多方计算系统包括:服务端和N个客户端,N为正整数;如图所示,本高效联邦大模型调节方法包括:
201、通过所述N个客户端中每一客户端向所述服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源。
本申请实施例中,预设大模型可以预先设置或者系统默认,预设大模型可以为大型预训练语言模型,预设大模型可以包括一下至少一种:Bert、RoBert、GPT、T5、GLM等等,在此不做限定。
具体实现中,每一客户端可以向服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源,具体的,即用户上传自己的大模型脚本,配置相关的模型训练超参数、数据资源。
其中,本地模型可以理解为预设大模型+微调参数,具体的,即本地模型=预设大模型+微调参数。
其中,超参数可以包括以下至少一种:学习率、迭代次数、优化器方法、学习率衰减策略等等,在此不做限定,数据资源是指本地的文本资源,例如书籍、小说、新闻、博客等等,在此不做限定。
202、通过所述N个客户端中的每一客户端初始化本地模型的本地模型参数。
本申请实施例中,每一客户端可以初始化本地模型的本地模型参数。每一本地模型均可以包括微调模型,微调模型可以包括LORA微调模块。LORA微调模块可以包括A参数和B参数。A参数、B参数指LORA微调模块的两个参数矩阵。
可选的,上述步骤202,通过所述N个客户端中的每一客户端初始化本地模型的本地模型参数方面,可以按照如下方式实施:
通过所述N个客户端中的每一客户端使用Zero初始化方法初始化各自的本地模型的本地模型参数。
具体实现中,每一客户端使用Zero初始化方法初始化各自的本地模型的本地模型参数,初始化具备如下优势:
1、避免梯度消失和梯度爆炸:初始化可以避免梯度在反向传播过程中过早地变得非常小或非常大,导致梯度消失或梯度爆炸的问题。这样可以使模型更容易学习和更新参数,提高模型的稳定性和收敛速度;
2、提高模型的表达能力:适当的初始化可以帮助模型更好地表达数据的复杂性。通过合理地初始化参数,可以为模型提供一定的学习能力和表达能力,使其能够更好地适应训练数据和提取有效的特征;
3、防止陷入局部最优解:初始化可以影响模型收敛到的解的质量。合适的初始化可以使模型具有足够的多样性,避免陷入局部最优解,并提高模型的泛化能力。
可选的,上述步骤,通过所述N个客户端中的每一客户端使用Zero初始化方法初始化各自的本地模型的本地模型参数,可以按照如下方式实施:
通过所述N个客户端中的每一客户端对各自的微调模块的A参数执行预设初始化方法;对B参数执行所述Zero初始化方法,所述预设初始化方法为均值为0方差为1的初始化方法。
本申请实施例中,N个客户端中的每一客户端可以对A参数和B参数进行差异化处理,具体的,每一客户端对各自的微调模块的A参数执行预设初始化方法,对B参数执行Zero初始化方法,预设初始化方法为均值为0方差为1的初始化方法,在初始状态这两个矩阵相乘B*A的结果为0,这样能够保证在初始阶段时,只有大模型参数生效。
203、通过所述N个客户端中的每一客户端利用本地数据训练各自的本地模型。
本申请实施例中,N个客户端中的每一客户端利用本地数据训练各自的本地模型,以提升模型的表达能力。
可选的,上述步骤203,通过所述N个客户端中的每一客户端利用本地数据训练各自的本地模型,可以按照如下方式实施:
通过客户端i利用本地数据训练本地模型达到设定次数,所述客户端i为所述N个客户端中的任一客户端;在本地损失优化函数的基础上加入t轮关于全局模型正则项,得到所述客户端i的本地优化损失函数,t为正整数。
其中,设定次数可以预先设置或者系统默认。
具体实现中,以客户端i为例,客户端i为N个客户端中的任一客户端,则客户端i可以利用本地数据训练本地模型达到设定次数,再在本地损失优化函数的基础上加入t轮关于全局模型正则项,得到客户端i的本地优化损失函数,t为正整数,防止本地模型偏离全局模型,以此来解决数据非独立同分布问题。
可选的,上述步骤,在本地损失优化函数的基础上加入t轮关于全局模型正则项,得到所述客户端i的本地优化损失函数,可以按照如下方式实施:
通过所述客户端i按照如下公式确定所述客户端i的本地优化损失函数:
y′=weight*X+BA*X
其中,weight是所述预设大模型的权重参数;B是所述微调模块的B参数;A是所述微调模块的A参数;X是输入到网络中进行模型训练的数据;y是真实标签;y′是LLM的预测标签;w是本地当前轮的模型参数,wt是上一轮全局模型参数,L是本地损失优化函数,argminw是所述客户端i的本地优化损失函数;μ是可调节参数。
其中,X是输入到网络中进行预设大模型,和/或,至少一个本地模型中训练的数据。μ大于0,例如,μ可以为1或者10。
具体实现中,举例说明下,在文本情感分类中,真实标签0、1分别代表正面情感、负面情感。预测标签则是输出0和1对应的概率,例如正面概率、负面概率分别是0.8、0.2。
本申请实施例中,在本地损失优化函数的基础上加入t轮关于全局模型正则项,得到客户端i的本地优化损失函数,t为正整数,防止本地模型偏离全局模型,以此来解决数据非独立同分布问题。本地损失优化函数可以包括交叉熵损失函数,即可以加入差分隐私,保护用户数据隐私。
204、通过所述N个客户端中的每一客户端将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到所述服务端。
本申请实施例中,N个客户端中的每一客户端可以将各自的微调模块的B参数加入不同的私人(differentially private,DP)噪声,再将加入DP噪声后的微调模块上传到服务端,具体实现中,DP指查分隐私数据保护方法,其可以保护数据安全、防止数据泄漏。具体实现中,加入DP噪声的方法可以是加入随机数或者符合高斯分布、拉普拉斯分布的数据。
205、通过所述服务端将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将所述全局参数下发给所述N个客户端中的每一客户端。
本申请实施例中,服务端将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将全局参数下发给N个客户端中的每一客户端,即上传、聚合微调部分的参数,降低通信开销,用全局参数限制本地模型更新,防止出现模型偏离。
206、通过所述N个客户端中的每一客户端利用所述全局参数更新各自的本地模型的模型参数。
本申请实施例中,N个客户端中的每一客户端利用全局参数更新各自的本地模型的模型参数,使用全局参数限制本地模型更新,防止出现模型偏离。
其中,预训练模型参数不更新,降低对显存的需求。
举例说明下,在“金融情绪分析”应用场景中,每一个客户端有一个大模型,例如GPT模型,而且每一个客户端有自己的本地金融情绪分析数据集,联邦训练开始之前初始化本地模型,然后利用本地GPT模型和数据进行训练,训练迭代N次,然后把本地模型加入查分隐私噪声随后把模型参数上传到服务器端,服务器端对所有的上传的模型执行参数聚合策略,然后把聚合后的全局模型分发给每一个客户端,客户端用全局模型替换本地模型参数,继续执行迭代训练,重复上述过程,直到达到指定的迭代次数或者模型手链停止训练。
再举例说明下,如图3所示,多方计算系统包括:客户端1、…、客户端N和服务器,每一客户端均对应训练模型的数据、预训练权重、A参数、B参数、损失函数,例如,客户端1对应x_1、预训练权重1、A_1、B_1、y_1,又例如,客户端N对应x_N、预训练权重N、A_N、B_N、y_N;则服务器则可以由B_1、...、B_N聚合成全局模型参数B_Global;具体如下:
Step0:用户(客户端1、…、客户端N)上传自己的大模型脚本,配置相关的模型训练超参数、数据资源;
Step1:本地模型使用Zero初始化方法初始化本地模型参数,配置参数,对LORA的A参数执行均值为0方差为1的初始化方法,对B执行Zero初始化。
Step2:用户利用本地数据训练模型,迭代Epoch次,在本地loss优化函数的基础上加入t轮关于全局模型正则项,防止本地模型偏离全局模型,以此来解决数据非独立同分布问题,本地优化的损失函数是:
y′=weight*X+BA*X
其中,weight是预设大模型的权重参数;B是微调模块的B参数;A是微调模块的A参数;X是输入到网络中进行模型训练的数据;y是真实标签;y′是LLM的预测标签;w是本地当前轮的模型参数,wt是上一轮全局模型参数,L是本地损失优化函数,argminw是客户端i的本地优化损失函数;μ是可调节参数。例如,L可以是交叉熵损失函数,即加入差分隐私,保护用户数据隐私。
Step3:本地训练完epoch次数之后把微调模块的B部分参数,加入DP噪声并上传到服务器;
Step4:Server对上传的模型参数进行安全聚合操作;
Step5:Server下发聚合后的全局参数给所有参与方的客户端;
Step6:客户端利用下发的全局模型参数B_Global更新自己的部分模型参数;
Step7:重复迭代Step2~Step6步骤,直至达到指定迭代次数或模型达到收敛状态。
本申请实施例中,联邦学习架构可以利用私域的数据,在不泄漏隐私的前提下进行联邦训练,提高模型的性能,根据自己的硬件、软件资源设计合适的预训练大模型,在本地模型迭代训练过程中加入关于全局模型的正则项,防止本地模型偏离全局模型,防止出现模型偏离问题,提升模型效果,只上传微调模块的部分模型参数(B部分参数)进行聚合,减少通信量,同时不参与聚合的部分参数(A部分参数)可以更充分的学习自己的本地数据,实现个性化联邦学习。
另外,本申请实施例中的训练方法结合差分隐私保护模型参数,防止隐私数据泄漏,本地训练、云端聚合提高训练效率。
本申请实施例中,在不损失联邦学习模型精度和安全性的前提下,可以在联邦学习中使用私域数据训练,提高模型的性能,预训练模型参数不更新,降低对显存的需求,上传、聚合微调部分的参数,降低通信开销,使用全局参数限制本地模型更新,防止出现模型偏离,加入差分隐私,保护用户数据隐私,进而,能够提升大模型训练效率。
可以看出,本申请实施例中所描述的高效联邦大模型调节方法、系统及相关设备,应用于多方计算系统,所述多方计算系统包括:服务端和N个客户端,N为正整数,通过N个客户端中每一客户端向服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源,通过N个客户端中的每一客户端初始化本地模型的本地模型参数,通过N个客户端中的每一客户端利用本地数据训练各自的本地模型,通过N个客户端中的每一客户端将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到服务端,通过服务端将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将全局参数下发给N个客户端中的每一客户端,通过N个客户端中的每一客户端利用全局参数更新各自的本地模型的模型参数,如此,在不损失联邦学习模型精度和安全性的前提下,可以在联邦学习中使用私域数据训练,提高模型的性能,预训练模型参数不更新,降低对显存的需求,上传、聚合微调部分的参数,降低通信开销,使用全局参数限制本地模型更新,防止出现模型偏离,进而,能够提升大模型训练效率。
与上述实施例一致地,请参阅图4,图4是本申请实施例提供的一种电子设备的结构示意图,如图所示,该电子设备包括处理器、存储器、通信接口以及一个或多个程序,应用于多方计算系统,所述多方计算系统包括:服务端和N个客户端,N为正整数;上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,本申请实施例中,上述程序包括用于执行以下步骤的指令:
通过所述N个客户端中每一客户端向所述服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源;
通过所述N个客户端中的每一客户端初始化本地模型的本地模型参数;
通过所述N个客户端中的每一客户端利用本地数据训练各自的本地模型;
通过所述N个客户端中的每一客户端将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到所述服务端;
通过所述服务端将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将所述全局参数下发给所述N个客户端中的每一客户端;
通过所述N个客户端中的每一客户端利用所述全局参数更新各自的本地模型的模型参数。
可选地,在所述通过所述N个客户端中的每一客户端初始化本地模型的本地模型参数方面,上述程序包括用于执行以下步骤的指令:
通过所述N个客户端中的每一客户端使用Zero初始化方法初始化各自的本地模型的本地模型参数。
可选的,在所述通过所述N个客户端中的每一客户端使用Zero初始化方法初始化各自的本地模型的本地模型参数方面,上述程序包括用于执行以下步骤的指令:
通过所述N个客户端中的每一客户端对各自的微调模块的A参数执行预设初始化方法;对B参数执行所述Zero初始化方法,所述预设初始化方法为均值为0方差为1的初始化方法。
可选的,在所述通过所述N个客户端中的每一客户端利用本地数据训练各自的本地模型方面,上述程序包括用于执行以下步骤的指令:
通过客户端i利用本地数据训练本地模型达到设定次数,所述客户端i为所述N个客户端中的任一客户端;在本地损失优化函数的基础上加入t轮关于全局模型正则项,得到所述客户端i的本地优化损失函数,t为正整数。
可选的,在所述在本地损失优化函数的基础上加入t轮关于全局模型正则项,得到所述客户端i的本地优化损失函数方面,上述程序包括用于执行以下步骤的指令:
通过所述客户端i按照如下公式确定所述客户端i的本地优化损失函数:
y′=weight*X+BA*X
其中,weight是所述预设大模型的权重参数;B是所述微调模块的B参数;A是所述微调模块的A参数;X是输入到网络中进行模型训练的数据;y是真实标签;y′是LLM的预测标签;w是本地当前轮的模型参数,wt是上一轮全局模型参数,L是本地损失优化函数,argminw是所述客户端i的本地优化损失函数;μ是可调节参数。
可以看出,本申请实施例中所描述的电子设备,应用于多方计算系统,所述多方计算系统包括:服务端和N个客户端,N为正整数,通过N个客户端中每一客户端向服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源,通过N个客户端中的每一客户端初始化本地模型的本地模型参数,通过N个客户端中的每一客户端利用本地数据训练各自的本地模型,通过N个客户端中的每一客户端将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到服务端,通过服务端将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将全局参数下发给N个客户端中的每一客户端,通过N个客户端中的每一客户端利用全局参数更新各自的本地模型的模型参数,如此,在不损失联邦学习模型精度和安全性的前提下,可以在联邦学习中使用私域数据训练,提高模型的性能,预训练模型参数不更新,降低对显存的需求,上传、聚合微调部分的参数,降低通信开销,使用全局参数限制本地模型更新,防止出现模型偏离,进而,能够提升大模型训练效率。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
本申请实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例上述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取器(英文:Random Access Memory,简称:RAM)、磁盘或光盘等。
以上对本申请实施例进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (10)

1.一种高效联邦大模型调节方法,其特征在于,应用于多方计算系统,所述多方计算系统包括:服务端和N个客户端,N为正整数;所述方法包括:
通过所述N个客户端中每一客户端向所述服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源;
通过所述N个客户端中的每一客户端初始化本地模型的本地模型参数;
通过所述N个客户端中的每一客户端利用本地数据训练各自的本地模型;
通过所述N个客户端中的每一客户端将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到所述服务端;
通过所述服务端将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将所述全局参数下发给所述N个客户端中的每一客户端;
通过所述N个客户端中的每一客户端利用所述全局参数更新各自的本地模型的模型参数。
2.根据权利要求1所述的方法,其特征在于,在所述通过所述N个客户端中的每一客户端初始化本地模型的本地模型参数方面,包括:
通过所述N个客户端中的每一客户端使用Zero初始化方法初始化各自的本地模型的本地模型参数。
3.根据权利要求2所述的方法,其特征在于,所述通过所述N个客户端中的每一客户端使用Zero初始化方法初始化各自的本地模型的本地模型参数,包括:
通过所述N个客户端中的每一客户端对各自的微调模块的A参数执行预设初始化方法;对B参数执行所述Zero初始化方法,所述预设初始化方法为均值为0方差为1的初始化方法。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述通过所述N个客户端中的每一客户端利用本地数据训练各自的本地模型,包括:
通过客户端i利用本地数据训练本地模型达到设定次数,所述客户端i为所述N个客户端中的任一客户端;在本地损失优化函数的基础上加入t轮关于全局模型正则项,得到所述客户端i的本地优化损失函数,t为正整数。
5.根据权利要求4所述的方法,其特征在于,所述在本地损失优化函数的基础上加入t轮关于全局模型正则项,得到所述客户端i的本地优化损失函数,包括:
通过所述客户端i按照如下公式确定所述客户端i的本地优化损失函数:
y′=weight*X+BA*X
其中,weight是所述预设大模型的权重参数;B是所述微调模块的B参数;A是所述微调模块的A参数;X是输入到网络中进行模型训练的数据;y是真实标签;y′是LLM的预测标签;w是本地当前轮的模型参数,wt是上一轮全局模型参数,L是本地损失优化函数,argminw是所述客户端i的本地优化损失函数;μ是可调节参数。
6.一种多方计算系统,其特征在于,所述多方计算系统包括:服务端和N个客户端,N为正整数,其中,
所述N个客户端中每一客户端,用于向所述服务端上传各自的预设大模型的大模型脚本,配置相关的模型训练超参数以及数据资源;
所述N个客户端中的每一客户端,用于初始化本地模型的本地模型参数;
所述N个客户端中的每一客户端,用于利用本地数据训练各自的本地模型;
所述N个客户端中的每一客户端,用于将各自的微调模块的B参数加入DP噪声,再将加入DP噪声后的微调模块上传到所述服务端;
所述服务端,用于将各个客户端上传的模型参数进行安全聚合操作,得到全局参数,将所述全局参数下发给所述N个客户端中的每一客户端;
所述N个客户端中的每一客户端,用于利用所述全局参数更新各自的本地模型的模型参数。
7.根据权利要求6所述的系统,其特征在于,在所述初始化本地模型的本地模型参数方面,所述N个客户端中的每一客户端具体用于:
使用Zero初始化方法初始化各自的本地模型的本地模型参数。
8.根据权利要求7所述的系统,其特征在于,在所述使用Zero初始化方法初始化各自的本地模型的本地模型参数,所述N个客户端中的每一客户端具体用于:
对各自的微调模块的A参数执行预设初始化方法;对B参数执行所述Zero初始化方法,所述预设初始化方法为均值为0方差为1的初始化方法。
9.一种电子设备,其特征在于,包括处理器、存储器,所述存储器用于存储一个或多个程序,并且被配置由所述处理器执行,所述程序包括用于执行如权利要求1-5任一项所述的方法中的步骤的指令。
10.一种计算机可读存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如权利要求1-5任一项所述的方法。
CN202310922625.2A 2023-07-25 2023-07-25 高效联邦大模型调节方法、系统及相关设备 Pending CN117034008A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310922625.2A CN117034008A (zh) 2023-07-25 2023-07-25 高效联邦大模型调节方法、系统及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310922625.2A CN117034008A (zh) 2023-07-25 2023-07-25 高效联邦大模型调节方法、系统及相关设备

Publications (1)

Publication Number Publication Date
CN117034008A true CN117034008A (zh) 2023-11-10

Family

ID=88640508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310922625.2A Pending CN117034008A (zh) 2023-07-25 2023-07-25 高效联邦大模型调节方法、系统及相关设备

Country Status (1)

Country Link
CN (1) CN117034008A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117852627A (zh) * 2024-03-05 2024-04-09 湘江实验室 一种预训练模型微调方法及系统
CN117852627B (zh) * 2024-03-05 2024-06-25 湘江实验室 一种预训练模型微调方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117852627A (zh) * 2024-03-05 2024-04-09 湘江实验室 一种预训练模型微调方法及系统
CN117852627B (zh) * 2024-03-05 2024-06-25 湘江实验室 一种预训练模型微调方法及系统

Similar Documents

Publication Publication Date Title
Rangan et al. On the convergence of approximate message passing with arbitrary matrices
CN113408743B (zh) 联邦模型的生成方法、装置、电子设备和存储介质
US11948075B2 (en) Generating discrete latent representations of input data items
Fan et al. Fate-llm: A industrial grade federated learning framework for large language models
CN113221183B (zh) 实现隐私保护的多方协同更新模型的方法、装置及系统
Kůrková et al. Representations and rates of approximation of real-valued Boolean functions by neural networks
WO2018148526A1 (en) Batch renormalization layers
CN114091667A (zh) 一种面向非独立同分布数据的联邦互学习模型训练方法
CN113392919A (zh) 基于客户端选择的联邦注意力dbn协同检测系统
CN115017541A (zh) 一种云边端协同的泛在智能联邦学习隐私保护系统及方法
CN110020718A (zh) 基于变分推断的逐层神经网络剪枝方法和系统
Elbir et al. A hybrid architecture for federated and centralized learning
Wang et al. Kernel recursive maximum correntropy with Nyström approximation
CN110889759A (zh) 信用数据的确定方法、装置及存储介质
CN111368983A (zh) 业务模型训练方法、装置及业务模型训练系统
Nepomuceno et al. On the use of interval extensions to estimate the largest Lyapunov exponent from chaotic data
Qi et al. Federated quantum natural gradient descent for quantum federated learning
Yun et al. Cooperative inference of DNNs for delay-and memory-constrained wireless IoT systems
Wu et al. Leader-following consensus of nonlinear discrete-time multi-agent systems with limited communication channel capacity
Wan et al. Online frank-wolfe with arbitrary delays
CN112165402A (zh) 一种网络安全态势预测的方法和装置
CN117034008A (zh) 高效联邦大模型调节方法、系统及相关设备
Kobayashi Fast Recall for Complex‐Valued Hopfield Neural Networks with Projection Rules
KR102393761B1 (ko) 이미지 처리를 위한 인공 신경망 모델 학습 방법 및 시스템
CN112115637B (zh) Noma系统模型构建、优化方法、电子设备、存储介质

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