第 12 課:基于隱語的VisionTransformer框架

基于之前MPC的基礎知識,本講主要內容是MPCViT基于SecretFlow的VisionTransformer框架,主要從神經網絡架構,隱私推理框架和實驗結果三方面介紹。

?一、MPCViT:安全且高效的MPC友好型 Vision Transformer架構

? ? ? ? MPCViT隱私推理總體框架中,其底層協議是基于半誠實威脅模型的 2PC的秘密分享方案,簡單來說即服務器和客戶端相互不能泄漏自己的信息,最終要得到神經網絡正確的推理結果。在上層模型方面,VisionTransformer是一種基于Transformer編碼器的視覺模型,包含了embedding層,注意力層,非線性GeLU函數等多個不同模塊,總體目標是在保護數據和模型隱私的前提下,以更高的推理效率得到最終圖像分類的結果。

????????MPCViT的三大研究動機:ViT延遲分解(ViT在MPC中推理的延遲進行分解分析,發現在SEMI-2K和Cheetah兩種協議下,注意力機制中的SoftMax以及MLP中的GeLU函數都占據了絕大部份的延遲)及通信瓶頸、不同注意力機制變體對比,對比了不同注意力的準確率和延遲(進一步分解注意力機制,可以發現求最大值、求倒數、求指數等運算都造成了一部分延遲,能否盡可能去除ViT中這樣一些耗時的操作,提高隱私推理的效率,降低推理的延遲)、不是所有的注意力都同等重要(發現一些注意力機制具有很高的效率,另一些具有很好的性能,一個很自然的想法是能否去合理地融合兩種不同的注意力機制,使得在隱私推理時同時具有高效性和高準確率)。

????????MPCViT的整體算法流程(主要用于解決如何權衡模型準確率和推理延遲,以及融合高準確率注意力機制和低延遲注意力機制)可以分為四步:

? ? ? ? ? ? ? ? 1、設計合適的搜索空間(三種不同的粒度)

? ? ? ? ? ? ? ? ? ? ? ? 分為粗粒度:Transformer層級粒度,中粒度:注意力頭級粒度,細粒度:注意力行級粒度(token級)

? ? ? ? ? ? ? ? 2、MPC感知神經架構搜索(可微分搜索)

? ? ? ? ? ? ? ? ? ? ? ? 對于架構搜素算法,給每個注意力都分配架構參數\alpha,在搜索過程中,自動決定應該保留哪個注意力,這種搜索算法是可微分的,搜索效率比較高,只需要通過給損失函數添加正則項即可實現。

? ? ? ? ? ? ? ? 3、基于延遲限制的架構參數二值化(靈活適應)

? ? ? ? ? ? ? ? ? ? ? ? 在神經架構搜索完成之后,可以根據具體延遲的需求和限制,通過對\alpha進行排序,將具有較大\alpha注意力機制,設置成高準確率類型,對于較小的\alpha,設置成低延遲類型。

? ? ? ? ? ? ? ? 4、重訓練異構注意力ViT(借助知識蒸餾提升模型性能)

????????????????????????直接訓練搜索后的異構注意力機制ViT會導致顯著的準確率下降,如何有效提高異構注意力了機制ViT的準確率?可以采用多粒度自蒸餾方式,讓異構ViT去學習到原始Softmax ViT的軟標簽,以及最后一層的特征,這種粗細粒度的蒸餾能夠很大程度的幫助ViT架構的學習。

二、搭建基于SecretFlow的Vision Transformer框架

? ? ? ? 分為以下四部分:

? ? ? ? ? ? ? ? 1、SecretFlow Secure Processing Unit (SPU)

? ? ? ? ? ? ? ? ? ? ? ? 前文已經多次介紹。

? ? ? ? ? ? ? ? 2、隱私推理協議及通信參數配置

????????????????????????隱私推理協議及節點配置,模擬網絡參數配置throttle.sh,包括廣域網和局域網。

? ? ? ? ? ? ? ? 3、基于Jax的ViT模型搭建

? ? ? ? ? ? ? ? ? ? ? ? 采用Jax語言,其語法與Pytorch有相似之處。具體包括圖像Patch Embedding搭建,注意力機制搭建,MLP模塊搭建和Transformer模塊搭建。

? ? ? ? ? ? ? ? 4、ViT模型隱私推理

? ? ? ? ? ? ? ? ? ? ? ??ViT Benchmark文件,包括初始化SPU環境,設置輸入變量維度,模型實例化,以及密文推理過程。

