【隐私计算】Cheetah安全多方计算协议-阿里安全双子座实验室

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扩展协议来构造高效、精简的非线性计算协议, 如截断、比较协议等, 极大降低了安全推理的计算和通信开销。

相关推荐
老艾的AI世界4 小时前
AI翻唱神器,一键用你喜欢的歌手翻唱他人的曲目(附下载链接)
人工智能·深度学习·神经网络·机器学习·ai·ai翻唱·ai唱歌·ai歌曲
sp_fyf_20247 小时前
【大语言模型】ACL2024论文-19 SportsMetrics: 融合文本和数值数据以理解大型语言模型中的信息融合
人工智能·深度学习·神经网络·机器学习·语言模型·自然语言处理
CoderIsArt7 小时前
基于 BP 神经网络整定的 PID 控制
人工智能·深度学习·神经网络
z千鑫8 小时前
【人工智能】PyTorch、TensorFlow 和 Keras 全面解析与对比:深度学习框架的终极指南
人工智能·pytorch·深度学习·aigc·tensorflow·keras·codemoss
EterNity_TiMe_8 小时前
【论文复现】神经网络的公式推导与代码实现
人工智能·python·深度学习·神经网络·数据分析·特征分析
思通数科多模态大模型9 小时前
10大核心应用场景,解锁AI检测系统的智能安全之道
人工智能·深度学习·安全·目标检测·计算机视觉·自然语言处理·数据挖掘
数据岛9 小时前
数据集论文:面向深度学习的土地利用场景分类与变化检测
人工智能·深度学习
学不会lostfound9 小时前
三、计算机视觉_05MTCNN人脸检测
pytorch·深度学习·计算机视觉·mtcnn·p-net·r-net·o-net
红色的山茶花9 小时前
YOLOv8-ultralytics-8.2.103部分代码阅读笔记-block.py
笔记·深度学习·yolo
白光白光9 小时前
凸函数与深度学习调参
人工智能·深度学习