当前,大型语言模型(LLM)被广泛运用于各种应用中。然而,这种使用情境下存在一种两难抉择:如何在保护模型所有者的资产和确保用户数据隐私之间取得平衡。在2024年RSA大会上,来自Zama的技术人员Benoit Chevallier-Mames与Jordan Frery分享了他们如何利用全同态加密(FHE)技术,进一步保护用户与模型供应商的知识产权和隐私。他们展示了这种方法的可行性和实用性,旨在为LLM服务提供更加全面的安全支持。
一
背景信息
随着人工智能技术的飞速发展,大语言模型(LLM)在各个领域的应用日益增多。从简单的写作辅助,到复杂的任务如编辑简历、优化代码,LLM服务正逐渐成为人们日常生活和工作中不可或缺的一部分。然而,人们使用的LLM服务大部分来自于LLM服务供应商提供的付费API。这种方式的访问不可避免地会需要用户将其数据上传到服务端,存在隐私财产泄露的风险,例如著名的某星员工在使用ChatGPT时泄露源代码事件。总的来说,LLM服务存在着一个需要权衡的矛盾,即既需要大模型的能力,也需要对用户的隐私财产进行保护。
针对这个取舍问题,目前主流有三种应对方法:
使用自研的LLM
从头开始搭建并训练自己的LLM供自己使用固然可以避免泄露用户隐私财产的问题,但是其成本是极其昂贵且难以接受的。这也是为什么目前市场上具备自研LLM能力的厂家屈指可数,其他体量较小的用户无力开发自研LLM。
使用开源的LLM
目前开源社区上存在着一些开源的LLM,如Meta的Llama、xAI的Grok、国内的Qwen等。开源模型的存在有效降低了门槛,那些没有足够计算资源和专业知识的用户也能够轻松地获取、使用和修改这些模型,以解决自己的问题。然而不可否认的是,绝大部分情况下,开源模型的能力普遍不如闭源的商业模型。
图1 大模型能力排名
使用商业LLM
在大部分情况下,用户更倾向于使用能力较强的LLM以便于更好地完成任务,因此依然选择使用主流的商业模型,但是这就导致用户不得不将自己的知识财产隐私置于风险之中。
因此,为了达成在使用LLM服务的过程中保护用户知识财产隐私的安全这个目标,Zama提出了在使用商业模型的同时利用全同态加密的方法。
二
全同态加密
同态加密是一种创新性的加密技术,它提供了一种独特的能力,即在数据加密的状态下进行计算,这种能力对于保护数据隐私的同时允许数据处理至关重要。同态加密的应用范围极为广泛,尤其在云计算和隐私保护的数据处理领域具有巨大的潜力,因为用户可以在不信任服务提供商的情况下,利用云计算资源进行数据处理。同态加密可以分为部分同态加密和层次同态加密,它们分别支持对加密数据进行单一类型的无限次操作(如仅加法或仅乘法)或有限次数的加法和乘法操作。然而,这些形式的同态加密在实际应用中存在一定的限制,因为它们不支持任意复杂的计算。全同态加密(FHE)则是同态加密技术的进阶形式,它允许对加密数据进行任意次数的加法和乘法操作,理论上没有操作次数的限制。
图2 数据仅仅在传输过程中被加密
当前,在用户使用LLM服务时,数据仅仅在传输过程中被加密保护。在服务器侧,用户输入的数据会被解密成明文后再交由大模型处理并生成相应的回复,意味着无论是输入还是输出,数据中用户的所有隐私对于LLM供应商来说都是透明的。使用FHE后,用户会首先对输入进行加密,模型侧将使用LLM对其进行处理得到加密的输出,而用户可以使用自己的密钥对输出进行解密得到输出的明文。全程模型侧都无法接触到输入输出的明文,从而保证用户知识财产和隐私的安全。
图3 应用全同态加密后的LLM服务
三
在大模型中利用全同态加密
LLM所依赖的Transformer结构远比普通的加法与乘法要复杂,因此,要分析在LLM服务中应用FHE的可行性需要对Transformer中所有操作进行拆解。总的来说,LLM主要由三种操作组成:Embedding、Feed-Forward、Attention。
图4 LLM的Transformer结构
**Embedding嵌入
**
在LLM中,自然语言输入会通过分词(Tokenization)被分割成一系列更小的单元Token。为了将这些Token转化为模型能够理解和操作的形式,模型会通过查询预定义的词表(Vocabulary)来将这些Token映射到唯一的整数ID。词表是一个包含数万到数十万不等的Token及其对应ID的列表。每个Token在词表中都有一个唯一的ID,这个ID可以用来检索与每个Token相关联的嵌入向量(Embedding Vector)。嵌入向量是模型内部的一种表示形式,它将每个Token编码为一个密集的向量,通常是一个固定大小的实数数组,能够体现Token在上下文中的意义和用法。
总的来说,LLM中的Embedding操作主要为简单的表格查询操作且不涉及复杂运算,因此对于这部分操作应用FHE方案是可行的。通过诸如使用加密后的词表等方式并进行查询,LLM依然可以快速得到所需的嵌入向量,且并不会花费额外的时间,通常在毫秒级别。
图5 Embedding
**Feed-Forward前馈
**
LLM结构通常有着数层Transformer模块,在每个模块中,注意力(Attention)层后面通常会跟着一个前馈神经网络(Feed-Forward Neural Network),用于接收注意力层的输出,并通过两个全连接层对其进行处理。第一个全连接层将输入维度扩展到一个更大的维度,然后通过激活函数进行非线性变换。第二个全连接层将维度缩减回原始输入维度。这种“扩张-收缩”即是Feed-Forward操作,其在不同的表示空间中处理数据进而能够捕获更丰富的特征,起到了增强模型的表达能力和处理局部特征的作用,是Transformer模型能够成功处理自然语言理解任务的关键组成部分之一。
图6 Feed-Forward
从数学上来说,全连接层的操作无非是线性变换,即引入偏置并进行矩阵乘法。全同态加密技术对于密文进行任意加法和乘法的特点可以支持此类型的线性变换。激活函数为非线性变换操作,在全同态加密的背景下,实现非线性函数的加密版本是一个挑战。然而,为了使FHE更加实用,研究人员通过选择比较操作、泰勒级数展开、多项式近似等方法,已经实现了一些非线性函数的加密版本,包括激活函数ReLU、Sigmoid、Tanh。简而言之,FHE在Feed-Forward操作的应用也是可行的,但由于非线性激活函数在加密态下的计算效率可能较低,且为了提升性能LLM通常会串联大量的Transformer模块导致要计算许多激活函数,其花费时间通常需要超过数秒甚至数十秒。
图7 Feed-Forward计算
**Attention注意力
**
注意力机制自2017年被提出以来,已广泛应用于LLM中。它模拟了人类集中注意力的方式,使模型能够捕捉句子中的长距离依赖关系,专注于重要部分,而忽略不重要的内容。在Transformer模型中,注意力机制通过“查询(Q)”、“键(K)”和“值(V)”这三个概念实现。
图8 Attention
在Attention操作中,模型的输入X首先经过三次变换,分别得到Q、K、V。由于这些变换涉及矩阵乘法,属于线性操作,因此可以相对轻松且高效地引入全同态加密(FHE)来获得加密的Q、K、V。然而,随着现如今的模型开始支持越来越长的上下文,Q与K的乘积会变得极其巨大。尽管单次计算不是很久(小于1秒),但由于需要大量重复计算,这会对FHE的计算性能产生显著影响。Softmax函数虽然是非线性操作,计算耗时较多,但幸运的是其计算次数相对较少。同样,在与V相乘时,巨大的结果也会导致FHE性能下降。总的来说,注意力机制在应用FHE技术后,其计算时间会大幅增加。仅预测下一个Token的操作可能就需要数分钟甚至数小时,而生成完整回复的时间更是以倍数增长。因此,注意力机制是FHE在LLM领域应用的一个主要性能瓶颈。
图9 Attention计算
四
更快的方法-混合模型
为了保护用户的知识财产隐私安全,同时又不损害商业LLM服务供应商的利益,Zama提出了一种混合模型(Hybrid Model)的方法。在这种方法中,涉及模型参数较多的操作,如Feed-Forward和Attention,由服务侧使用全同态加密(FHE)执行。与此同时,其他操作则在用户侧完成。这样一来,大部分的模型参数得到了保护,同时用户的知识产权和隐私也得到了保障。
以Google的模型gemma-7b为例,其参数分布如下:
由此可见,权重主要集中在Feed-Forward和Attention中。因此,在混合模型中,这两部分操作可以在服务侧使用FHE执行,而其他操作则在用户侧完成。当然,根据用户的需求,Embedding操作也可以在服务侧执行。
例如,在一个场景中,用户侧想要向LLM进行询问以获得Attention。用户可以在本地进行分词,并将得到的ID(整数)使用密钥进行加密后传递给服务侧。然后,服务侧会基于这些密文进行相应的Embedding和Attention操作,并将密文结果传递回用户侧。用户侧使用自己的密钥解密后,可以选择继续加密并交给服务侧进行Feed-Forward操作,或者直接在本地使用自己的Feed-Forward神经网络进行下一步操作,而无须再次加密。
图10 混合模型
五
总结
Zama的技术人员提出了一种创新性的解决方案,利用全同态加密(FHE)技术来保护大型语言模型(LLM)服务中用户和模型供应商的知识财产与隐私,并验证了方案的可行性。这一方案通过引入混合模型方法,将部分操作放在服务侧执行,同时将其他操作放在用户侧完成,既保护了大部分模型参数,也保障了用户的知识产权和隐私安全。这一突破性的方法为未来LLM服务的发展提供了新的方向,有望在保护隐私的同时,推动人工智能技术的广泛应用。
关于Zama
Zama是一家2019年成立于法国的年轻公司,专注于全同态加密(Fully Homomorphic Encryption, FHE)领域,致力于为用户提供高效便捷的FHE产品。Zama团队由来自世界各地的密码学专家和工程师组成,在全同态加密领域有着丰富的经验和知识。三十多位博士及密码学专家在过去的四年间围绕FHE取得了数十项突破。Zama的产品和服务主要聚焦于提供全同态加密解决方案/这些解决方案在区块链、云计算、数据分析等领域具有广泛的应用潜力。Zama通过其先进的全同态加密技术,为数据安全和隐私保护领域带来了创新性的解决方案,其技术和产品具有广泛的应用前景和深远的影响,有望在未来的数字化社会中发挥重要作用。
参考文献