? ? ? ? ? ? ? ? ? ? ? ??ViT隱私推理操作流程,包括配置Python環境及安裝SPU,配置并模擬通信網絡環境,模擬MPC環境及協議,以及執行隱私推理。

三、MPCViT主要實驗結果

? ? ? ? 和近年的SOTA模型相比,MPCViT在不同的數據集上,不同的架構上, 都顯著的降低了延遲,并且具有更高的準確率。

? ? ? ? 在消融實驗中可以看到,兩種粒度的知識蒸餾對于異構ViT模型的訓練都是至關重要的。????????

? ? ? ? 在搜索算法方面,在不同模型的架構上,在不同的超參數情況下,都有很好的一致性,同時可以擴展到不同規模的架構以及數據集上,具有很好的擴展性。

四、總結

????????首先介紹了ViT在MPC環境下進行隱私推理的總體框架、研究動機以及算法流程。

????????MPCViT借助螞蟻的SecretFlow-SPU去搭建ViT隱私推理框架,并測試了不同模型架構的推理效率。

????????介紹了SecretFlow-SPU的特點和功能,并展開講解了基于SecretFlow和Jax的ViT框架搭建流程

????????最后,呈現了該工作的主要實驗結果,效果均優于基線模型。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36091.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36091.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36091.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

QT中子工程的創建,以及如何在含有庫的子工程項目中引用主項目中的qt資源

1、背景 在qt中創建多項目類型,如下: CustomDll表示其中的一個動態庫子項目; CustomLib表示其中的一個靜態庫子項目; MyWidget表示主項目窗口(main函數所在項目); 2、qrc資源的共享 如何在CustomDll和CustomLib等子項目中也同樣使用 MyWidget項目中的qrc資源呢??? 直…

【AI應用探討】—決策樹應用場景

目錄 1 命名實體識別(NER) 2 信用評估 3 醫學診斷 4 垃圾郵件過濾 5 推薦系統 6 金融欺詐檢測 7 醫療領域的其他應用 8 網絡行為管理系統 1 命名實體識別(NER) 應用場景:在文本處理中,決策樹可以用…

【項目實訓】后端邏輯完善

經測試,我們決定前端可以同時選擇多個類型的崗位進行查詢,以顯示相應的公司崗位信息 于是,修改后端函數的邏輯: 后端 首先,因為要對checkList中的job_name進行模糊匹配查詢,于是使用以下代碼&#xff1a…

mybatis批量處理

批量修改 <update id"updateTaskDistributions" parameterType"java.util.List"><foreach collection"viewTaskDistributions" index"index" item"item" open"begin" close";end;" separa…

【科學計算與可視化】3. Matplotlib 繪圖基礎

安裝 pip install matplotlib 官方文檔 https://matplotlib.org/stable/api/pyplot_summary.html 主要介紹一些圖片繪制的簡要使用&#xff0c;更加詳細和進階需要可參考 以上官方文檔。 1 繪制基礎 方法名說明title()設置圖表的名稱xlabel()設置 x 軸名稱ylabel()設置 y 軸…

雙指針:比較含退格的字符串

題目鏈接&#xff1a;. - 力扣&#xff08;LeetCode&#xff09; 代碼看起來繁瑣&#xff0c;但實際思想并不難。核心思路是&#xff1a;倒序遍歷&#xff0c;遇到#就記錄跳過次數&#xff0c;遇到字母就跳過記錄次數&#xff0c;最后比較不用跳過時的字母是否一樣。 class S…

負載組指南說明-負載柜

什么是負載組&#xff1f; 負載組是一種設備&#xff0c;旨在準確模擬電源在實際應用中看到的負載。這種負載組可以用電阻、電感或電容元件構建。它是一種電阻裝置&#xff0c;以熱量的形式消散一定量的能量&#xff0c;可以通過自然對流、強制空氣或水冷系統去除。 為什么要使…

江協科技51單片機學習- p11 Proteus安裝模擬51單片機

前言&#xff1a; 本文是根據嗶哩嗶哩網站上“江協科技51單片機”視頻的學習筆記&#xff0c;在這里會記錄下江協科技51單片機開發板的配套視頻教程所作的實驗和學習筆記內容。本文大量引用了江協科技51單片機教學視頻和鏈接中的內容。 引用&#xff1a; Proteus快速入門&…

可溶性聚四氟乙烯離子交換柱PFA層析柱微柱一體成型

