一种面向预训练模型的联邦学习方法、装置及系统



1.本技术涉及人工智能技术领域,特别涉及一种面向预训练模型的联邦学习方法、装置及系统。


背景技术:



2.随着诸如bert模型的预训练的语言表征模型的提出,采用人工智能技术对自然语言处理迎来了一次蓬勃的发展期。大量的端侧自然语言处理应用被部署到用户终端上,比如:信息过滤应用、输入法智能补全应用及个人语音助理应用,辅助用户对自然语言的识别。
3.图1为现有技术提供的对自然语言处理模型进行训练的过程示意图。如图所示,常见的自然语言语言处理模型的训练流程分为三个阶段:模型预训练阶段、模型微调阶段及模型部署阶段。其中,模型预训练阶段,由云端服务器完成,云端服务器使用大量的中心化公开数据训练出一个通用的预训练的自然语言处理模型;模型微调阶段是根据用户的不同使用任务场景,对通用的预训练的自然语言处理模型,在诸如各个用户终端或云端设备的端侧设备中进行特质化的模型参数微调,以提升模型在特定任务上的准确率;模型部署阶段是将微调训练后的自然语言处理模型部署到各个用户终端上进行实际任务的执行。
4.目前,预训练的自然语言处理模型在进行微调训练时,所使用的微调数据往往是私密的本地数据,且分别部署到各个诸如用户终端或云端设备的端侧设备中处理,这种方法被称为联邦学习方法。但是,采用这种方法对预训练的自然语言处理模型进行微调训练,存在着高额的通信开销问题及受制于端侧设备的计算能力的问题,导致效率低下。


技术实现要素:



5.有鉴于此,本技术实施例提供一种面向预训练模型的联邦学习方法,该方法在保证模型微调精度及微调数据安全的前提下,提升模型进行微调训练的效率。
6.本技术实施例还提供一种面向预训练模型的联邦学习装置,该装置在保证模型微调精度及微调数据安全的前提下,提升模型进行微调训练的效率。
7.本技术实施例还提供一种面向预训练模型的联邦学习系统,该系统在保证模型微调精度及微调数据安全的前提下,提升模型进行微调训练的效率。
8.本技术的一个实施例中,提供一种面向预训练模型的联邦学习方法,所述方法包括:
9.a、对应一预训练的自然语言处理模型,生成至少一微调训练插件
10.b、基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果;
11.c、将从所述端侧设备集中的所述端侧设备接收的所述微调训练结果聚合,根据所述聚合的所述微调训练结果,更新所述微调训练插件,返回步骤b继续执行,直到所述微
调训练插件的微调训练结果达到预设准确率阈值为止。
12.在上述方法中,所述生成至少一微调训练插件为生成多个微调训练插件;
13.所述预设的所述微调训练插件与端侧设备集的对应关系包括:
14.对于每个所述微调训练插件,对应设置一端侧设备集,在所述端侧设备集中包括随机选取的多个所述端侧设备。
15.在上述方法中,在所述根据所述聚合的所述微调训练结果,更新所述微调训练插件之后,还包括:
16.调整预设的所述微调训练插件与端侧设备集的对应关系,返回执行所述步骤b及所述步骤c。
17.在上述方法中,所述根据所述聚合的所述微调训练结果,更新所述微调训练插件包括:
18.从所述聚合的多个所述微调训练结果中,获取得到训练效果最优的所述微调训练结果,以所述训练效果最优的所述微调训练结果为基准,更新每个所述微调训练插件。
19.在上述方法中,所述微调训练插件包括:单层微调训练插件、单层加宽微调训练插件和多层微调训练插件。
20.在上述方法中,所述以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型中,进行微调训练包括:
21.所述端侧设备预先缓存所述预训练的自然语言处理模型及所述预训练的自然语言处理模型的预训练参数;
22.所述端侧设备调用所述缓存的所述预训练的自然语言处理模型,将所述微调训练插件置入后,对所述预训练的自然语言处理模型进行微调训练,且保持所述预训练的自然语言处理模型的预训练参数不变。
23.本技术的另一实施例中提供一种面向预训练模型的联邦学习装置,所述装置包括:微调训练插件生成单元、分发单元、聚合单元及更新单元,其中,
24.所述微调训练插件生成单元,用于对应一预训练的自然语言处理模型,生成至少一微调训练插件;
25.所述分发单元,用于基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果;
26.所述聚合单元,用于将从所述端侧设备集中的所述端侧设备接收的所述微调训练结果聚合;
27.所述更新单元,用于根据所述聚合的所述微调训练结果,更新所述微调训练插件后,控制所述分发单元进行所述微调训练插件的分发,直到所述微调训练插件的微调训练结果达到预设准确率阈值为止。
28.本技术的另一实施例中提供一种面向预训练模型的联邦学习系统,包括:云端服务器及端侧设备,其中,
29.所述云端服务器,用于对应一预训练的自然语言处理模型,生成至少一微调训练插件;基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备;将从所述端侧设备集中的所述端侧设备接收的
所述微调训练结果聚合,根据所述聚合的所述微调训练结果,更新所述微调训练插件,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,继续执行,直到所述微调训练插件的微调训练结果达到预设准确率阈值为止;
30.所述端侧设备,用于将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果,发送给所述云端服务器。
31.在上述系统中,所述端侧设备,具有缓存区域,还用于在缓存区域中,缓存所述预训练的自然语言处理模型及所述预训练的自然语言处理模型的预训练参数;从缓存区域中调用所述缓存的所述预训练的自然语言处理模型,将所述微调训练插件置入后,对所述预训练的自然语言处理模型进行微调训练,且保持所述预训练的自然语言处理模型的预训练参数不变。
32.本技术的另一实施例中提供一种电子设备,所述电子设备应用于面向预训练模型的联邦学习过程,包括:
33.处理器;
34.存储器,存储有程序,所述程序配置为在被所述处理器执行时实现上述任一项所述的面向预训练模型的联邦学习方法。
35.如上所见,本技术实施例的云端服务器为预训练的自然语言处理模型,生成多个不同的微调训练插件;云端服务器基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果;云端服务器将从所述端侧设备集中的所述端侧设备接收的所述微调训练结果聚合,根据所述聚合的所述微调训练结果,更新所述微调训练插件,再重新发送给对应的端侧设备集中的端侧设备进行微调训练,直到所述微调训练插件的微调训练结果达到预设准确率阈值为止。这样,在保证模型微调精度及微调数据安全的前提下,提升模型进行微调训练的效率。
附图说明
36.图1为现有技术提供的对自然语言处理模型进行训练的过程示意图;
37.图2为本技术实施例提供的一种面向预训练模型的联邦学习方法流程图;
38.图3为本技术实施例提供的一种面向预训练模型的联邦学习装置结构示意图;
39.图4为本技术实施例提供的一种面向预训练模型的联邦学习系统结构示意图;
40.图5为本技术实施例提供的一种面向预训练模型的联邦学习方法的具体例子过程示意图;
41.图6为本技术的另一个实施例所提供的一种电子设备的示意图。
具体实施方式
42.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
43.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本技术的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他步骤或单元。
44.下面以具体实施例对本技术的技术方案进行详细说明。下面几个具体实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
45.从背景技术可以看出,采用联邦学习方法对预训练的自然语言处理模型进行微调时,主要存在两个问题。第一个问题,存在高额的通信开销,预训练的自然语言处理模型中的可训练参数高达上百万个,在微调训练时在端侧设备中都需要进行处理,会加剧自然语言处理模型在微调训练过程中的通信开销。第二个问题,对预训练的语言处理模型进行微调训练的端侧设备的计算能力存在瓶颈,对预训练的自然语言处理模型进行微调训练时需要花费较长的时间与能耗,且一次成功的模型微调训练往往需要对该模型进行数千轮的训练,更加重了花费的时间长度及消耗更多的能源。
46.上述两个问题导致了采用联邦学习方法对预训练的自然语言处理模型进行微调训练时,效率低下。申请人发现,在端侧设备对预训练的自然语言处理模型进行微调训练时,都需要对预训练的自然语言处理模型中的所有参数进行微调训练,增加了微调训练的复杂度及耗费了大量的时间及功耗,远远超出了实际应用自然语言处理模型的可用范畴。为了克服上述问题,在各个端侧设备对自然语言处理模型进行微调训练时,可以采用部分微调方式或模型压缩方式。具体地说,部分微调方式是对该模型进行部分微调训练。在自然语言处理场景下,合理的模型部分微调也可以带来一定的收益。但是如何在自然语言处理模型中实现部分微调训练的过程是一个复杂问题。进一步如何在自然语言处理模型中到最优的微调子模块更是一个复杂且动态的问题,如果微调子模块中微调该模型中的参数过多,那么解决效率低下的作用十分有限;如果微调子模块中微调该模型中的参数过少,则会导致最终得到的自然语言处理模型的精度上有较多损失。模型压缩方式是联邦学习场景中一种常见的通信优化技术,该技术在对该模型中的各个参数进行微调训练过程中,将浮点数类型的参数压缩至不同精度的整数类型的参数,从而减少该模型的计算数据量,降低计算开销及通信开销,但是该方式存在一定的局限性,模型压缩过程中不可避免的损失部分参数信息,从而影响该模型进行微调的精度。
47.无论采用部分微调方式或模型压缩方式对该模型进行微调,并未对端侧设备中的微调训练速度做出实质优化,这也会影响该模型的训练效率。因此,如何在端侧设备对该模型进行微调训练时,提高训练效率且保证训练精度,是一个亟待解决的问题。
48.本技术实施例的云端服务器为预训练的自然语言处理模型,生成多个不同的微调训练插件;云端服务器基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果;云端服务器将从所述端侧设备集中的所述端侧设备接收的所述微调训练结果聚合,根据所述聚合
的所述微调训练结果,再次更新所述微调训练插件,再发送给对应的端侧设备集中的端侧设备进行微调训练,直到所述微调训练插件的微调训练结果达到预设准确率阈值为止。
49.本技术实施例可以根据需要通过预设不同的微调训练插件对预训练的自然语言处理模型中的部分参数进行微调训练,而使得预训练的自然语言处理模型中的其他参数不变,减少端侧设备的计算能力开销。在联邦学习过程中,仅传输微调训练插件及微调训练结果,该微调训练结果可以通过微调训练插件传输,从而减小通信开销,在保证模型微调精度及微调参数安全的前提下,提升模型进行微调训练的效率。
50.在这里,微调训练插件为基于端侧设备的应用程序接口编写出来的程序,其可以运行在端侧设备中且具有待微调训练参数,以采用端侧设备的本地数据进行微调训练。
51.图2为本技术实施例提供的一种面向预训练模型的联邦学习方法流程图,其具体步骤包括:
52.步骤201、对应一预训练的自然语言处理模型,生成至少一微调训练插件;
53.步骤202、基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果;
54.步骤203、将从所述端侧设备集中的所述端侧设备接收的所述微调训练结果聚合,根据所述聚合的所述微调训练结果,更新所述微调训练插件,返回步骤202继续执行,直到所述微调训练插件的微调训练结果达到预设准确率阈值为止。
55.在上述方法中,预设的准确率阈值可以根据实际需要设置,这里不限定。
56.在上述方法中,所述生成至少一微调训练插件为生成多个微调训练插件,这些微调训练插件是不相同的。在这种情况下,所述预设的所述微调训练插件与端侧设备集的对应关系包括:对于每个所述微调训练插件,对应设置一端侧设备集,在所述端侧设备集中包括随机选取的多个所述端侧设备。也就是说,将不同的微调训练插件分配给不同的端侧设备集应用,且每个端侧设备集中的端侧设备是可以随机选取的,使得后续的微调训练参与的端侧设备更加分散,提高微调训练的精度。
57.在上述方法中,所述根据所述聚合的所述微调训练结果,更新所述微调训练插件之后,还包括:调整预设的所述微调训练插件与端侧设备集的对应关系,再返回执行所述步骤202及所述步骤203。这样,可以保证每次更新微调训练插件后,重新选择端侧设备进行再次的微调训练,保证微调训练参与的端侧设备分散。
58.在上述方法中,当微调训练插件为多个时,所述根据所述聚合的所述微调训练结果,更新所述微调训练插件包括:
59.从所述聚合的多个所述微调训练结果中,获取得到训练效果最优的所述微调训练结果,以所述训练效果最优的所述微调训练结果为基准,更新每个所述微调训练插件。在这里,诉搜狐微调训练结果就是微调训练后得到的微调训练参数,可以将微调训练参数承载在所述微调训练插件中传输给云端服务器,云端服务器据此进行基准的微调训练插件的选择。
60.在上述方法中,所述微调训练插件包括:单层微调训练插件、单层加宽微调训练插件和多层微调训练插件。在这里,可以对预训练的自然语言处理模型中的预设单层结构中的预训练参数、预设单层加宽结构中的预训练参数和预设多层结构中的预训练参数,采用
对应插件中的待微调参数进行替换后,进行微调训练,从而后续得到微调训练的微调训练结果。
61.在上述方法中,所述以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型中,进行微调训练包括:
62.所述端侧设备预先缓存所述预训练的自然语言处理模型及所述预训练的自然语言处理模型的预训练参数;所述端侧设备调用所述缓存的所述预训练的自然语言处理模型,将所述微调训练插件置入后,对所述预训练的自然语言处理模型进行微调训练,且保持所述预训练的自然语言处理模型的预训练参数不变。在这里,端侧设备中设置有缓存区域,存储了预训练的自然语言处理模型,在进行微调训练时直接调用即可,不需要再由云端服务器进行传输,节省通信开销。更进一步地,在存储区域中还存储了所述预训练的自然语言处理模型的预训练参数,由于在所述预训练的自然语言处理模型的微调训练中,大部分的预训练参数是不变的,所以不需要在本地进行重新前向传播计算,直接调用即可,节省了计算开销。
63.图3为本技术实施例提供的一种面向预训练模型的联邦学习装置结构示意图,该装置为云端服务器,具体包括:微调训练插件生成单元、分发单元、聚合单元及更新单元,其中,
64.所述微调训练插件生成单元,用于对应一预训练的自然语言处理模型,生成至少一微调训练插件;
65.所述分发单元,用于基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果;
66.所述聚合单元,用于将从所述端侧设备集中的所述端侧设备接收的所述微调训练结果聚合;
67.所述更新单元,用于根据所述聚合的所述微调训练结果,更新所述微调训练插件后,控制所述分发单元进行所述微调训练插件的分发,直到所述微调训练插件的微调训练结果达到预设准确率阈值为止。
68.图4为本技术实施例提供的一种面向预训练模型的联邦学习系统结构示意图,所述系统包括:云端服务器及端侧设备,其中,
69.所述云端服务器,用于对应一预训练的自然语言处理模型,生成至少一微调训练插件;基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备;将从所述端侧设备集中的所述端侧设备接收的所述微调训练结果聚合,根据所述聚合的所述微调训练结果,更新所述微调训练插件,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,继续执行,直到所述微调训练插件的微调训练结果达到预设准确率阈值为止;
70.所述端侧设备,用于将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果,发送给所述云端服务器。
71.在上述系统中,所述端侧设备,具有缓存区域,还用于在缓存区域中,缓存所述预训练的自然语言处理模型及所述预训练的自然语言处理模型的预训练参数;从缓存区域中调用所述缓存的所述预训练的自然语言处理模型,将所述微调训练插件置入后,对所述预
训练的自然语言处理模型进行微调训练,且保持所述预训练的自然语言处理模型的预训练参数不变。
72.以下举一个具体例子对本技术实施例进行详细说明。
73.在该例子中,可以在端侧设备中承载一个微调训练插件,在预训练的自然语言处理模型的微调训练过程中,利用该微调训练插件对所述模型的结构与参数进行微调训练,即在微调训练过程中,所述模型的参数保持不变,仅训练置入的可训练插件中的模型参数。在云端服务器与端侧设备之间进行通信及云端服务器对微调训练结果进行聚合时,也仅仅传输微调训练插件及微调训练结果,而预训练的自然语言处理模型中的未参与微调参数调整的其他预训练参数不变,在前向传播计算时节省计算开销。
74.针对采用背景技术在端侧设备中预训练的自然语言处理模型进行微调训练时速度比较慢的问题,申请人基于预训练的自然语言处理模型在微调训练时,所述模型中的预训练参数保持大部分不变的特性,结合了缓存技术,提出了在端侧设备中进行所述模型的微调训练时的缓存机制。该缓存机制的基础为:端侧设备中用于微调训练的本地数据在短时间内不会有较大更新,且预训练的自然语言处理模型中的预训练参数不会更新。在这种情况下,每次微调训练过程中的大部分前向传输结果,即预训练参数是固定不变的。申请人在端侧设备中设置缓存区域,以存储预训练的自然语言处理模型及固定不变的前向传播计算结果,即预训练得到的所述模型的预训练参数,从而在微调训练过程中避免了重复计算未微调结构中的所述预训练参数,节省了前向传播计算开销。
75.申请人基于大量实验发现,微调训练插件控制微调训练所述预训练的自然语言处理模型的部分结构与置入的预训练参数个数等,对所述模型进行微调训练的效果有较大影响。且不存在一个适合所有预训练的自然语言处理模型的微调训练插件存在。因此,本技术实施例引入了一种多集多分支的全局微调训练调度机制,采用该全局微调训练调度机制可以在所述预训练的自然语言处理模型的微调训练过程中决策出适合具体任务且具体预训练的自然语言处理模型的最优微调训练插件,并在端侧设备集中使用。
76.图5为本技术实施例提供的一种面向预训练模型的联邦学习方法的具体例子过程示意图。在云端服务器中设置预设准确率阈值及微调训练调度器触发的频率。在图中,云端服务器显示在左边框图中,整个微调训练过程采用全局服务管理器整体控制实现;端侧设备位于右边框图中的各个端侧设备集中,以下对图5的过程详细说明。
77.第一步骤,云端服务器随机选取3n个参与本轮微调训练的端侧设备,n为自然数,将3n个端侧设备随机分为3个集,分别设置为集一、集二及集三;云端服务器设置一个基准微调训练插件,该基准微调训练插件为对预训练的自然语言处理模型中的单层结构信息微调训练的插件,包括对应的单层结构中采用的微调训练参数,且选定预训练的自然语言处理模型。
78.第二步骤,云端服务器采用分支生成器,根据基准微调训练插件生成三种不同的微调训练插件,分别为:单层微调训练插件、单层加宽微调训练插件和多层微调训练插件;云端服务器将三种微调训练插件分发给三个不同的端侧设备集,并通知各个端侧设备集中的端侧设备使用指定的预训练的自然语言处理模型进行微调训练。
79.第三步骤,端侧设备根据自己所在的端侧设备集,接收不同的微调训练插件后,将其置入到指定的预训练的自然语言处理模型。端侧设备使用本地数据,结合缓存技术对
指定的预训练的自然语言处理模型进行微调训练,得到微调训练结果,将微调训练结果发送给云端服务器,在这里,微调训练结果实际上就是更新后的微调训练参数,可以将该微调训练结果承载在微调训练插件中,传输给云端服务器。
80.第四步骤,云端服务器对每个端侧设备集返回的微调训练结果进行聚合,并再选择3n个新的端侧设备,随机分为3个端侧设备集。当云端服务器的训练调度器被触发时,云端服务器对比在相同的训练时间下,哪个端侧集所对应的微调训练结果的训练效果最优。基于训练新效果最优的微调训练结果设置更新后的基准微调训练插件,采用分支生成器,根据更新后的基准微调训练插件生成三种不同的微调训练插件,分别为:单层微调训练插件、单层加宽微调训练插件和多层微调训练插件,将三种微调训练插件再次分发给更新后的三个不同的端侧设备集。
81.第五步骤,重复执行第三步骤和第四步骤,直到达到预设的准确率阈值,云服务器接收到最终的微调训练结果。
82.在上述过程中,需要注意的是,云端服务器中的缓存机制与预设的微调训练插件是协同工作的。具体体现在,当微调训练插件要微调训练的所述模型中的结构,及微调参数不变时,端侧设备中的缓存区域的预训练参数及微调训练参数不需要重新微调训练。而随着微调训练的所述模型中的结构及微调参数更改,缓存机制,即所述模型在哪个端侧设备中进行缓存或调用操作,以及对应的缓存区域中的哪些所述模型的参数则需要进行相应的更新。这个更新可在数秒内完成,且在一次完整的微调训练阶段中至多会发生不超过20次。
83.从本技术实施例可以看出,在对预训练的自然语言模型采用联邦学习方式进行微调过程中,所采用的微调训练参数中的待微调训练参数规模较小,仅为完整的预训练的自然语言模型的百分之一。因此相比于传输完整的预训练的自然语言模型后,再进行全部的微调训练参数更新与聚合,可以大大降低预训练的自然语言模型在预训练过程中的通信开销。本技术实施例通过缓存机制,在端侧设备中设置缓存区域,避免了预训练的自然语言模型的微调训练过程中的大量重复冗余的前向传播计算,从而大幅提升了端侧设备中对预训练的自然语言模型的微调训练效率。更进一步地,本技术实施例提供了一种自动化选取最优的微调训练结果的处理过程,该处理过程能够合理利用参与微调训练的端侧设备,以三条并行流水线动态决策出最适合当下训练任务的基准微调训练插件,该微调训练插件定义了微调训练的所述模型中的部分结构和待微调参数个数。该基准微调训练插件可以在微调训练过程中收敛微调训练轮数,且在单轮微调训练速度中取得动态最优,保证预训练的自然语言处理模型可以在最快的时间段内的微调训练结果达到预设的准确率阈值。
84.在本技术的另一个实施例中,提供了一种非瞬时计算机可读存储介质,所述非瞬时计算机可读存储介质存储指令,所述指令在由处理器执行时引发所述处理器执行前述实施例中的一种面向预训练模型的联邦学习方法。
85.图6为本技术的另一个实施例所提供的一种电子设备的示意图。如图6所示,本技术另一实施例还提供一种电子设备,其可以包括处理器601,其中,处理器601用于执行上述一种面向预训练模型的联邦学习方法的步骤。从图6中还可以看出,上述实施例提供的电子设备还包括非瞬时计算机可读存储介质602,该非瞬时计算机可读存储介质602上存储有计算机程序,该计算机程序被处理器601运行时执行上述一种面向预训练模型的联邦学习方法的步骤。
86.具体地,该非瞬时计算机可读存储介质602能够为通用的存储介质,如移动磁盘、硬盘、flash、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、或便携式紧凑磁盘只读存储器(cd-rom)等,该非瞬时计算机可读存储介质602上的计算机程序被处理器602运行时,能够引发处理器1001执行上述的一种面向预训练模型的联邦学习方法的各个步骤。
87.实际应用中,所述的非瞬时计算机可读存储介质602可以是上述实施例中描述的设备/装置/系统中所包含的,也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或多个程序被执行时,能够执行上述的一种面向预训练模型的联邦学习方法中的各个步骤。
88.本技术的再一实施例还提供一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述的一种面向预训练模型的联邦学习方法中的各个步骤。
89.本技术附图中的流程图和框图,示出了按照本技术公开的各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或者代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应该注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同附图中所标准的顺序发生。例如,两个连接地表示的方框实际上可以基本并行地执行,它们有时也可以按照相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或者流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
90.本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本技术中。特别地,在不脱离本技术精神和教导的情况下,本技术的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,所有这些组合和/或结合均落入本技术公开的范围。
91.本文中应用了具体实施例对本技术的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本技术的方法及其核心思路,并不用于限制本技术。对于本领域的技术人员来说,可以依据本技术的思路、精神和原则,在具体实施方式及应用范围上进行改变,其所做的任何修改、等同替换、改进等,均应包含在本技术保护的范围之内。

