《Accelerating Private Large Transformers Inferencethrough Fine-grained Collaborative Computation》笔记
一、核心问题与目标
核心问题:
在“机器学习即服务”(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. 贡献点
-
首次系统综述PTI:填补了Transformer隐私推理领域综述的空白。
-
提出清晰分类法:将Transformer层分为线性/非线性,便于理解密码学适配难度。
-
性能对比分析:汇总了不同方案在通信、运行时间、精度上的实验结果。
-
指出关键瓶颈:非线性层是主要开销,生成任务和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的解法:
-
离线阶段(可以在闲时预先完成):双方通过某种密码学协议,共同生成一组随机数
(c, d, e),它们满足c * d = e。然后每人各保存一份这三个数的碎片。这组数就是Beaver三元组,生成它们时完全不依赖任何真实数据。 -
在线阶段(当真实数据
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(实现无限同态计算的自举机制):
密文噪声随乘法深度线性增长,超过阈值将导致解密失败,限制计算电路深度。在密文状态下同态执行自身解密电路,输入噪声接近上限的密文与加密的私钥,输出加密同一明文且噪声刷新的新密文。
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)