PFA微柱&#xff0c;也叫PFA層析柱、PFA離子交換柱等&#xff0c;主要用于地質同位素超凈化、痕量、超痕量、微量元素分析實驗室。 規格參考&#xff1a;1.5ml、15ml、30ml等。 其主要特性有&#xff1a; 1、PFA層析柱&#xff08;微柱&#xff09;專為離子交換設計&#xff…

SAP ERP公有云(全稱 SAP S/4HANA Cloud Public Edition),賦能企業成為智能可持續的企業

在數字化浪潮中&#xff0c;每一家企業都需要應對快速的市場變化&#xff0c;不斷追求降本增效&#xff0c;為創新提供資源&#xff0c;發展新的業務模式&#xff0c;安全無憂地完成關鍵任務系統的轉型。 10年前&#xff0c;SAP進入云領域&#xff0c;用云ERP和覆蓋全線業務的云…

雙通道源表KEITHELY2636B詳情參數吉時利2636B

Keithley的2636B是一款2600B系列雙通道系統源表(SMU)儀器(0.1fA, 10A脈沖)。它是業界領先的電流/電壓源和測量解決方案。這種雙通道模型結合了精密電源&#xff0c;真電流源&#xff0c;6 1/2位DMM&#xff0c;任意波形發生器&#xff0c;脈沖發生器和電子負載的能力&#xff0…

銳起RDV5高性能云桌面

銳起是上海銳起信息技術有限公司旗下品牌。該公司創立于 2001 年&#xff0c;是桌面虛擬化產品和解決方案提供商&#xff0c;專注于桌面管理系統和私有云存儲系統的系列軟件產品研發&#xff0c;致力于簡化 IT 管理、增強系統安全&#xff0c;提供簡單、易用、穩定、安全的產品…

并發數據結構:ConcurrentHashMap深入分析

在Java并發編程中&#xff0c;ConcurrentHashMap是一個極其重要的類&#xff0c;它提供了比Hashtable和同步的HashMap更好的并發性能。本文將深入分析ConcurrentHashMap的內部結構、工作原理以及如何高效地使用它。 1. ConcurrentHashMap簡介 ConcurrentHashMap是Java集合框架…

kubernetes Job yaml文件解析

一、yaml文件示例 apiVersion: batch/v1 kind: Job metadata:name: test-jobnamespace: mtactor spec:completions: 3parallelism: 1backoffLimit: 5activeDeadlineSeconds: 100template:spec:containers:- name: test-jobimage: centoscommand: ["echo","test…

linux創建邏輯盤再掛載

創建邏輯盤再掛載 原因&#xff1a;如果直接掛載整盤&#xff0c;后面想擴容會很麻煩。掛載邏輯卷的話就簡單很多。為了以后方便。所以直接掛載邏輯卷 openEuler系統先裝lvm2如果&#xff1a;-bash: pvcreate: command not found執行&#xff1a;yum install lvm2 df -hT ls…

我在高職教STM32——GPIO入門之按鍵輸入(1)

大家好&#xff0c;我是老耿&#xff0c;高職青椒一枚&#xff0c;一直從事單片機、嵌入式、物聯網等課程的教學。對于高職的學生層次&#xff0c;同行應該都懂的&#xff0c;老師在課堂上教學幾乎是沒什么成就感的。正因如此&#xff0c;才有了借助 CSDN 平臺尋求認同感和成就…

Linux下創建虛擬磁盤

參考文檔 https://blog.csdn.net/lujun9972/article/details/115762407 https://blog.csdn.net/Kiritow/article/details/118076034 1&#xff0c;創建掛載點 sudo mkdir /mnt/z //方式一&#xff0c;內存盤方式 2&#xff0c;創建內存盤 sudo mount -t ramfs -o size1G z /…

Java中的內存泄漏及其排查方法

Java中的內存泄漏及其排查方法 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01; 在Java開發中&#xff0c;內存管理通常由Java虛擬機&#xff08;JVM&#xff0…

【觀察】戴爾科技+AMD:釋放技術創新“乘數效應”,助力制造業打造“新質生產力”...

在今年的政府工作報告中&#xff0c;“人工智能”首次被寫入報告&#xff0c;同時“大力推進現代化產業體系建設&#xff0c;加快發展新質生產力”也被列為2024年的首項政府工作任務&#xff0c;其重要性不言而喻。 尤其是最近幾年&#xff0c;以人工智能、大模型、大數據、云計…

如何在Spring Boot中使用RabbitMQ實現消息隊列

如何在Spring Boot中使用RabbitMQ實現消息隊列 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;在分布式系統中&#xff0c;消息隊列是實現解耦、異步通信和削峰…