本技术涉及多方安全计算和大模型训练,尤其涉及一种大模型训练系统、大模型训练方法及相关服务器。
背景技术:
1、大模型,例如,大语言模型(llm,large language model),及其在人工智能领域的应用已成为全球研究的热点。大语言模型是基于海量文本数据训练的深度学习模型,它不仅能够生成自然语言文本,还能够深入理解文本含义,处理各种自然语言任务,如文本摘要、问答、翻译等。
2、然而,训练大模型的数据安全问题不容忽视,在实际应用中,已经出现过很多敏感数据泄露,数据版权侵犯等事件,因此,行业大模型应用场景中实施隐私安全保护技术具有紧迫性和必要性。
3、此外,当大语言模型应用于专业领域,例如传媒、能源等行业时,需要利用该行业拥有的专业数据进行训练,以得到行业大模型。进一步,为了提高训练模型的预测精度,通常需要使用多个数据方(该行业内的多家公司/机构)的数据作为原始输入数据,联合训练行业大模型。然而,各方数据中可能包含各自的隐私数据等,这就需要一种在保护各方隐私数据安全基础上的,实现多方联合训练大模型的方法。
4、具体到训练过程中,由于大模型的训练需要较大的算力开销,目前已知的大模型训练方法无法兼顾数据安全与较高的训练效率。
技术实现思路
1、本技术实施例提供一种大模型训练系统、大模型训练方法及相关服务器,用以解决现有技术中存在的大模型训练的数据安全性和训练效率较低的问题。
2、本技术实施例提供一种大模型训练系统,包括:多个服务器,所述服务器包括cpu芯片和gpu加速卡,所述cpu芯片上具有可信执行环境tee区域,所述tee区域内包含模型训练模块,所述gpu加速卡上具有算法执行模块,其中,所述模型训练模块通过安全加密通道与客户端相连,所述多个服务器的所述模型训练模块之间通过安全加密通道相连,所述多个服务器中包含各单机训练服务器和至少一个聚合训练服务器;
3、所述单机训练服务器的所述模型训练模块,用于接收相连的所述客户端通过安全加密通道发送的训练数据;
4、所述单机训练服务器的所述模型训练模块和所述算法执行模块,用于基于所述训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练,得到单机训练特征数据,所述模型训练模块需要执行的计算操作包括数据预处理和中间变量数据裁剪,所述算法执行模块需要执行的计算操作包括矩阵运算;
5、所述单机训练服务器的所述模型训练模块,还用于通过安全加密通道向所述聚合训练服务器的所述模型训练模块发送所述单机训练特征数据;
6、所述聚合训练服务器的所述模型训练模块和所述算法执行模块,用于通过数据交互,对来自各服务器的所述单机训练特征数据进行聚合训练操作,得到聚合特征数据;
7、当不需要基于所述聚合特征数据再次进行迭代训练时,所述聚合训练服务器的所述模型训练模块和所述算法执行模块,生成模型训练结果;
8、当需要基于所述聚合特征数据再次进行迭代训练时,所述聚合训练服务器的所述模型训练模块,用于通过安全加密通道向各所述单机训练服务器的所述模型训练模块发送所述聚合训练数据;
9、所述单机训练服务器的所述模型训练模块和所述算法执行模块,还用于基于所述聚合训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练,得到再次迭代训练的单机训练特征数据,并通过安全加密通道发送至所述聚合训练服务器的所述模型训练模块,供所述聚合训练服务器的所述模型训练模块和所述算法执行模块再次执行聚合训练操作。
10、进一步的,所述单机训练服务器的所述模型训练模块,具体用于对所述训练数据进行预处理,得到预处理后训练数据,并向所述单机训练服务器的所述算法执行模块发送所述预处理后训练数据;
11、所述单机训练服务器的所述算法执行模块,具体用于按照需要执行的计算操作,对所述预处理后训练数据进行计算,得到中间变量数据,并向所述单机训练服务器的所述模型训练模块发送所述中间变量数据;
12、所述单机训练服务器的所述模型训练模块,具体用于对所述中间变量数据执行裁剪,得到单机训练特征数据;
13、所述单机训练服务器的所述模型训练模块,具体用于向所述单机训练服务器的所述算法执行模块发送所述聚合训练数据;
14、所述单机训练服务器的所述算法执行模块,具体用于按照需要执行的计算操作,对所述聚合训练数据进行计算,得到再次迭代训练的中间变量数据,并向所述单机训练服务器的所述模型训练模块发送再次迭代训练的所述中间变量数据;
15、所述单机训练服务器的所述模型训练模块,具体用于对再次迭代训练的所述中间变量数据执行裁剪,得到再次迭代训练的单机训练特征数据。
16、进一步的,所述单机训练服务器的所述模型训练模块,还用于在向所述单机训练服务器的所述算法执行模块发送所述预处理后训练数据之前,通过安全加密通道向所述单机训练服务器的所述算法执行模块发送数据混淆规则;
17、所述单机训练服务器的所述模型训练模块,具体用于按照所述数据混淆规则,采用数据混淆的方式,向所述单机训练服务器的所述算法执行模块发送所述预处理后训练数据;
18、所述单机训练服务器的所述算法执行模块,具体用于按照所述数据混淆规则,采用数据混淆的方式,向所述单机训练服务器的所述模型训练模块发送所述中间变量数据;
19、所述单机训练服务器的所述模型训练模块,具体用于按照所述数据混淆规则,采用数据混淆的方式,向所述单机训练服务器的所述算法执行模块发送所述聚合训练数据;
20、所述单机训练服务器的所述算法执行模块,具体用于按照所述数据混淆规则,采用数据混淆的方式,向所述单机训练服务器的所述模型训练模块发送再次迭代训练的所述中间变量数据。
21、进一步的,所述模型训练模块,包括:客户端接口模块、训练执行模块和特征互联模块,所述客户端接口模块通过安全加密通道与客户端相连,所述多个服务器的所述特征互联模块之间通过安全加密通道相连;
22、所述单机训练服务器的所述客户端接口模块,用于接收相连的所述客户端通过安全加密通道发送的训练数据;
23、所述单机训练服务器的所述训练执行模块和所述算法执行模块,用于基于所述训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练,得到单机训练特征数据,所述训练执行模块需要执行的计算操作包括数据预处理和中间变量数据裁剪;
24、所述单机训练服务器的所述特征互联模块,用于通过安全加密通道向所述聚合训练服务器的所述特征互联模块发送所述单机训练特征数据;
25、所述聚合训练服务器的所述训练执行模块和所述算法执行模块,用于通过数据交互,对来自各服务器的所述单机训练特征数据进行聚合训练操作,得到聚合特征数据;
26、当不需要基于所述聚合特征数据再次进行迭代训练时,所述聚合训练服务器的所述训练执行模块和所述算法执行模块,生成模型训练结果;
27、当需要基于所述聚合特征数据再次进行迭代训练时,所述聚合训练服务器的所述特征互联模块,用于通过安全加密通道向各所述单机训练服务器的所述特征互联模块发送所述聚合训练数据;
28、所述单机训练服务器的所述训练执行模块和所述算法执行模块,还用于基于所述聚合训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练,得到再次迭代训练的单机训练特征数据;
29、所述单机训练服务器的所述特征互联模块,还用于通过安全加密通道,向所述聚合训练服务器的所述特征互联模块发送再次迭代训练的单机训练特征数据,供所述聚合训练服务器的所述训练执行模块和所述算法执行模块再次执行聚合训练操作。
30、本技术实施例还提供一种大模型训练方法,应用于模型训练系统中的单机训练服务器,所述模型训练系统包括多个服务器,所述多个服务器中包含各单机训练服务器和至少一个聚合训练服务器,所述服务器包括cpu芯片和gpu加速卡,所述cpu芯片上具有可信执行环境tee区域,所述tee区域内包含模型训练模块,所述gpu加速卡上具有算法执行模块,其中,所述模型训练模块通过安全加密通道与客户端相连,所述多个服务器的所述模型训练模块之间通过安全加密通道相连,所述方法,包括:
31、所述单机训练服务器的所述模型训练模块接收相连的所述客户端通过安全加密通道发送的训练数据;
32、所述单机训练服务器的所述模型训练模块和所述算法执行模块基于所述训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练,得到单机训练特征数据,所述模型训练模块需要执行的计算操作包括数据预处理和中间变量数据裁剪,所述算法执行模块需要执行的计算操作包括矩阵运算;
33、所述单机训练服务器的所述模型训练模块通过安全加密通道向所述聚合训练服务器的所述模型训练模块发送所述单机训练特征数据,使得所述聚合训练服务器的所述模型训练模块和所述算法执行模块通过数据交互,对来自各服务器的所述单机训练特征数据进行聚合训练操作,得到聚合特征数据,以及当不需要基于所述聚合特征数据再次进行迭代训练时,所述聚合训练服务器的所述模型训练模块和所述算法执行模块生成模型训练结果,当需要基于所述聚合特征数据再次进行迭代训练时,所述聚合训练服务器的所述模型训练模块通过安全加密通道向各所述单机训练服务器的所述模型训练模块发送所述聚合训练数据;
34、所述单机训练服务器的所述模型训练模块和所述算法执行模块基于所述聚合训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练,得到再次迭代训练的单机训练特征数据,并通过安全加密通道发送至所述聚合训练服务器的所述模型训练模块,供所述聚合训练服务器的所述模型训练模块和所述算法执行模块再次执行聚合训练操作。
35、进一步的,所述单机训练服务器的所述模型训练模块和所述算法执行模块基于所述训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练,得到单机训练特征数据,包括:
36、所述单机训练服务器的所述模型训练模块对所述训练数据进行预处理,得到预处理后训练数据,并向所述单机训练服务器的所述算法执行模块发送所述预处理后训练数据;
37、所述单机训练服务器的所述算法执行模块按照需要执行的计算操作,对所述预处理后训练数据进行计算,得到中间变量数据,并向所述单机训练服务器的所述模型训练模块发送所述中间变量数据;
38、所述单机训练服务器的所述模型训练模块对所述中间变量数据执行裁剪,得到单机训练特征数据;
39、所述单机训练服务器的所述模型训练模块和所述算法执行模块基于所述聚合训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练,得到再次迭代训练的单机训练特征数据,包括:
40、所述单机训练服务器的所述模型训练模块向所述单机训练服务器的所述算法执行模块发送所述聚合训练数据;
41、所述单机训练服务器的所述算法执行模块按照需要执行的计算操作,对所述聚合训练数据进行计算,得到再次迭代训练的中间变量数据,并向所述单机训练服务器的所述模型训练模块发送再次迭代训练的所述中间变量数据;
42、所述单机训练服务器的所述模型训练模块对再次迭代训练的所述中间变量数据执行裁剪,得到再次迭代训练的单机训练特征数据。
43、进一步的,在所述单机训练服务器的所述模型训练模块向所述单机训练服务器的所述算法执行模块发送所述预处理后训练数据之前,还包括:
44、所述单机训练服务器的所述模型训练模块通过安全加密通道向所述单机训练服务器的所述算法执行模块发送数据混淆规则;
45、所述单机训练服务器的所述模型训练模块向所述单机训练服务器的所述算法执行模块发送所述预处理后训练数据,具体包括:
46、所述单机训练服务器的所述模型训练模块按照所述数据混淆规则,采用数据混淆的方式,向所述单机训练服务器的所述算法执行模块发送所述预处理后训练数据;
47、所述单机训练服务器的所述算法执行模块向所述单机训练服务器的所述模型训练模块发送所述中间变量数据,具体包括:
48、所述单机训练服务器的所述算法执行模块按照所述数据混淆规则,采用数据混淆的方式,向所述单机训练服务器的所述模型训练模块发送所述中间变量数据;
49、所述单机训练服务器的所述模型训练模块向所述单机训练服务器的所述算法执行模块发送所述聚合训练数据,具体包括:
50、所述单机训练服务器的所述模型训练模块按照所述数据混淆规则,采用数据混淆的方式,向所述单机训练服务器的所述算法执行模块发送所述聚合训练数据;
51、所述单机训练服务器的所述算法执行模块向所述单机训练服务器的所述模型训练模块发送再次迭代训练的所述中间变量数据,具体包括:
52、所述单机训练服务器的所述算法执行模块按照所述数据混淆规则,采用数据混淆的方式,向所述单机训练服务器的所述模型训练模块发送再次迭代训练的所述中间变量数据。
53、本技术实施例还提供一种大模型训练方法,应用于模型训练系统中的聚合训练服务器,所述模型训练系统包括多个服务器,所述多个服务器中包含各单机训练服务器和至少一个聚合训练服务器,所述服务器包括cpu芯片和gpu加速卡,所述cpu芯片上具有可信执行环境tee区域,所述tee区域内包含模型训练模块,所述gpu加速卡上具有算法执行模块,其中,所述模型训练模块通过安全加密通道与客户端相连,所述多个服务器的所述模型训练模块之间通过安全加密通道相连,所述方法,包括:
54、所述聚合训练服务器的所述模型训练模块接收各所述单机训练服务器的所述模型训练模块通过安全加密通道发送的单机训练特征数据,所述单机训练特征数据为所述单机训练服务器的所述模型训练模块和所述算法执行模块基于训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练得到的,所述模型训练模块需要执行的计算操作包括数据预处理和中间变量数据裁剪,所述算法执行模块需要执行的计算操作包括矩阵运算,所述训练数据为所述单机训练服务器的所述模型训练模块相连的所述客户端通过安全加密通道发送的;
55、所述聚合训练服务器的所述模型训练模块和所述算法执行模块通过数据交互,对来自各服务器的所述单机训练特征数据进行聚合训练操作,得到聚合特征数据;
56、当不需要基于所述聚合特征数据再次进行迭代训练时,所述聚合训练服务器的所述模型训练模块和所述算法执行模块,生成模型训练结果;
57、当需要基于所述聚合特征数据再次进行迭代训练时,所述聚合训练服务器的所述模型训练模块通过安全加密通道向各所述单机训练服务器的所述模型训练模块发送所述聚合训练数据,使得所述单机训练服务器的所述模型训练模块和所述算法执行模块基于所述聚合训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练,得到再次迭代训练的单机训练特征数据,并通过安全加密通道发送至所述聚合训练服务器的所述模型训练模块;
58、所述聚合训练服务器的所述模型训练模块和所述算法执行模块通过数据交互,对来自各服务器的再次迭代训练的单机训练特征数据再次执行聚合训练操作。
59、本技术实施例还提供一种服务器,包括上述任一应用于单机训练服务器的大模型训练方法中单机训练服务器的cpu芯片和gpu加速卡,或者,上述应用于聚合训练服务器的大模型训练方法中聚合训练服务器的cpu芯片和gpu加速卡。
60、本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一应用于单机训练服务器的大模型训练方法,或者,实现上述应用于聚合训练服务器的大模型训练方法。
61、本技术实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一应用于单机训练服务器的大模型训练方法,或者,执行上述应用于聚合训练服务器的大模型训练方法。
62、本技术有益效果包括:
63、本技术实施例提供的大模型训练系统,包括多个服务器,每个服务器包括cpu芯片和gpu加速卡,cpu芯片上具有tee(trusted execution environment,可信执行环境)区域,该tee区域内包含模型训练模块,gpu加速卡上具有算法执行模块,其中,模型训练模块通过安全加密通道与客户端相连,多个服务器的模型训练模块之间通过安全加密通道相连,多个服务器中包含各单机训练服务器和至少一个聚合训练服务器,大模型训练过程中,每个服务器可以通过安全加密通道与客户端交互数据,各服务器之间也可以通过安全加密通道交互数据,每个服务器的cpu芯片的模型训练模块位于tee区域中,从而提高了大模型训练的数据安全性,并且,模型训练算法所需要执行的计算操作,由cpu芯片和gpu加速卡完成各自更适合执行的计算操作,从而提高了大模型训练的训练效率。
64、本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
1.一种大模型训练系统,其特征在于,包括:多个服务器,所述服务器包括cpu芯片和gpu加速卡,所述cpu芯片上具有可信执行环境tee区域,所述tee区域内包含模型训练模块,所述gpu加速卡上具有算法执行模块,其中,所述模型训练模块通过安全加密通道与客户端相连,所述多个服务器的所述模型训练模块之间通过安全加密通道相连,所述多个服务器中包含各单机训练服务器和至少一个聚合训练服务器;
2.如权利要求1所述的系统,其特征在于,所述单机训练服务器的所述模型训练模块,具体用于对所述训练数据进行预处理,得到预处理后训练数据,并向所述单机训练服务器的所述算法执行模块发送所述预处理后训练数据;
3.如权利要求2所述的系统,其特征在于,所述单机训练服务器的所述模型训练模块,还用于在向所述单机训练服务器的所述算法执行模块发送所述预处理后训练数据之前,通过安全加密通道向所述单机训练服务器的所述算法执行模块发送数据混淆规则;
4.如权利要求1所述的系统,其特征在于,所述模型训练模块,包括:客户端接口模块、训练执行模块和特征互联模块,所述客户端接口模块通过安全加密通道与客户端相连,所述多个服务器的所述特征互联模块之间通过安全加密通道相连;
5.一种大模型训练方法,其特征在于,应用于模型训练系统中的单机训练服务器,所述模型训练系统包括多个服务器,所述多个服务器中包含各单机训练服务器和至少一个聚合训练服务器,所述服务器包括cpu芯片和gpu加速卡,所述cpu芯片上具有可信执行环境tee区域,所述tee区域内包含模型训练模块,所述gpu加速卡上具有算法执行模块,其中,所述模型训练模块通过安全加密通道与客户端相连,所述多个服务器的所述模型训练模块之间通过安全加密通道相连,所述方法,包括:
6.如权利要求5所述的方法,其特征在于,所述单机训练服务器的所述模型训练模块和所述算法执行模块基于所述训练数据,以及模型训练算法中各自需要执行的计算操作,通过数据交互进行模型训练,得到单机训练特征数据,包括:
7.如权利要求6所述的方法,其特征在于,在所述单机训练服务器的所述模型训练模块向所述单机训练服务器的所述算法执行模块发送所述预处理后训练数据之前,还包括:
8.一种大模型训练方法,其特征在于,应用于模型训练系统中的聚合训练服务器,所述模型训练系统包括多个服务器,所述多个服务器中包含各单机训练服务器和至少一个聚合训练服务器,所述服务器包括cpu芯片和gpu加速卡,所述cpu芯片上具有可信执行环境tee区域,所述tee区域内包含模型训练模块,所述gpu加速卡上具有算法执行模块,其中,所述模型训练模块通过安全加密通道与客户端相连,所述多个服务器的所述模型训练模块之间通过安全加密通道相连,所述方法,包括:
9.一种服务器,其特征在于,包括权利要求5-7任一所述方法中单机训练服务器的cpu芯片和gpu加速卡,或者,权利要求8所述方法中聚合训练服务器的cpu芯片和gpu加速卡。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求5-7任一所述的方法,或者,实现权利要求8所述的方法。