[隐私计算学习笔记]12——基于隐语的VisionTransformer框架

目录

1. MPCViT:安全且高效的MPC友好型Vision Transformer架构

1.1 研究动机

1.2 整体框架     

1.3 算法流程

1.4 实验结果

2. 基于SecretFlow搭建ViT框架

2.1  SecretFlow Secure Processing Unit(SPU)

2.2  隐私推理协议及通信参数配置(通信协议、通信带宽、传输延迟)

2.3  基于Jax的ViT模型搭建(Embedding\Attention\MLP)

2.4  ViT模型隐私推理

3. 小结


1. MPCViT:安全且高效的MPC友好型Vision Transformer架构

1.1 研究动机

  • ViT延迟分解及通信瓶颈(在SEMI-2K\Cheetah协议下的延迟分解)

  •  不是所有注意力头都同等重要

        参考:

        [1] Less is more: Pay less attention in vision transformers, AAAI 2022

        [2] Q-vit: Fully differentiable quantization for vision transformer, arXiv 2022

  • 不同注意力机制变体的准确率和延迟对比

1.2 整体框架     

  •  底层协议——基于半诚实威胁模型的2PC秘密分享

        > 参与方诚实且好奇,均严格遵循既定通信协议,但在协议执行中仍会学习尽可能多的信息;

        > 以适当方式拆分秘密,拆分后各部分由不同参与方保存,单个参与者无法恢复秘密信息,只有若干参与者协作才能恢复秘密信息。

  •  上层应用——Vision Transformer模型架构

        > ViT是基于Transformer的encoder架构,由输入embedding层、Transformer块以及分类层组成,其中,每个Transformer块包含一个多头注意力层和MLP块,MLP块又包含两个线性层和一个GeLU;

        > 不同于CNN,ViT模型的主要通信瓶颈在于多头注意力机制,以及MLP中的GeLU。

1.3 算法流程

  • Step1:设计合适的搜索空间(三种不同粒度)

                 > 粗粒度:Transformer层级粒度

                 > 中粒度:注意力头级粒度

                 > 细粒度:注意力行级粒度(token级)

  • Step2:MPC感知神经架构搜索(可微分搜索)

每个注意力的计算方式:

 可微分注意力搜索公式:

  • Step3:基于延迟限制的架构参数二值化

  • Step4:重训练异构注意力ViT 

        直接训练搜索后的异构注意力机制ViT会导致准确率显著下降,为有效提高异构注意力机制ViT的准确率,采用:

        > 自蒸馏技术:将原始Softmax注意力机制ViT作为教师模型,无需引入任何额外训练和推理开销;

        > 传统的基于logits的蒸馏(软标签蒸馏);

        > 基于特征的token蒸馏:更加细粒度蒸馏,MPCViT取最后一层特征蒸馏。

1.4 实验结果

  • 主要实验结果——与近年来相关工作的对比

主要结论:在Tiny-ImageNet数据集上,和基线ViT、MPCFormer、THE-X相比, MPCViT降低6.2×、2.9×和1.9×延迟,并且提高了1.9%、1.3%和3.6%的准确率。

  • 消融实验——知识蒸馏

主要结论:1、与仅使用交叉熵损失函数相比,基于logits和基于特征的知识蒸馏都显著提高了ViT的性能; 2、结合两种知识蒸馏损失函数进一步提高了准确率,特别是在一个更大的数据集上。以上结果表明了知识蒸馏对于ViT训练重要性以及训练损失函数中三部分的不可或缺。

  • 神经架构搜索的一致性和可扩展性
注意力头的架构
参数可视化

ViT层级推理延迟和通信可视化

主要结论: 1、在不同的λ、不同的数据集、不同的注意力头数量的设置下,搜索结构都表现出一致性; 2、架构参数可视化与层级可视化一致,中间靠前的注意力更倾向于保留。

2. 基于SecretFlow搭建ViT框架

2.1  SecretFlow Secure Processing Unit(SPU)

详见  SPU框架介绍 

2.2  隐私推理协议及通信参数配置(通信协议、通信带宽、传输延迟)

  •  隐私推理协议配置

  •  节点配置

  •  模拟网络参数配置throttle.sh

2.3  基于Jax的ViT模型搭建(Embedding\Attention\MLP)

  • 图像Patch Embedding搭建——用kernel size 等于 patch size 的卷积实现

  • 注意力机制搭建

  • MLP模块搭建

        GeLU的维度很大,是embedding dim的mlp_ratio倍。通常在较小的架构上,ViT的mlp_ratio取值2。

  • Transformer模块搭建

2.4  ViT模型隐私推理

  • ViT Benchmark文件

  •  ViT隐私推理操作流程

        > 配置Python环境及安装SPU,并激活Python环境

        > 配置并模拟通信网络环境(以WAN设置为例)

 bash ./throttle.sh del

 bash ./throttle.sh wan

        > 模拟MPC环境及协议

python -m spu.binding.util.distributed -c semi2k_spdz_2pc.json up

        > 执行隐私推理:以一个4-head单个注意力层(emb=256)的隐私推理为例

3. 小结

        本篇文章介绍了MPCViT的总体框架、研究动机、算法流程以及实验结果(均优于baseline)。该工作借助SecretFlow-SPU搭建ViT框架,并测试不同模型架构的推理效率。介绍了基于SecretFlow和Jax的ViT框架搭建流程。

  • 28
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
隐语框架与TEE(可信执行环境)的配合可以实现数据加密。隐语框架主要解决的是数据隐私保护和安全计算的问题,而TEE是一种安全的硬件或软件环境,可以提供可信的执行环境来保护数据和计算过程的安全性。通过将隐语框架与TEE结合,可以实现数据在计算过程中的加密和保护。 在隐语框架中,数据可以使用全密态计算或明密文混合计算的方式进行加密。全密态计算是一种在密文环境中进行计算的方式,数据在计算过程中一直保持加密状态,可以使用Secure Aggregation算法、MPC密态引擎、同态加密等技术来进行计算。而明密文混合计算则是将部分计算从密文环境搬到明文环境,在明文环境中进行计算可以提升计算的性能,同时通过安全退让来保证数据的安全性。 TEE提供了一个可信的执行环境,可以保护计算过程中的数据和代码安全。在隐语框架中,可以使用TEE来实现数据的加密和解密操作,以及进行安全计算。TEE可以提供硬件级的安全保护,例如Intel SGX和ARM TrustZone等,也可以通过软件模拟的方式提供安全执行环境。 通过隐语框架配合TEE实现数据加密,可以在保护数据隐私的前提下,进行安全的计算和数据交换。这种组合可以应用于各种场景,例如联邦学习、数据交易市场等,为数据安全和隐私保护提供了一种可行的解决方案。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [隐私计算技术|深度解读可信隐私计算框架隐语”](https://blog.csdn.net/m0_69580723/article/details/126662952)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值