蚂蚁金服共享智能技术实践:如何降低数据共享的难度?
簡(jiǎn)介:?人工智能目前存在的難題是魚與熊掌不可兼得,也就是隱私性跟可用性難以兼顧。如果想要 AI 系統(tǒng)發(fā)揮作用,就可能需要犧牲隱私。但是,在大量真實(shí)場(chǎng)景中,如果做不到同時(shí)兼顧隱私和可用性,會(huì)導(dǎo)致很多 AI 落地的困境。
隨著對(duì)數(shù)據(jù)安全和重視和隱私保護(hù)法案的出臺(tái),曾經(jīng)粗放式的數(shù)據(jù)共享受到挑戰(zhàn),各個(gè)數(shù)據(jù)擁有者重新回到數(shù)據(jù)孤島的狀態(tài)。同時(shí),互聯(lián)網(wǎng)公司也更加難以收集和利用用戶的隱私數(shù)據(jù),數(shù)據(jù)孤島反而成為了常態(tài)。如果希望更好的利用數(shù)據(jù),就必須在滿足隱私保護(hù)和數(shù)據(jù)安全的前提下,在不同的組織、公司與用戶之間進(jìn)行數(shù)據(jù)共享。
為了解決這一問題,國(guó)內(nèi)外不少科技公司先后推出了解決方案,比如谷歌推出的聯(lián)邦學(xué)習(xí)、螞蟻金服提出的共享智能等。本文,InfoQ 對(duì)螞蟻金服機(jī)器學(xué)習(xí)算法中臺(tái)負(fù)責(zé)人周俊進(jìn)行了采訪,了解共享智能如何解決金融領(lǐng)域的數(shù)據(jù)共享問題。
共享智能與聯(lián)邦學(xué)習(xí)的區(qū)別
在介紹技術(shù)實(shí)踐之前,我們需要花些時(shí)間厘清共享智能與聯(lián)邦學(xué)習(xí)之間的區(qū)別,以方便讀者了解本文的討論范圍。
當(dāng)前,業(yè)界解決隱私泄露和數(shù)據(jù)濫用的數(shù)據(jù)共享技術(shù)路線主要有兩條。一條是基于硬件可信執(zhí)行環(huán)境(TEE:Trusted Execution Environment)技術(shù)的可信計(jì)算,另一條是基于密碼學(xué)的多方安全計(jì)算(MPC:Multi-party Computation)。
TEE 字面意思是可信執(zhí)行環(huán)境,核心概念為以第三方硬件為載體,數(shù)據(jù)在由硬件創(chuàng)建的可信執(zhí)行環(huán)境中進(jìn)行共享。目前在生產(chǎn)環(huán)境可用的 TEE 技術(shù),比較成熟的基本只有 Intel 的 SGX 技術(shù),基于 SGX 技術(shù)的各種應(yīng)用也是目前業(yè)界的熱門方向,微軟、谷歌等公司在這個(gè)方向上都有所投入。
?
MPC(Multi-party Computation,多方安全計(jì)算)一直是學(xué)術(shù)界比較火的話題,但在工業(yè)界的存在感較弱,之前都是一些創(chuàng)業(yè)小公司在這個(gè)方向上有一些探索,例如 Sharemind,Privitar,直到谷歌提出了基于 MPC 的在個(gè)人終端設(shè)備的“聯(lián)邦學(xué)習(xí)”(Federated Learning)的概念,使得 MPC 技術(shù)一夜之間在工業(yè)界火了起來。
?
當(dāng)前,業(yè)界針對(duì)數(shù)據(jù)共享場(chǎng)景,利用如上技術(shù)路線推出了一些解決方案,包括隱私保護(hù)機(jī)器學(xué)習(xí) PPML、聯(lián)邦學(xué)習(xí)、競(jìng)合學(xué)習(xí)、可信機(jī)器學(xué)習(xí)等,不同解決方案采用的技術(shù)路線相互也會(huì)有一些重疊。周俊表示,螞蟻金服提出的共享智能(又稱:共享機(jī)器學(xué)習(xí))結(jié)合了 TEE 與 MPC 兩條路線,同時(shí)結(jié)合螞蟻的自身業(yè)務(wù)場(chǎng)景特性,聚焦于金融行業(yè)的應(yīng)用。
簡(jiǎn)單來說,共享智能的概念,或者說理念,是希望在多方參與且各數(shù)據(jù)提供方與平臺(tái)方互不信任的場(chǎng)景下,能夠聚合多方信息進(jìn)行分析和機(jī)器學(xué)習(xí),并確保各參與方的隱私不被泄漏,信息不被濫用。
關(guān)于共享智能與聯(lián)邦學(xué)習(xí)的差異,周俊表示,目前,聯(lián)邦學(xué)習(xí)涉及兩個(gè)不同的概念:
- 第一種是谷歌提出的聯(lián)邦學(xué)習(xí),旨在解決云 + 端訓(xùn)練過程中,端上隱私不暴露的問題,這是一個(gè) To C + 數(shù)據(jù)水平切分的場(chǎng)景。除了保護(hù)端上的數(shù)據(jù)隱私外,其重點(diǎn)還在于如何解決訓(xùn)練過程中,端自身可能掉線等問題。
- 第二種是國(guó)內(nèi)提出的聯(lián)邦學(xué)習(xí),主要用于解決 To B 場(chǎng)景中各方隱私不泄露的問題,既可應(yīng)用于數(shù)據(jù)的水平切分場(chǎng)景,也可應(yīng)用于數(shù)據(jù)垂直切分的場(chǎng)景。它們側(cè)重于不同的數(shù)據(jù)共享場(chǎng)景,技術(shù)上有不同的側(cè)重點(diǎn)。
2019 年,一篇由多個(gè)知名大學(xué)和企業(yè)撰寫的關(guān)于聯(lián)邦學(xué)習(xí)的綜述文章《Advances and Open Problems in Federated Learning》,對(duì)聯(lián)邦學(xué)習(xí)的定義和描述是比較清晰的。首先,聯(lián)邦學(xué)習(xí)的架構(gòu)是由一臺(tái)中心服務(wù)器和多個(gè)計(jì)算節(jié)點(diǎn)構(gòu)成,中心服務(wù)器會(huì)參與到整個(gè)計(jì)算過程,因此不適用于一些不需要中心服務(wù)器節(jié)點(diǎn)的應(yīng)用場(chǎng)景(文章中將這種模式稱為 Fully Decentralized Distributed Learning )。此外,聯(lián)邦學(xué)習(xí)要求原始數(shù)據(jù)不能出域,這也限制了其可以使用的技術(shù)方案,而共享智能是從問題出發(fā),作為一個(gè)新興的技術(shù)領(lǐng)域,在面臨當(dāng)前各種復(fù)雜場(chǎng)景的時(shí)候,很難用一套技術(shù)方案去解決所有問題,因此共享智能的解決方案中不僅包含有類似聯(lián)邦學(xué)習(xí)的有中心服務(wù)器參與計(jì)算的模式,也包含完全去中心化的方案,還有基于 TEE 的共享學(xué)習(xí)方案。
在不同的場(chǎng)景下,不同的方案各有優(yōu)劣。周俊表示,目前,數(shù)據(jù)共享下的機(jī)器學(xué)習(xí)仍然還有很多待突破的地方,我們并不糾結(jié)于解決問題的是聯(lián)邦學(xué)習(xí)還是去中心化的分布式學(xué)習(xí),或者是其它任何技術(shù)方案,最終還是希望大家能夠合力解決這個(gè)業(yè)界難題。
螞蟻金服共享智能應(yīng)用實(shí)踐
2016 年開始,螞蟻金服就開始投入到共享智能的研究中,出發(fā)點(diǎn)是為了解決業(yè)務(wù)中遇到的問題,比如機(jī)構(gòu)與螞蟻金服的信息協(xié)同問題。基于此,螞蟻金服調(diào)研了差分隱私、矩陣變換等多種方案,確定了目前的技術(shù)大方向。
縱觀整個(gè)研發(fā)階段,周俊認(rèn)為大致可以分為探索期、技術(shù)攻堅(jiān)和技術(shù)應(yīng)用三個(gè)時(shí)期。
- 探索期:對(duì)業(yè)界相關(guān)技術(shù)進(jìn)行全面摸底,并設(shè)計(jì)了上百個(gè)方案,逐一驗(yàn)證可行性,并在真實(shí)場(chǎng)景反復(fù)錘煉技術(shù),實(shí)現(xiàn)從 0 到 1 的突破;
- 技術(shù)攻堅(jiān)期:經(jīng)過前面的摸索,確定了幾個(gè)可能適用于工業(yè)界的方案,進(jìn)一步在大規(guī)模工業(yè)場(chǎng)景下,對(duì)這些方案的安全性和性能等逐一優(yōu)化提升;
- 技術(shù)應(yīng)用期:開始大規(guī)模在真實(shí)業(yè)務(wù)場(chǎng)景中應(yīng)用,直面業(yè)務(wù)需求,進(jìn)一步淬煉技術(shù),接受市場(chǎng)檢驗(yàn)。
在共享智能的技術(shù)細(xì)節(jié)上,周俊表示,可以按照 TEE 和 MPC 兩條路線來理解。
基于 TEE 的共享學(xué)習(xí)
螞蟻共享學(xué)習(xí)底層使用 Intel 的 SGX 技術(shù),并可兼容其它 TEE 實(shí)現(xiàn)。下面著重介紹一下基于 TEE 的共享學(xué)習(xí)中的一種數(shù)據(jù)加密出域的方案,目前,這種方案已支持集群化的模型在線預(yù)測(cè)和離線訓(xùn)練。
1. 模型在線預(yù)測(cè)
預(yù)測(cè)通常是在線服務(wù)。相對(duì)于離線訓(xùn)練,在線預(yù)測(cè)在算法復(fù)雜度上面會(huì)相對(duì)簡(jiǎn)單,但是對(duì)穩(wěn)定性的要求會(huì)更高。提升在線服務(wù)穩(wěn)定性的關(guān)健技術(shù)之一就是集群化的實(shí)現(xiàn)——通過集群化解決負(fù)載均衡,故障轉(zhuǎn)移,動(dòng)態(tài)擴(kuò)容等穩(wěn)定性問題。
但由于 SGX 技術(shù)本身的特殊性,傳統(tǒng)的集群化方案在 SGX 上無法工作。
為此,螞蟻金服設(shè)計(jì)了如下分布式在線服務(wù)基本框架:
?
該框架與傳統(tǒng)分布式框架不同的地方在于,每個(gè)服務(wù)啟動(dòng)時(shí)會(huì)到集群管理中心(ClusterManager,簡(jiǎn)稱 CM)進(jìn)行注冊(cè),并維持心跳,CM 發(fā)現(xiàn)有多個(gè)代碼相同的 Enclave 進(jìn)行了注冊(cè)后,會(huì)通知這些 Enclave 進(jìn)行密鑰同步,Enclave 收到通知后,會(huì)通過遠(yuǎn)程認(rèn)證相互確認(rèn)身份。當(dāng)確認(rèn)彼此的 Enclave 簽名完全相同時(shí),會(huì)通過安全通道協(xié)商并同步密鑰。
2. 模型離線訓(xùn)練
模型訓(xùn)練階段,除了基于自研的訓(xùn)練框架支持了 LR 和 GBDT 的訓(xùn)練外,螞蟻金服還借助于?LibOS Occlum(螞蟻主導(dǎo)開發(fā),已開源)和自研的分布式組網(wǎng)系統(tǒng),成功將原生 Xgboost 移植到 SGX 內(nèi),并支持多方數(shù)據(jù)融合和分布式訓(xùn)練。通過上述方案,不僅可以減少大量的重復(fù)性開發(fā)工作,并且在 Xgboost 社區(qū)有了新的功能更新后,可以在 SGX 內(nèi)直接復(fù)用新功能,無需額外開發(fā)。目前,螞蟻金服正在利用這套方案進(jìn)行 TensorFlow 框架的遷移。
此外,針對(duì) SGX 當(dāng)下詬病的 128M 內(nèi)存限制問題(超過 128M 會(huì)觸發(fā)換頁操作,導(dǎo)致性能大幅下降),螞蟻金服通過算法優(yōu)化和分布式化等技術(shù),大大降低內(nèi)存限制對(duì)性能的影響。
上述方案在多方數(shù)據(jù)共享學(xué)習(xí)訓(xùn)練流程如下:
?
此外,針對(duì)有一些數(shù)據(jù)提供方不希望數(shù)據(jù)出域的場(chǎng)景,螞蟻還提供了使用 TEE 對(duì)訓(xùn)練過程中的參數(shù)信息進(jìn)行加密的技術(shù)方案,篇幅原因,就不在這里展開了。
基于 MPC 的共享學(xué)習(xí)
螞蟻基于 MPC 的共享學(xué)習(xí)框架分為三層:
- 安全技術(shù)層:安全技術(shù)層提供基礎(chǔ)的安全技術(shù)實(shí)現(xiàn),比如在前面提到的秘密分享、同態(tài)加密、混淆電路,另外還有一些跟安全密切相關(guān)的,例如差分隱私技術(shù)、DH 算法等;
- 基礎(chǔ)算子層:在安全技術(shù)層基礎(chǔ)上,螞蟻金服會(huì)做一些基礎(chǔ)算子的封裝,包括多方數(shù)據(jù)安全求交、矩陣加法、矩陣乘法,以及在多方場(chǎng)景下,計(jì)算 sigmoid 函數(shù)、ReLU 函數(shù)等;同一個(gè)算子可能會(huì)有多種實(shí)現(xiàn)方案,用以適應(yīng)不同的場(chǎng)景需求,同時(shí)保持接口一致;
- 安全機(jī)器學(xué)習(xí)算法:有了基礎(chǔ)算子,就可以很方便的進(jìn)行安全機(jī)器學(xué)習(xí)算法的開發(fā),這里的技術(shù)難點(diǎn)在于,如何盡量復(fù)用已有算法和已有框架,螞蟻金服在這里做了一些有益的嘗試,但也遇到了很大的挑戰(zhàn)。
?
目前,這套基于 MPC 的共享學(xué)習(xí)框架已支持了包括?LR、GBDT、DNN?等頭部算法,后續(xù)一方面會(huì)繼續(xù)根據(jù)業(yè)務(wù)需求補(bǔ)充更多的算法,同時(shí)也會(huì)為各種算子提供更多的技術(shù)實(shí)現(xiàn)方案,以應(yīng)對(duì)不同的業(yè)務(wù)場(chǎng)景。
基于?MPC 的多方數(shù)據(jù)共享學(xué)習(xí)訓(xùn)練流程如下:
?
訓(xùn)練引擎的具體架構(gòu)如下:
?
其中 Coordinator 部署于螞蟻平臺(tái),用于任務(wù)的控制和協(xié)調(diào),本身并不參與實(shí)際運(yùn)算。Worker 部署在參與多方安全計(jì)算的機(jī)構(gòu),基于安全多方協(xié)議進(jìn)行實(shí)際的交互計(jì)算。
用戶在建模平臺(tái)構(gòu)建好的訓(xùn)練任務(wù)流會(huì)下發(fā)給 Coordinator 的 Task Flow Manager,Task Flow Manager 會(huì)把任務(wù)進(jìn)行拆解,通過 Task Manager 把具體算法下發(fā)給 Worker 端的 Task Executor,Task Executor 根據(jù)算法圖調(diào)用 Worker 上的安全算子完成實(shí)際的運(yùn)算。
利用這套方法,可以做到數(shù)據(jù)不出域就可以完成數(shù)據(jù)共享,訓(xùn)練工具可以部署在本地的服務(wù)器。
對(duì)金融領(lǐng)域的重要意義
無論是聯(lián)邦學(xué)習(xí)還是共享智能,很多技術(shù)實(shí)踐都優(yōu)先選擇了在金融領(lǐng)域落地。相較于其他領(lǐng)域,金融領(lǐng)域?qū)?shù)據(jù)的管控更為嚴(yán)格,對(duì)數(shù)據(jù)隱私更加重視,因此也是最需要通過技術(shù)手段解決數(shù)據(jù)孤島問題的領(lǐng)域。
周俊表示,在金融領(lǐng)域,共享智能側(cè)重在解決“開放”這個(gè)大領(lǐng)域中的問題,比如聯(lián)合營(yíng)銷、聯(lián)合風(fēng)控等,這兩個(gè)場(chǎng)景相對(duì)更容易看到具體實(shí)施效果。相比其他領(lǐng)域,金融領(lǐng)域?qū)?shù)據(jù)保護(hù)看的更重,數(shù)據(jù)的流轉(zhuǎn)在該領(lǐng)域中更難,因此采用共享智能技術(shù),可以做到更好的隱私保護(hù),實(shí)現(xiàn)數(shù)據(jù)可用不可見,是一個(gè)關(guān)鍵的助推器。
舉例來說,通過數(shù)據(jù)融合,螞蟻金服的共享智能幫助中和農(nóng)信大幅度提高了風(fēng)控性能,把原來傳統(tǒng)的線下模式,變成線上自動(dòng)過審模式,完成授信只需 5 分鐘,8 個(gè)月累計(jì)放款 31.9 億,授信成功人數(shù) 44 萬人,業(yè)務(wù)覆蓋 20 多個(gè)省區(qū),300 多縣城,10000 多個(gè)鄉(xiāng)村。
企業(yè)落地難,如何解決?
雖然該技術(shù)的落地對(duì)金融企業(yè)有著重要意義,但很多公司在實(shí)際的落地過程中遇到了問題,可能是技術(shù)原因,也可能是處于對(duì)結(jié)果的擔(dān)憂。
采訪中,周俊表示,共享智能技術(shù)屬于交叉領(lǐng)域,涉及到密碼學(xué)、機(jī)器學(xué)習(xí)等技術(shù),有一定的門檻,企業(yè)部署這樣的技術(shù),需要結(jié)合自身技術(shù)能力以及業(yè)務(wù)需求來綜合考量。當(dāng)然,螞蟻金服也在積極探索降低企業(yè)落地門檻的技術(shù)和方案,隨著越來越多的企業(yè)一起參與進(jìn)來,相信不遠(yuǎn)的將來,共享智能的技術(shù)落地將不再會(huì)有太高的門檻。
此外,螞蟻金服的共享智能是一個(gè)開放的生態(tài),希望更多的企業(yè)能參與進(jìn)來一起共建,而不需要重新再去走螞蟻金服之前走過的很多彎路。金融企業(yè)可以根據(jù)自身業(yè)務(wù)發(fā)展的需要,及時(shí)跟進(jìn)業(yè)界最新進(jìn)展,從而選擇更合適的技術(shù)和合作方來解決業(yè)務(wù)難題。能夠讓業(yè)務(wù)贏,解決業(yè)務(wù)痛點(diǎn),是這里面最重要的因素。
更為重要的是,共享智能解決的是信任問題,所以大規(guī)模落地的前提是用戶對(duì)共享智能有一個(gè)全面的認(rèn)知和信任。螞蟻金服通過立標(biāo)桿、推標(biāo)準(zhǔn)、定向開源等方式來逐步建立用戶對(duì)共享智能的信任。目前,螞蟻金服已經(jīng)在智能信貸領(lǐng)域的多家機(jī)構(gòu)落地了標(biāo)桿型業(yè)務(wù)場(chǎng)景。同時(shí),牽頭在推進(jìn)共享智能的行業(yè)標(biāo)準(zhǔn)、聯(lián)盟標(biāo)準(zhǔn)、國(guó)家標(biāo)準(zhǔn)以及 IEEE、ITU-T 等國(guó)際標(biāo)準(zhǔn)。周俊表示,我們相信,隨著技術(shù)和用戶心智的同步發(fā)展,共享智能的大規(guī)模落地將會(huì)很快發(fā)生,而最先受益的,是數(shù)據(jù)驅(qū)動(dòng)的、并且對(duì)隱私保護(hù)有強(qiáng)需求的金融科技和醫(yī)療科技行業(yè)。
結(jié)束語
面向未來,周俊表示,重點(diǎn)還是繼續(xù)推動(dòng)全行業(yè)共同解決數(shù)據(jù)共享問題。螞蟻金服會(huì)逐步開放技術(shù)能力,賦能行業(yè)中有需求的企業(yè),同時(shí)會(huì)聯(lián)合更多單位,包括研究機(jī)構(gòu)、企業(yè)等共同推進(jìn)解決技術(shù)難題。最終希望全行業(yè)能夠共同打造一個(gè)可以在保護(hù)用戶隱私和防止數(shù)據(jù)濫用的前提下實(shí)現(xiàn)數(shù)據(jù)互聯(lián)互通的共享智能網(wǎng)絡(luò),更好的實(shí)現(xiàn)普惠金融。
總結(jié)
以上是生活随笔為你收集整理的蚂蚁金服共享智能技术实践:如何降低数据共享的难度?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在地理文本处理技术上,高德有哪些技巧?
- 下一篇: 打破重重阻碍,Flutter 和 Web