技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种神经网络模型参数保护方法、计算机设备和存储介质与流程  >  正文

一种神经网络模型参数保护方法、计算机设备和存储介质与流程

  • 国知局
  • 2024-07-31 23:15:43

本技术涉及人工智能,特别是涉及一种神经网络模型参数保护方法、计算机设备和存储介质。

背景技术:

1、目前基于深度神经网络(ddn)的人工智能模型,特别是大模型llm(largelanguage model)应用变得越来越普及,影响到了社会和生活的方方面面。人工智能模型,特别是一些领先的大模型,成本非常昂贵,是公司的核心资产,往往需要保护不被泄露。一般来说,使用方可以自己通过训练,或从第三方获得一个训练好的模型以及模型的参数,然后使用这个模型进行推理应用。如图1所示,在应用过程中,一些输入被传给模型做计算,并获得结果。这个计算往往会部署到一个特定运行环境中,例如共有云环境或租赁服务器环境。此时该运行环境并不一定在用户掌控中,可能存在被其他人(例如idc管理人员、云厂商等)非法获取模型及模型参数的可能性,造成资产损失。

2、目前常见的神经网络模型保护方案很多是基于可信执行环境(trustedexecution environment,tee),即将模型部署到支持tee的运行环境中,模型的推理计算在tee内部完成,外部无法获知到模型的参数以及模型输入输出数据的明文。tee技术,例如intel sgx和tdx,amd sev,arm trustzone等技术,能够保护内存中的数据在加密的状态下运行,即使能够接触计算机硬件或控制操作系统,未经许可的用户依然无法篡改tee内的程序运行或获得被tee保护的数据。这就防止了外部不被信任的第三方盗取模型参数。

3、由于深度神经网络,特别是最近广泛被使用的大模型计算需要大量算力,仅仅用cpu进行计算性能不能满足要求。基本上所有的人工智能应用都需要利用gpu加速,或使用专用的对深度神经网络进行加速的加速器(以后对这些加速装置,包括但不限于gpu、fpga、专用加速芯片等等,统称为加速器)。如图2所示,这些加速器往往拥有自己的内存,并通过总线(例如pci-e)与cpu连接。cpu与加速器之间的通信需要通过例如pci-e总线交换数据。由于深度神经网络的计算需求,往往整个模型及其参数都需要通过pci-e总线被送到加速器进行计算。

4、然而,发明人认识到,目前基于tee的模型参数隐私保护方案存在一定局限性:

5、(1)基于tee的隐私保护需要完全运行在支持tee技术的硬件环境中。这包括cpu以及加速器。如果只在cpu的内存中做加密,由于模型数据依然以明文状态存在于加速器内存中,有足够权限的攻击者仍然能够很容易通过拷贝内存的方式获取加速器中的这些数据。

6、(2)由于cpu与加速器之间通过总线(例如pci-e)传输,能够接触和修改硬件的攻击者依然能够通过截获总线传输中的数据交换的方式获取传输数据,目前的传输基本上是不加密的,这就让攻击者有可能获取需要保护的模型参数数据。

7、(3)在模型使用过程中,模型参数一般是由服务方提供且是需要保护的对象,输入数据是使用方提供。当模型参数部署到使用方运行环境中时,如果有攻击者能够完全控制使用方运行环境,则意味着攻击者可以从使用方运行环境中获取到全部模型参数,此时攻击者可以基于获取到的全部大模型参数具有与服务方一样的大模型推理应用能力。

技术实现思路

1、本技术提供一种神经网络模型参数保护方法、计算机设备和存储介质,旨在解决当神经网络模型参数部署到使用方运行环境中时,如果有攻击者能够完全控制使用方运行环境,则可以从使用方运行环境中获取到全部模型参数的技术问题。

2、第一方面,一种神经网络模型参数保护方法,所述神经网络模型加载于计算机设备上,所述方法包括:

3、s1,从神经网络模型的n个层次中,确定目标层次i层,目标层次i层的输出数据为fi(mi,xi,ai),i∈[1,n];其中,mi是目标层次i层的模型参数,xi是目标层次i层的上一层次i-1层的输出数据,xi=fi-1(mi-1,xi-1,ai-1),ai是除i-1层之外其他层的输出数据;