技术特征:


1.一种面向预训练模型的联邦学习方法,其特征在于,所述方法包括:a、对应一预训练的自然语言处理模型,生成至少一微调训练插件;b、基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果;c、将从所述端侧设备集中的所述端侧设备接收的所述微调训练结果聚合,根据所述聚合的所述微调训练结果,更新所述微调训练插件,返回步骤b继续执行,直到所述微调训练插件的微调训练结果达到预设准确率阈值为止。2.如权利要求1所述的方法,其特征在于,所述生成至少一微调训练插件为生成多个微调训练插件;所述预设的所述微调训练插件与端侧设备集的对应关系包括:对于每个所述微调训练插件,对应设置一端侧设备集,在所述端侧设备集中包括随机选取的多个所述端侧设备。3.如权利要求2所述的方法,其特征在于,在所述根据所述聚合的所述微调训练结果,更新所述微调训练插件之后,还包括:调整预设的所述微调训练插件与端侧设备集的对应关系,返回执行所述步骤b及所述步骤c。4.如权利要求2或3所述的方法,其特征在于,所述根据所述聚合的所述微调训练结果,更新所述微调训练插件包括:从所述聚合的多个所述微调训练结果中,获取得到训练效果最优的所述微调训练结果,以所述训练效果最优的所述微调训练结果为基准,更新每个所述微调训练插件。5.如权利要求4所述的方法,其特征在于,所述微调训练插件包括:单层微调训练插件、单层加宽微调训练插件和多层微调训练插件。6.如权利要求4所述的方法,其特征在于,所述以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型中,进行微调训练包括:所述端侧设备预先缓存所述预训练的自然语言处理模型及所述预训练的自然语言处理模型的预训练参数;所述端侧设备调用所述缓存的所述预训练的自然语言处理模型,将所述微调训练插件置入后,对所述预训练的自然语言处理模型进行微调训练,且保持所述预训练的自然语言处理模型的预训练参数不变。7.一种面向预训练模型的联邦学习装置,其特征在于,所述装置包括:微调训练插件生成单元、分发单元、聚合单元及更新单元,其中,所述微调训练插件生成单元,用于对应一预训练的自然语言处理模型,生成至少一微调训练插件;所述分发单元,用于基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果;所述聚合单元,用于将从所述端侧设备集中的所述端侧设备接收的所述微调训练结果聚合;
所述更新单元,用于根据所述聚合的所述微调训练结果,更新所述微调训练插件后,控制所述分发单元进行所述微调训练插件的分发,直到所述微调训练插件的微调训练结果达到预设准确率阈值为止。8.一种面向预训练模型的联邦学习系统,其特征在于,包括:云端服务器及端侧设备,其中,所述云端服务器,用于对应一预训练的自然语言处理模型,生成至少一微调训练插件;基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备;将从所述端侧设备集中的所述端侧设备接收的所述微调训练结果聚合,根据所述聚合的所述微调训练结果,更新所述微调训练插件,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,继续执行,直到所述微调训练插件的微调训练结果达到预设准确率阈值为止;所述端侧设备,用于将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果,发送给所述云端服务器。9.如权利要求8所述的系统,其特征在于,所述端侧设备,具有缓存区域,还用于在缓存区域中,缓存所述预训练的自然语言处理模型及所述预训练的自然语言处理模型的预训练参数;从缓存区域中调用所述缓存的所述预训练的自然语言处理模型,将所述微调训练插件置入后,对所述预训练的自然语言处理模型进行微调训练,且保持所述预训练的自然语言处理模型的预训练参数不变。10.一种电子设备,其特征在于,所述电子设备应用于面向预训练模型的联邦学习过程,包括:处理器;存储器,存储有程序,所述程序配置为在被所述处理器执行时实现如权利要求1至7中任一项所述的面向预训练模型的联邦学习方法。

技术总结


本申请实施例公开了一种面向预训练模型的联邦学习方法、装置及系统,包括:云端服务器为预训练的自然语言处理模型,生成多个不同的微调训练插件;云端服务器基于预设的所述微调训练插件与端侧设备集的对应关系,将所述微调训练插件发送给对应的端侧设备集中的端侧设备,以使所述端侧设备将所述微调训练插件置入所述预训练的自然语言处理模型,进行微调训练,得到微调训练结果;云端服务器将所述微调训练结果聚合后,基于聚合结果更新所述微调训练插件,重新发送给对应的端侧设备集中的端侧设备进行微调训练,直到所述微调训练结果达到预设准确率阈值为止。这样,在保证模型微调精度及微调数据安全的前提下,提升模型进行微调训练的效率。微调训练的效率。微调训练的效率。


技术研发人员:

徐梦炜 蔡栋琪 周傲 马骁 王尚广

受保护的技术使用者:

北京邮电大学

技术研发日:

2022.10.20

技术公布日:

2022/12/9

本文发布于:2024-09-23 17:17:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/31775.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   自然语言   模型   插件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议