<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 智能計算 > 市場(chǎng)分析 > 矩陣元算法科學(xué)家謝翔:Rosetta如何連接隱私計算與AI?

矩陣元算法科學(xué)家謝翔:Rosetta如何連接隱私計算與AI?

作者:云風(fēng)(凹非寺) 時(shí)間:2020-08-11 來(lái)源:量子位 收藏

大家好,我是謝翔,來(lái)自矩陣元。今天很高興能夠與大家分享矩陣元最近的一些研究成果。主要的方向是,以及基于密碼學(xué)的隱私開(kāi)源框架—。

本文引用地址:http://dyxdggzs.com/article/202008/416951.htm

時(shí)代來(lái)臨?

目前數據面臨著(zhù)一些挑戰。隨著(zhù)數字化的發(fā)展,數據量指數級增加,一些核心的、關(guān)鍵的數據保護做得遠遠不夠。目前來(lái)看,隨著(zhù)數據的生產(chǎn)要素化,不論國內國外對整個(gè)數據相關(guān)方向的關(guān)注程度越來(lái)越高,當然其中也有越來(lái)越多的挑戰。而眾多挑戰之中我們認為其中最關(guān)鍵的一點(diǎn)就是數據隱私。

的角度來(lái)看,需要用數據來(lái)“喂”,只有通過(guò)足夠多的數據或多樣化的數據,才能訓練出一個(gè)相對較好的模型使用。所以隨著(zhù)數據量的增大、數據多樣化的增加,以及隨著(zhù)數據隱私的關(guān)注程度越來(lái)越高,面臨著(zhù)一個(gè)所謂的“窘境”——從AI角度來(lái)看,數據的多樣化程度越高,對于整個(gè)模型的訓練更有好處,模型精度也會(huì )相應提高。

所以這給AI帶來(lái)了一系列問(wèn)題。如何能夠在保護數據隱私的前提下,把各不同源、不同企業(yè)之間的數據能夠融合運用?在目前傳統的技術(shù)方法里很難解決這個(gè)問(wèn)題,所以成為了AI可能面臨的一大痛點(diǎn)。因此也引出了“”的概念。

關(guān)于隱私計算,簡(jiǎn)單來(lái)說(shuō)就是保證數據在使用和融合過(guò)程中,保護隱私的綜合性技術(shù),而不是簡(jiǎn)單的一項技術(shù)。隱私計算大致分為三類(lèi):

第一是密碼學(xué),第二是聯(lián)邦學(xué)習(Federated Learning),是偏機器學(xué)習的技術(shù);第三是可信執行環(huán)境(TEE),是硬件安全的技術(shù)。當然技術(shù)沒(méi)有絕對的好壞之分,每個(gè)技術(shù)都有它的優(yōu)勢和劣勢,所以在很多的綜合性解決方案中,很多技術(shù)都是融合在一起使用的。

密碼學(xué)簡(jiǎn)單來(lái)說(shuō)是研究各類(lèi)不同情況下,如何保護數據隱私的一類(lèi)學(xué)科。最主要的特點(diǎn)是:所有密碼學(xué)的方向,在涉及算法、方案的時(shí)候,要先去定義一個(gè)安全模型,要定義什么樣才是安全。之后在這個(gè)定義之下,會(huì )通過(guò)一些數學(xué)的方法技巧去證明這個(gè)方案是滿(mǎn)足安全定義的,所以它相對來(lái)說(shuō)具有完整的數學(xué)理論基礎的密碼理論。當然它的優(yōu)勢是,密碼學(xué)考慮的是一個(gè)非常廣泛的場(chǎng)景。所以它能夠更好的適合或適配不同的場(chǎng)景。在某些場(chǎng)景下,能夠做到比較高效。

當然密碼學(xué)也有瓶頸,在部分場(chǎng)景里性能、計算時(shí)間、通訊復雜度存在一定的瓶頸。當然更大的瓶頸在于,給沒(méi)有密碼學(xué)背景的人解釋密碼學(xué)原理,是一件難于上青天的事情。

所以本次分享中,會(huì )更傾向于密碼學(xué)的介紹,包括密碼學(xué)的歷史及主要技術(shù),之后我會(huì )對其中的安全多方計算的基本原理做一些簡(jiǎn)單的介紹。

密碼學(xué)如何實(shí)現隱私保護?

密碼學(xué)中的隱私計算技術(shù),大概分為三大類(lèi)。分別是:安全多方計算、同態(tài)加密、零知識證明。