4、s2,利用第一加密函数encmi,对目标层次i层的模型参数mi进行加密,得到加密后的目标层次i层的模型参数mi′,目标层次i层的输出数据变为fi(mi′,xi,ai);

5、s3,对目标层次i层的上一层次i-1层的输出数据进行加密,或者对目标层次i层的下一层次i+1层的输入数据进行加密;

6、s4,将目标层次i层的相邻层的模型参数在安全环境中运行;

7、s5,将加密后的目标层次i层的模型参数mi′部署到使用方运行环境中。

8、上述方案中,可选地,步骤s3包括:

9、利用第二加密函数encx,i-1,对目标层次i层的上一层次i-1层的输出数据fi-1(mi-1,xi-1,ai-1)进行加密,得到加密后的第一输出数据xi′,第一输出数据xi′作为目标层次i层的输入数据;第二加密函数encx,i-1满足xi′=encx,i-1(fi-1(mi-1,xi-1,ai-1)),fi(mi′,xi′,ai)=fi(mi,xi,ai);

10、或者:

11、利用第三加密函数encx,i,对目标层次i层的输出数据fi(mi′,xi,ai)进行加密,得到加密后的第二输出数据xi+1′,第二输出数据xi+1′作为目标层次i层的下一层次i+1层的输入数据;第三加密函数encx,i满足xi+1′=encxi(fi(mi′,xi,ai))=fi(mi,xi,ai)。

12、上述方案中,进一步可选地,第二加密函数encx,i-1和第三加密函数encx,i,均在使用方运行环境之外的安全环境中运行。

13、上述方案中,进一步可选地,步骤s4包括:

14、将目标层次i层的上一层次i-1层的模型参数mi-1和输出数据fi-1(mi-1,xi-1,ai-1)的计算过程,提升到使用方运行环境之外的安全环境中运行;

15、或者:

16、将目标层次i层的下一层次i+1层的模型参数mi+1和输出数据fi+1(mi+1,xi+1′,ai+1)的计算过程,提升到使用方运行环境之外的安全环境中运行。

17、上述方案中,进一步可选地,步骤s4还包括:

18、将目标层次i层的上一层次i-1层的输出数据fi-1(mi-1,xi-1,ai-1)和第二加密函数encx,i-1合并在一起,作为第一加密层,第一加密层在使用方运行环境之外的安全环境中运行;

19、或者:

20、将目标层次i层的下一层次i+1层的输出数据fi+1(mi+1,xi+1′,ai+1)和第三加密函数encx,i合并在一起,作为第二加密层,第二加密层在使用方运行环境之外的安全环境中运行。

21、上述方案中,可选地,在步骤s5之后,所述方法还包括:

22、s6,在将神经网络模型使用一定次数的推理应用后,更换所有加密函数,重新执行步骤s2-s5。

23、上述方案中,进一步可选地,在步骤s6之后,所述方法还包括:

24、s7,当目标层次包括多个,对于每个目标层次,分别执行s1-s6。

25、第二方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面中任一项所述方法的步骤。

26、第三方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述方法的步骤。

27、第四方面,一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现第一方面中任一项所述方法的步骤。

28、相比现有技术,本技术至少具有以下有益效果:

29、本技术实施例所提供的神经网络模型参数保护方法,通过从神经网络模型的n个层次中,确定目标层次i层;利用第一加密函数encmi,对目标层次i层的模型参数mi进行加密,得到加密后的目标层次i层的模型参数mi′,对目标层次i层的上一层次i-1层的输出数据进行加密,或者对目标层次i层的下一层次i+1层的输入数据进行加密;将目标层次i层的相邻层的模型参数在安全环境中运行,将加密后的目标层次i层的模型参数mi′部署到使用方运行环境中;实现对神经网络模型参数进行分层保护,也就是从神经网络模型的多层中选择部分层的参数进行加密,使得攻击者即使在控制使用方运行环境的情况下也难以获取全部层次的模型参数,攻击者最多只能拥有部分层的模型参数,攻击者在缺失部分模型层及模型参数的情况下,进行模型推理应用就会导致其输出结果准确度降低,因此就不具备和服务方一样的模型推理应用能力。

本文地址:https://www.jishuxx.com/zhuanli/20240730/196675.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。