一、核心问题与目标

核心问题:
在“机器学习即服务”(MLaaS)中使用Transformer模型进行推理时,如何在保护用户输入隐私和模型参数隐私的前提下,实现高效、准确的推理?

研究目标:

  • 系统梳理2022–2025年间私有Transformer推理(PTI)的最新进展;

  • 提出结构化的分类法(线性层 vs. 非线性层);

  • 评估不同隐私保护技术(如MPC、HE)在资源效率、精度与隐私之间的权衡;

  • 指出当前研究的不足与未来方向,尤其关注实际部署中的可行性。

二、研究难点

1. 非线性层的高开销

  • Softmax、GELU、LayerNorm 等操作复杂(如指数、除法、平方根倒数),在密码学环境下难以高效实现。

  • 文献指出,非线性层通常占PTI(推理时间)总时间的60%–85%以上。

2. 线性层的高计算/通信成本

  • 矩阵乘法(MatMul)虽支持加法与乘法,但在HE中需大量旋转操作,在MPC中需大量通信。

  • 大规模Transformer(如BERT、LLaMA)加剧了这一问题。

3. 精度与效率的权衡

  • 用密码学友好的函数(如二次函数)替换非线性层会引入精度损失,需借助知识蒸馏等重训练技术弥补。

  • 多项式逼近虽更精确,但阶数过高会降低效率。

4. 生成任务的敏感性

  • 现有PTI多聚焦于分类任务(如GLUE),生成任务(如翻译、问答)对逼近误差更敏感,易产生无意义输出。

5. 实际部署困难

  • 多数方案依赖CPU,缺乏GPU加速支持;

  • 通信、内存、参数调优开销大,不适合边缘设备或低延迟场景。

三、关键技术

1. 密码学原语

  • 安全多方计算(MPC):基于加法秘密共享(ASS)或复制秘密共享(RSS),通过Beaver三元组或OT协议实现乘法。

  • 同态加密(HE):支持对密文直接计算,适合线性层;通过SIMD、BSGS等方法减少旋转次数。

2. 线性层优化:让“安全的矩阵乘法”(线性层)算得更快、通信更少

①MPC方案:交互性差,即参与计算的各方,为了完成计算而不得不进行的网络通信。

  •  Beaver三元组:减少交互次数。离线生成,在线高效,适合两方(2PC)场景,实现了极致的在线效率。在线阶段,双方只需进行极少量、轻量级的通信,然后所有计算都是本地完成的,计算压力转移到了离线阶段。总之,这是一种用“离线计算和存储”换取“在线速度”的经典优化,非常适合对延迟敏感的场景。
  •  RSS(复制密码共享):让交互本身更轻量。在三方或更多方的特定场景下,实现了端到端的高效,且无需复杂的离线阶段:即三方直接交互就能完成乘法,不需要像Beaver那样提前准备。并且在线交互也很高效。总之,这是在特定安全模型下,一种“简化流程、提升整体效率”的优化,牺牲了部署的灵活性(必须是三方)来换取性能。

②HE方案:瓶颈:HE能密文计算,但一次只能操作两个数,效率极低。

  • SIMD编码(单指令多数据)批量计算,但需旋转。相当于把成千上万个数字打包成一个“集装箱”,一次密文乘法就把这成千上万对数字都乘完了,大大提速。但在做求和(点积)这类操作时,需要“旋转”这个集装箱里的数字位置,这是额外的开销。

  • 多项式系数编码避免旋转,但灵活性差。它将一个复杂的向量内积或卷积运算,直接映射成了一次原生的多项式乘法,这样可以直接利用HE的乘法,结果多项式的系数里就包含需要的结果,避免了复杂的旋转操作。但代价是需要特殊的参数和设计,灵活性差。

      

3. 非线性层优化

①Softmax 的优化:Softmax是指数函数,密码学工具无法直接计算,且对于很大的 x 值,会导致数值溢出

  • 替换法:用其他函数替代Softmax。在训练阶段,用 x^2 或 ReLU(x) 等简单函数替换掉Softmax,然后通过知识蒸馏技术:让一个“学生模型(结构被简化、能高效用于隐私计算、但初始精度低的模型)”去学习模仿原始“教师模型(精度高、但复杂、无法直接用于隐私计算的模型)”的输出从而获得与老师相近的能力代价:这会改变模型结构,必须重新训练或蒸馏,无法直接用在已训练好的模型上。
  • 多项式逼近法:用加减乘除模拟Softmax。用一个多项式(比如麦克劳林或泰勒级数)来近似计算 exp(x)。多项式只有加减乘法,密码学工具就能算了。计算前,先把输入 x 的每个值都减去它们中的最大值 max(x),即计算 x' = x - max(x)。这能确保 exp(x') 的值都落在0到1之间,变得非常稳定,用很简单的多项式就能精准拟合。

②GELU的优化:同样包含复杂函数,无法直接计算

  • 替换法:直接替换为ReLU或二次函数。同样需要重新训练或知识蒸馏来恢复精度。
  • 分段低次多项式逼近:这是目前主流的高精度方法。不是用一个多项式去拟合整个函数,而是把输入范围切分成几段,每段用一个非常简单的低次多项式(次数n≤4)去拟合。既能保证精度,又能避免高次多项式计算量大的问题。