安全多方計算(簡(jiǎn)稱(chēng)MPC),在1982年由姚期智先生提出,緣起于“百萬(wàn)富翁問(wèn)題”。此問(wèn)題講的是有兩個(gè)百萬(wàn)富翁,他們都很有錢(qián),想比誰(shuí)更有錢(qián),但是又不想把各自的資產(chǎn)告訴對方,也不想找第三方幫他們做比較。所以他們如何能夠在不泄露自己財產(chǎn)的前提之下,知道誰(shuí)更有錢(qián)呢?安全多方計算領(lǐng)域由此開(kāi)辟。

抽象的來(lái)說(shuō),可以理解為有多個(gè)本地參與,他們各自都擁有一個(gè)隱私的收入,但是他們想去計算一個(gè)共同的函數或者說(shuō)共同的模型,叫做f。這個(gè)f會(huì )跟各自的輸入都有關(guān)系,然后各自拿到一個(gè)結果。所以我們把它抽象出來(lái),如果f是一個(gè)比較的函數,模型里面只有兩個(gè)人的話(huà),就形成了一個(gè)經(jīng)典的百萬(wàn)富翁問(wèn)題。

和我們今天講的內容聯(lián)系起來(lái)呢?如果這個(gè)f是一個(gè)模型或是機器學(xué)習的模型,比如說(shuō)是一個(gè)邏輯回歸、是一個(gè)CNN,相當于這三方各自都擁有一些數據,他們想共同訓練這個(gè)模型。

這就對應了今日主題:如何進(jìn)行隱私 AI 建模的方式?

也就是說(shuō),安全多方計算其實(shí)是一個(gè)非常廣的概念。從密碼學(xué)的角度看,MPC用到機器學(xué)習、AI里面,就是一個(gè)非常具體的應用了。那么應用運用了何種具體的方式?這就是所要解決的問(wèn)題。

如何連接隱私計算與AI?

講到現在,相信大家一定會(huì )遇到一個(gè)很大的問(wèn)題,就是我們很想運用密碼學(xué)解決問(wèn)題,但是如果沒(méi)有很高的數學(xué)基礎或者沒(méi)有學(xué)習過(guò)密碼學(xué)的話(huà),相關(guān)算法實(shí)在是門(mén)檻太高了。但是一些AI領(lǐng)域的專(zhuān)家、學(xué)者對于A(yíng)I的應用,深度學(xué)習、機器學(xué)習的框架已經(jīng)非常熟了。所以這兩種具有不同專(zhuān)業(yè)技能的人,之間有很深的溝壑。在現實(shí)生活中,急需把這兩種技術(shù)做一個(gè)融合,但是密碼學(xué)相對的技術(shù)門(mén)檻太高,會(huì )影響整個(gè)行業(yè)的發(fā)展,也會(huì )影響整套隱私計算或者隱私AI的計算技術(shù)問(wèn)題和理論進(jìn)展。

所以我們想讓熟悉機器學(xué)習,但是對密碼學(xué)不了解的用戶(hù)能夠將隱私計算技術(shù)運用起來(lái)。另外對于一些熟悉了AI、或者TensorFlow、Pytorch等機器學(xué)習框架的開(kāi)發(fā)者,讓他們能夠在幾乎不改變開(kāi)發(fā)習慣的前提下,就可以運用隱私AI的技術(shù)。我們需要做這樣一個(gè)平臺,或者開(kāi)源框架,能夠讓不太熟悉密碼學(xué)或者根本不懂密碼學(xué)的AI層面的開(kāi)發(fā)者或專(zhuān)家,能夠用上隱私計算技術(shù),這就是我們設計Rosetta的初衷,或者說(shuō)設計Rosetta的一個(gè)根本原則。

因此Rosetta具備以下特點(diǎn):易用性,高效性和可擴展性。

易用性,目前完全復用了TensorFlow接囗。在明文和密文寫(xiě)模型的時(shí)候,TensorFlow的接囗是一樣的,沒(méi)有再變。極大地降低了AI工程師使用隱私計算技術(shù)的成本。

高效性,完全兼容原生TensorFlow對數據流圖自動(dòng)執行的各種運行時(shí)優(yōu)化。我們用C++來(lái)實(shí)現算法,能夠保持底層算法的高效性。我們同時(shí)在跟業(yè)界的密碼學(xué)家設計高效前沿的MPC技術(shù),來(lái)適配機器學(xué)習或者深度學(xué)習的一些模型。

可擴展性,因為在MPC領(lǐng)域算法和協(xié)議非常多,而且涉及不同的場(chǎng)景,可能用不同的算法會(huì )有更好的效果。如果有了新的算法過(guò)來(lái),Rosetta能夠非??焖俚募傻秸麄€(gè)框架里面去。

下面,我們舉例說(shuō)明一下:

