2PC-NN安全推理与实际应用之间仍存在较大性能差距,因此只适用于小数据集或简单模型。Cheetah仔细设计DNN,基于格的同态加密、VOLE类型的不经意传输和秘密共享,提出了一个2PC-NN推理系统Cheetah,比CCS'20的CrypTFlow2开销小的多,计算效率更快,通信效率更高。主要贡献有两点:
- 基于格的同态加密的协议可在不进行任何昂贵同态Rotation操作的情况下评估线性层;
- 提出了非线性函数的几个精简且通信高效的原语。
一、优化技术
**
Fast Convolution
**
ResNet50有49个卷积层,卷积中的一次过滤等于向量内积,一次卷积等于矩阵-向量乘。
矩阵×向量等于18、26,把矩阵变换为多项式,将向量代入多项式中,再将两个多项式进行乘法,18与26就是其中某个系数,我们只要把这个系数选出来就可以完成矩阵、向量乘。
Ring-LWE(如BGV)加密,支持多项式同态计算。
Ring-LWE与卷积层的天然结合,大大提升了性能。
SilentOT
非线性操作(Sigmoid / ReLU)
一般需要使用OT/GC实现
- CryptFLOW2已经证明纯OT方案比OT+GC好
- CryptFLOW2使用的是IKNP-OT系列方案(Crypto03,CCS13)
自Boyleet.al.(CCS19)起,学者提出了一系列新一代**
SilentoT
**方案
- Ferret (CCS20),Silver(Crypto21)
- 通信量远低于IKNP-OT,计算量稍高于IKNP-OT
但是直接将已有协议中的IKNP-OT替换为Silent OT并不能取得提升(SIRNN、SP21),需要结合其他创新点,而不是简单的替换。
Truncation
MPC下很难表示浮点数→一般使用带
scale
(精度)的定/点整数表示小数
例如:明文0.5,
scale
是 →定点数:0.5 × = 16384
问题:乘法会让数字增大一个
scale
的量级
0.5 × 0.5 → 16384 x 16384 = 268435456 = 0.25 ×
做几次乘法,就会溢出MPC的表示范围(如 )
需要设计协议将秘密分享的密文截断
scale
倍,维持
scale
不变,即 268435456 >> 15 = 0.25 x
- SecureML(SP17)、DELPHI(USENIX'Sec20)的本地截断方案有小概率出错,不适合ResNet这种大型网络 例:x=x1+x2,但(x>>15) != (x1>>15)+(x2>>15)
- CryptFLOW2的截断协议没有错误,但是成本很高。整个推理中50%+的成本花在截断...
2个Share本地截断加2个修正才能得到真正的截断结果,然而其中1个修正没有必要,所以只保留有意义的修正,以降低截断成本,此时再结合Silent OT,如此便能得到非常显著的提升。
采用新的truncation协议,解决大错误,但是容忍1bit错误,实验证实1bit错误对NN推理结果没有影响。
当待Truncation的数符号已知的时候(如ReLU)性能可以进一步提升。
二、性能提升
结合其他创新点:SlientOT优化比较协议、RLWE密文压缩、Batchnorm fuse等。
相比CryptFLOW2,在同网LAN和跨网WAN性能下都提升了数倍,80s完成ResNet50推理。
**
注:SecureQ8是需要非共谋第三方辅助的方案
**
三、算子实现
非线性算子实现
- 底层基于EMP-toolkit开源库的Ferret RCOT
- 衍生出各种OT primitive
- 非线性算子调用OT primitive
线性算子实现
- 使用RLWE生成自定义大小的(矩阵)乘法三元组(基于SEAL)
- *为了更具备通用性,与Cheetah原论文的乘法设计有所不同
**
四、如何在隐语中使用Cheetah
**
- 在配置中设置协议类型为Cheetah即可- C++: protocol_kind=4- Python: "protocol": "CHEETAH"
- 上层应用代码无需改动
总结
Cheetah提供了一个高度优化的2PC-NN推理架构, WAN设定下,在不到2.5分钟的时间内对ResNet50模型进行安全推理,消耗2.3GB的通信量, 非常高效, 适合大规模神经网络训练推理, 是目前最好的2PC-NN工作之一。
- 卷积和矩阵向量乘法中涉及的同态Rotation旋转操作是基于格的HE方案的性能瓶颈之一,Cheetah通过构造映射巧妙地消除了同态Rotation运算,也没有使用SIMD,加快了同态运算的效率;
- 基于HE的协议可以直接接受的秘密份额,而不局限于, 避免了额外的计算和通信开销;
- Cheetah使用了基于VOLE类型的OT扩展协议来构造高效、精简的非线性计算协议, 如截断、比较协议等, 极大降低了安全推理的计算和通信开销。
版权归原作者 木亦汐丫 所有, 如有侵权,请联系我们删除。