③LayerNorm的优化:LayerNorm 的核心是 (x - 均值) / sqrt(方差 + ε)。这里最大的麻烦是计算方差平方根的倒数,即 1 / sqrt(方差)。密码学工具完全不会算除法和开根号。

  • 迭代法(牛顿法):加法和乘法不断循环迭代,从一个初始猜测值开始,逐步逼近真实的平方根倒数。这种方法精度最高,能复现标准LayerNorm的行为。代价:需要多次循环迭代,即多次的乘法计算,导致计算量较大。
  • 简化版本:直接改公式,省掉最难算的部分。移除方差项:只用 (x - 均值) * 缩放因子 来做归一化,彻底避免了开根号和除法。预计算均值/方差:如果处理的数据有规律,可以拿公开数据事先算好一个固定的均值和方差存起来,推理时直接用,就把动态计算转为了静态常量。

4. 混合方案(MPC+HE)

  • HE处理线性层,MPC处理非线性层,平衡通信与计算开销。

5.总结

当密码学工具面对一个它不会算的复杂函数时,只有三条路可走:

  1. 替换:直接换成一个它会算的简单函数(需重训练)。

  2. 逼近:用加减乘法构造一个多项式,去无限逼近这个复杂函数(需权衡精度与次数)。

  3. 简化:修改计算逻辑本身,绕开最难算的部分(会牺牲一些模型精度)。

四、主要结论与贡献

1. 贡献点

  1. 首次系统综述PTI:填补了Transformer隐私推理领域综述的空白。

  2. 提出清晰分类法:将Transformer层分为线性/非线性,便于理解密码学适配难度。

  3. 性能对比分析:汇总了不同方案在通信、运行时间、精度上的实验结果。

  4. 指出关键瓶颈:非线性层是主要开销,生成任务和GPU缺失是当前短板。

2. 主要结论

  • MPC方案:适合低延迟、高带宽环境(如LAN),但通信开销大。

  • HE方案:通信极少,但计算极重(尤其是Bootstrapping)。

  • 混合方案:在通信与计算之间取得折中,但复杂度较高。

  • 精度问题:多项式逼近可控制在1%左右损失,替换法则需重训练。

  • 未来方向:GPU加速、生成任务评估、轻量级框架、真实场景部署。

五、知识体系

1.Transformer结构

  • 注意力机制:目的是让序列中的每个词,都去“关注”其他所有词,从而动态地计算上下文表示。
  • Softmax:将任意实数向量,压缩成一个概率分布(值域0-1,总和为1)。它引入了竞争性:大的值会指数级地压过小的值,让注意力权重更集中。
  • LayerNorm:层归一化,位置在每个子层的残差连接之前。将每一层的激活值强行归一化到标准分布(均值0,方差1附近),稳定深层网络训练,加速收敛。
  • FFN:一个独立的位置级运算,即对序列里每个位置的向量,都用同一个全连接网络独立处理一遍。
  • GELU:高斯误差线性单元,是目前大模型FFN里的主流激活函数。

 2.MPC(秘密共享、OT、Beaver三元组、RSS)

  • Beaver的解法
  1. 离线阶段(可以在闲时预先完成):双方通过某种密码学协议,共同生成一组随机数 (c, d, e),它们满足 c * d = e。然后每人各保存一份这三个数的碎片。这组数就是Beaver三元组,生成它们时完全不依赖任何真实数据。

  2. 在线阶段(当真实数据 a, b 到来时):双方只需做一些本地的加减法,并交换一点点信息,就能通过消费掉那组预先生成的三元组 (c, d, e),极快地算出 a * b 的结果碎片。

        优点:在线计算极快,大部分工作离线完成。
        缺点:离线阶段生成三元组本身有成本,且需要为每次乘法预生成一个新的三元组

  • RSS(复制密码共享):

      1. 设定:通常要求三方参与,且安全假设是“诚实多数”,即至少2/3的参与者是诚实的。

      2. 如何分秘密:不像简单地把数字 x 切成两份,RSS会把 x 切成三份,但每人拿两份

        比如 x = x1 + x2 + x3

        参与者P1持有 (x1, x2)

        参与者P2持有 (x2, x3)

        参与者P3持有 (x3, x1)

       3.好处:任意两方合起来就能还原秘密,同时这种冗余使得三方的交互计算可以设计得非常高效,特别是做乘法和非线性函数时。

3. HE(CKKS、BFV、Bootstrapping)

  • CKKS(近似浮点数运算方案):

原生支持浮点数近似计算,将有限噪声视为浮点舍入误差予以容忍。将向量编码至多项式槽中,通过大缩放因子将小数放大为整数进行计算,解密时重缩放还原,天然契合SIMD并行模式。

  • BFV(精确整数运算方案):

支持明文空间上的精确模运算,计算结果无噪声积累导致的精度损失。将整数编码至多项式系数的高位,将同态运算产生的噪声隔离在低位,从而实现精确解密。

  • Bootstrapping(实现无限同态计算的自举机制):

密文噪声随乘法深度线性增长,超过阈值将导致解密失败,限制计算电路深度。在密文状态下同态执行自身解密电路,输入噪声接近上限的密文与加密的私钥,输出加密同一明文且噪声刷新的新密文。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