這里有三個(gè)參與方,A、B、C,然后每個(gè)人都有一個(gè)矩陣Ma、Mb、Mc,之后他們去計算Ma乘Mb乘Mc,他們三個(gè)只能知道結果,中間的過(guò)程都不知道。在這樣一個(gè)場(chǎng)景下,如何運用Rosetta來(lái)實(shí)現它呢?和TensorFlow明文使用的區別有兩個(gè),一個(gè)是import包和選擇算法,一個(gè)是簡(jiǎn)單處理隱私輸入,即需要把Rosetta包import進(jìn)來(lái),選擇算法,然后定義隱私輸入即可。

Rosetta的架構如下:

整體而言,Rosetta的框架圖如上圖所示,它包括Python的前端APl,這塊是Rosetta方便用戶(hù)使用而特色支持的,然后與TensorFlow的前后端做了適配,同時(shí)我們開(kāi)發(fā)了一個(gè)統一的密碼協(xié)議管理層,可以去適配不同的密碼協(xié)議。

我們的目標是既能夠讓懂密碼學(xué)的開(kāi)發(fā)者把現在的東西復用到整個(gè)框架里來(lái),也能夠讓不懂密碼學(xué)的AI開(kāi)發(fā)者能夠無(wú)門(mén)檻的或者非常低門(mén)檻的去使用隱私計算技術(shù),相當于把密碼學(xué)與機器學(xué)習,有機的結合起來(lái)。這就是Rosetta的目標。

下面說(shuō)一下Rosetta的架構,首先要講TensorFlow架構,TensorFlow架構簡(jiǎn)單地說(shuō)就是一個(gè)圖轉化和一個(gè)圖執行。我們充分利用了TensorFlow架構來(lái)進(jìn)行密碼適配。

當TensorFlow把那個(gè)圖變成下圖左邊標準的傳統圖時(shí),我們去做了一個(gè)static pass,把每一個(gè)操作全部都轉成SecureOp,這個(gè)統稱(chēng)是為了后面能夠支持密碼算法。

然后第二步就是圖執行,圖執行我們運用了dynamic pass,左邊的圖就是剛才轉化之后的圖,然后當數據的時(shí)候,根據每一個(gè)這樣的圖,dynamic pass可以動(dòng)態(tài)去適配用某一類(lèi)密碼協(xié)議去執行這個(gè)圖。

我們能夠充分運用TensorFlow框架,同時(shí)因為能夠利用整個(gè)底層的密碼算法,dynamic pass也可充分利用TensorFlow這種optimizer之間的并行,可以讓它跑得更快。

下面講一個(gè)Rosetta在實(shí)際場(chǎng)景落地中的應用案例:金融場(chǎng)景下的應用。銀行A與B,他們各有各的數據,然后互聯(lián)網(wǎng)公司C也有數據,大家希望能夠通過(guò)Rosetta把模型建起來(lái),比如說(shuō)訓練邏輯回歸后,把風(fēng)控模型訓練出來(lái),訓練出一個(gè)更加高效的模型。同時(shí)保證abc各方數據都不會(huì )被對方拿到,這種場(chǎng)景下,用Rosetta解決問(wèn)題非常簡(jiǎn)單。

如上圖,把Rosetta import進(jìn)來(lái),然后選一個(gè)協(xié)議,然后選相應的輸入。后面就是標準的用TensorFlow去回歸,所以后面完全不需要有任何密碼學(xué)背景,也可以完全寫(xiě)出來(lái)。在多數據融合的訓練場(chǎng)景里,只要Rosetta一個(gè)包,然后把數據做一些處理。后面整個(gè)邏輯回歸的代碼書(shū)寫(xiě),跟原來(lái)的是一模一樣的,甚至可以把代碼直接拷貝過(guò)來(lái)。這里有一個(gè)問(wèn)題,我們用MPC的方式也就是密文的方式,它的精度與明文的方式有何區別?

如上圖,我們做了一個(gè)對比,大家可以看到幾乎沒(méi)有區別,基本等價(jià)了,所以在設計足夠多的參數足夠多的精度之后,完全可以保證整個(gè)模型的精度。當然還有一個(gè)場(chǎng)景就是所謂的模型預測服務(wù)。

最后講一點(diǎn),Rosetta剛剛開(kāi)始,目前已經(jīng)開(kāi)源了0.2.1版本。

歡迎大家關(guān)注Rosetta,Rosetta還是“少年”,我們還在不斷補充功能和迭代優(yōu)化。

我們非常希望能夠結交對架構設計和集成感興趣的朋友們,或者針對其他框架,本身的開(kāi)源也有優(yōu)化想法的小伙伴們,大家一起參與進(jìn)來(lái)。

另外如果有對Rosetta或密碼學(xué)感興趣的朋友們,非常歡迎大家一起來(lái)交流,謝謝大家!




關(guān)鍵詞: 矩陣元算法 Rosetta 隱私計算 AI

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>