本发明涉及人工智能,尤其涉及一种人工智能模型的隐私保护方法、装置、系统和介质。
背景技术:
1、人工智能模型的成功依赖于其数十亿乃至数万亿级别的参数量和其核心的注意力机制,例如大语言模型(large language model,llm),然而研究表明,人工智能模型的推理容易受到攻击。
2、尽管现有的技术提出了各种各样的人工智能模型保护方法,如安全多方计算、同态加密、差分隐私等,但人工智能模型的推理性能受到了严重损害,这些保护方法降低了人工智能模型的推理速度和准确性。
技术实现思路
1、为了解决上述问题,本发明的目的是提供一种人工智能模型的隐私保护方法、装置、系统和介质,相对于现有的保护隐私的人工智能模型,本发明可以提推理的速度和准确性。
2、一方面,本发明提供了一种人工智能模型的隐私保护方法,应用于服务端,所述服务端包括可信执行环境和不可信执行环境,包括以下步骤:
3、获取人工智能模型的模型参数和客户端的输入数据,将所述模型参数和所述输入数据输入可信执行环境,依次将人工智能模型的每一层作为当前层;所述模型参数包括每一层的权重参数或偏置参数;所述人工智能模型包括需矩阵乘法的层和无需乘法矩阵的层;
4、若所述当前层是需矩阵乘法的层,在所述可信执行环境中,根据当前层的乘法左矩阵和当前层的乘法右矩阵,得到加密后的数据矩阵合集;将所述加密后的数据矩阵合集传输到不可信执行环境,得到中间结果合集;将所述中间结果合集返回所述可信执行环境,得到当前层的输出数据;所述当前层的乘法左矩阵是当前层的模型参数或上一层的输出数据;第一层是当前层时,当前层的乘法右矩阵是所述客户端的输入数据,第二层之后的所有层是当前层时,所述当前层的乘法右矩阵是上一层的输出数据或当前层之前的第n层的输出数据,n为大于0的自然数;
5、若所述当前层是无需乘法矩阵的层,在所述可信执行环境中,根据上一层的输出数据得到当前层的输出数据;
6、将最后一层的输出数据作为查询结果。
7、可选地,所述在所述可信执行环境中,根据当前层的乘法左矩阵和当前层的乘法右矩阵,得到加密后的数据矩阵合集,具体包括:
8、若获取到第一指令,所述可信执行环境随机生成随机加密矩阵;所述第一指令表征需要保护的数据是所述输入数据;
9、根据所述随机加密矩阵对所述当前层的乘法右矩阵进行第一加密,得到加密后的数据矩阵合集;所述当前层的乘法右矩阵是上一层的输出数据,所述加密后的数据矩阵合集包括第一加密后的右矩阵和所述当前层的乘法左矩阵。
10、可选地,所述在所述可信执行环境中,根据当前层的乘法左矩阵和当前层的乘法右矩阵,得到加密后的数据矩阵合集,具体包括:
11、若获取到第二指令,所述可信执行环境对当前层的乘法左矩阵和乘法右矩阵进行第二加密,并对所述当前层的乘法右矩阵进行第三加密,得到所述加密后的数据矩阵合集;所述第二指令表征需要保护的数据是乘法左矩阵和乘法右矩阵。
12、可选地,所述加密后的数据矩阵合集包括第二加密后左右矩阵子集、第三加密后右矩阵子集、盲化的左矩阵密钥子集和盲化的右矩阵密钥子集;所述可信执行环境对当前层的乘法左矩阵和乘法右矩阵进行第二加密,并对所述当前层的乘法右矩阵进行第三加密,得到所述加密后的数据矩阵合集,具体包括:
13、所述可信执行环境随机生成所述乘法左矩阵的第一随机矩阵合集和乘法右矩阵的第二随机矩阵合集;
14、利用所述第一随机矩阵合集分别对所述乘法左矩阵和所述乘法右矩阵进行第二加密,得到所述第二加密后左右矩阵子集;根据所述第一随机矩阵合集进行第一变换,得到乘法盲化的左矩阵密钥子集;
15、利用所述第二随机矩阵合集对所述乘法右矩阵进行第三加密,得到所述第三加密后右矩阵子集;根据所述第一随机矩阵合集和所述第二随机矩阵合集进行第二变换,得到盲化的右矩阵密钥子集。
16、可选地,所述中间结果合集包括乘法左矩阵中间子集和乘法右矩阵中间子集;所述将所述加密后的数据矩阵合集传输不可信执行环境,得到中间结果合集,具体包括:
17、对所述第二加密后左右矩阵子集和所述乘法盲化的左矩阵密钥子集进行第一矩阵乘法,得到乘法左矩阵中间子集;
18、对所述第三加密后右矩阵子集和所述盲化的右矩阵密钥子集进行第二矩阵乘法,得到乘法右矩阵中间子集。
19、可选地,所述将所述中间结果合集返回所述可信执行环境,得到当前层的输出数据,具体包括:
20、若所述当前层是第一乘法矩阵层,根据所述中间结果合集进行第一解密,得到矩阵乘法结果;根据所述矩阵乘法结果和所述偏置参数,得到当前层的输出数据;所述第一乘法矩阵层需进行矩阵乘法且需加线性偏置;
21、若所述当前层是第二乘法矩阵层,根据所述中间结果合集进行第二解密,得到当前层的输出数据;所述第二乘法矩阵层需矩阵乘法且无需加线性偏置。
22、可选地,所述若所述当前层是无需乘法矩阵的层,在所述可信执行环境中,根据上一层的输出数据得到当前层的输出数据,具体包括:
23、所述可信执行环境将所述上一层的输出数据代入预设函数中,得到当前层的输出数据;所述预设函数包括归一化函数、非线性激活函数、残差函数或标准化函数的一种以上。
24、另一方面,本发明提供一种人工智能模型的隐私保护系统,包括第一模块、第二模块、第三模块和第四模块,其中,
25、所述第一模块,用于获取人工智能模型的模型参数和客户端的输入数据,将所述模型参数和所述输入数据输入可信执行环境,依次将人工智能模型的每一层作为当前层;所述模型参数包括每一层的权重参数或偏置参数;所述人工智能模型包括需矩阵乘法的层和无需乘法矩阵的层;
26、所述第二模块,用于若所述当前层是需矩阵乘法的层,在所述可信执行环境中,根据当前层的乘法左矩阵和当前层的乘法右矩阵,得到加密后的数据矩阵合集;将所述加密后的数据矩阵合集传输不可信执行环境,得到中间结果合集;将所述中间结果合集返回所述可信执行环境,得到当前层的输出数据;所述当前层的乘法左矩阵是当前层的模型参数或上一层的输出数据;第一层是当前层时,当前层的乘法右矩阵是所述客户端的输入数据,第二层之后的所有层是当前层时,所述当前层的乘法右矩阵是上一层的输出数据或当前层之前的第n层的输出数据,n为大于0的自然数;
27、所述第三模块,用于若所述当前层是无需乘法矩阵的层,在所述可信执行环境中,根据上一层的输出数据得到当前层的输出数据;
28、所述第四模块,用于将最后一层的输出数据作为查询结果。
29、另一方面,本发明提供一种人工智能模型的隐私保护装置,包括:
30、至少一个可信执行环境和所述可信执行环境的存储器;所述可信执行环境的存储器用于存储至少一个程序;
31、至少一个不可信执行环境和所述不可信执行环境的存储器,所述不可信执行环境的存储器用于存储至少一个程序;
32、当所述程序被所述可信执行环境和所述不可信执行环境执行,使得所述可信执行环境和所述不可信执行环境实现如前面所述的方法。
33、另一方面,本发明提供一种计算机可读存储介质,其中存储有处理器可执行的程序,所述处理器可执行的程序在由处理器执行时用于执行如前面所述的方法。
34、实施本发明包括以下有益效果:本发明通过获取人工智能模型的模型参数和客户端的输入数据,将模型参数和输入数据输入可信执行环境,依次将人工智能模型的每一层作为当前层;模型参数包括每一层的权重参数或偏置参数;人工智能模型包括需矩阵乘法的层和无需乘法矩阵的层;若当前层是需矩阵乘法的层,在可信执行环境中,根据当前层的乘法左矩阵和当前层的乘法右矩阵,得到加密后的数据矩阵合集;将加密后的数据矩阵合集输入不可信执行环境,得到中间结果合集;将中间结果合集返回可信执行环境,得到当前层的输出数据;所述当前层的乘法左矩阵是当前层的模型参数或上一层的输出数据;第一层是当前层时,当前层的乘法右矩阵是所述客户端的输入数据,第二层之后的所有层是当前层时,当前层的乘法右矩阵是上一层的输出数据或当前层之前的第n层的输出数据,n为大于0的自然数;若当前层是无需乘法矩阵的层,在可信执行环境中,根据上一层的输出数据得到当前层的输出数据;将最后一层的输出数据作为查询结果。通过可信执行环境对数据进行遮蔽,可以保护输入可信执行环境中的数据隐私,在可信执行环境外,对遮蔽得到的加密后的数据矩阵合集进行矩阵运算,再将矩阵运算得到的结果输入可信执行环境中解密,需要保护的数据都在可信执行环境中,而计算量较大的矩阵乘法过程在可信执行环境外进行,相对于现有的保护隐私的人工智能模型,本发明可以提推理的速度和准确性。
1.一种人工智能模型的隐私保护方法,其特征在于,应用于服务端,所述服务端包括可信执行环境和不可信执行环境,包括以下步骤:
2.根据权利要求1所述的方法,其特征在于,所述在所述可信执行环境中,根据当前层的乘法左矩阵和当前层的乘法右矩阵,得到加密后的数据矩阵合集,具体包括:
3.根据权利要求1所述的方法,其特征在于,所述在所述可信执行环境中,根据当前层的乘法左矩阵和当前层的乘法右矩阵,得到加密后的数据矩阵合集,具体包括:
4.根据权利要求3所述的方法,其特征在于,所述加密后的数据矩阵合集包括第二加密后左右矩阵子集、第三加密后右矩阵子集、盲化的左矩阵密钥子集和盲化的右矩阵密钥子集;所述可信执行环境对当前层的乘法左矩阵和乘法右矩阵进行第二加密,并对所述当前层的乘法右矩阵进行第三加密,得到所述加密后的数据矩阵合集,具体包括:
5.根据权利要求4所述的方法,其特征在于,所述中间结果合集包括乘法左矩阵中间子集和乘法右矩阵中间子集;所述将所述加密后的数据矩阵合集传输不可信执行环境,得到中间结果合集,具体包括:
6.根据权利要求1-5任一项所述的方法,其特征在于,所述将所述中间结果合集返回所述可信执行环境,得到当前层的输出数据,具体包括:
7.根据权利要求1-5任一项所述的方法,其特征在于,所述若所述当前层是无需乘法矩阵的层,在所述可信执行环境中,根据上一层的输出数据得到当前层的输出数据,具体包括:
8.一种人工智能模型的隐私保护系统,其特征在于,包括第一模块、第二模块、第三模块和第四模块,其中,
9.一种人工智能模型的隐私保护装置,其特征在于,包括:
10.一种计算机可读存储介质,其中存储有处理器可执行的程序,其特征在于,所述处理器可执行的程序在由处理器执行时用于执行如权利要求1-7任一项所述的方法。
