天天看點

從技術到落地,詳解螞蟻金服共享智能實踐共享智能與聯邦學習的差別螞蟻金服共享智能應用實踐基于TEE的共享學習基于MPC的共享學習對金融領域的重要意義落地困境如何解決?結束語專家介紹

人工智能目前存在的難題是魚與熊掌不可兼得,也就是隐私性跟可用性難以兼顧。如果想要AI系統發揮作用,就可能需要犧牲隐私。但是,在大量真實場景中,如果做不到同時兼顧隐私和可用性,會導緻很多AI落地的困境。 

随着對資料安全和重視和隐私保護法案的出台,曾經粗放式的資料共享受到挑戰,各個資料擁有者重新回到資料孤島的狀态。同時,網際網路公司也更加難以收集和利用使用者的隐私資料,資料孤島反而成為了常态。如果希望更好的利用資料,就必須在滿足隐私保護和資料安全的前提下,在不同的組織、公司與使用者之間進行資料共享。 

為了解決這一問題,國内外不少科技公司先後推出了解決方案,比如谷歌推出的聯邦學習、螞蟻金服提出的共享智能等。本文,InfoQ對螞蟻金服機器學習算法中台負責人周俊進行了采訪,了解共享智能如何解決金融領域的資料共享問題。

共享智能與聯邦學習的差別

在介紹技術實踐之前,我們需要花些時間厘清共享智能與聯邦學習之間的差別,以友善讀者了解本文的讨論範圍。

目前,業界解決隐私洩露和資料濫用的資料共享技術路線主要有兩條。一條是基于硬體可信執行環境(TEE:Trusted Execution Environment)技術的可信計算,另一條是基于密碼學的多方安全計算(MPC:Multi-party Computation)。

TEE字面意思是可信執行環境,核心概念為以第三方硬體為載體,資料在由硬體建立的可信執行環境中進行共享。目前在生産環境可用的TEE技術,比較成熟的基本隻有Intel的SGX技術,基于SGX技術的各種應用也是目前業界的熱門方向,微軟、谷歌等公司在這個方向上都有所投入。

從技術到落地,詳解螞蟻金服共享智能實踐共享智能與聯邦學習的差別螞蟻金服共享智能應用實踐基于TEE的共享學習基于MPC的共享學習對金融領域的重要意義落地困境如何解決?結束語專家介紹

MPC(Multi-party Computation,多方安全計算)一直是學術界比較火的話題,但在工業界的存在感較弱,之前都是一些創業小公司在這個方向上有一些探索,例如Sharemind,Privitar,直到谷歌提出了基于MPC的在個人終端裝置的“聯邦學習”(Federated Learning)的概念,使得MPC技術一夜之間在工業界火了起來。

從技術到落地,詳解螞蟻金服共享智能實踐共享智能與聯邦學習的差別螞蟻金服共享智能應用實踐基于TEE的共享學習基于MPC的共享學習對金融領域的重要意義落地困境如何解決?結束語專家介紹

目前,業界針對資料共享場景,利用如上技術路線推出了一些解決方案,包括隐私保護機器學習PPML、聯邦學習、競合學習、可信機器學習等,不同解決方案采用的技術路線互相也會有一些重疊。周俊表示,螞蟻金服提出的共享智能(又稱:共享機器學習)結合了TEE與MPC兩條路線,同時結合螞蟻的自身業務場景特性,聚焦于金融行業的應用。

簡單來說,共享智能的概念,或者說理念,是希望在多方參與且各資料提供方與平台方互不信任的場景下,能夠聚合多方資訊進行分析和機器學習,并確定各參與方的隐私不被洩漏,資訊不被濫用。

關于共享智能與聯邦學習的差異,周俊表示,目前,聯邦學習涉及兩個不同的概念:

第一種是谷歌提出的聯邦學習,旨在解決雲 + 端訓練過程中,端上隐私不暴露的問題,這是一個 To C + 資料水準切分的場景。除了保護端上的資料隐私外,其重點還在于如何解決訓練過程中,端自身可能掉線等問題。 

第二種是國内提出的聯邦學習,主要用于解決 To B 場景中各方隐私不洩露的問題,既可應用于資料的水準切分場景,也可應用于資料垂直切分的場景。它們側重于不同的資料共享場景,技術上有不同的側重點。 

2019年,一篇由多個知名大學和企業撰寫的關于聯邦學習的綜述文章《Advances and Open Problems in Federated Learning》,對聯邦學習的定義和描述是比較清晰的。首先,聯邦學習的架構是由一台中心伺服器和多個計算節點構成,中心伺服器會參與到整個計算過程,是以不适用于一些不需要中心伺服器節點的應用場景(文章中将這種模式稱為Fully Decentralized Distributed Learning )。此外,聯邦學習要求原始資料不能出域,這也限制了其可以使用的技術方案,而共享智能是從問題出發,作為一個新興的技術領域,在面臨目前各種複雜場景的時候,很難用一套技術方案去解決所有問題,是以共享智能的解決方案中不僅包含有類似聯邦學習的有中心伺服器參與計算的模式,也包含完全去中心化的方案,還有基于TEE的共享學習方案。

在不同的場景下,不同的方案各有優劣。周俊表示,目前,資料共享下的機器學習仍然還有很多待突破的地方,我們并不糾結于解決問題的是聯邦學習還是去中心化的分布式學習,或者是其它任何技術方案,最終還是希望大家能夠合力解決這個業界難題。

螞蟻金服共享智能應用實踐

2016年開始,螞蟻金服就開始投入到共享智能的研究中,出發點是為了解決業務中遇到的問題,比如機構與螞蟻金服的資訊協同問題。基于此,螞蟻金服調研了差分隐私、矩陣變換等多種方案,确定了目前的技術大方向。 

縱觀整個研發階段,周俊認為大緻可以分為探索期、技術攻堅和技術應用三個時期。

  • 探索期:對業界相關技術進行全面摸底,并設計了上百個方案,逐一驗證可行性,并在真實場景反複錘煉技術,實作從0到1的突破;
  • 技術攻堅期,經過前面的摸索,确定了幾個可能适用于工業界的方案,進一步在大規模工業場景下,對這些方案的安全性和性能等逐一優化提升;
  • 技術應用期,開始大規模在真實業務場景中應用,直面業務需求,進一步淬煉技術,接受市場檢驗。

在共享智能的技術細節上,周俊表示,可以按照TEE和MPC兩條路線來了解。

基于TEE的共享學習

螞蟻共享學習底層使用Intel的SGX技術,并可相容其它TEE實作。下面着重介紹一下

基于TEE的共享學習中的一種資料加密出域的方案,目前,這種方案已支援叢集化的模型線上預測和離線訓練。

1. 模型線上預測

預測通常是線上服務。相對于離線訓練,線上預測在算法複雜度上面會相對簡單,但是對穩定性的要求會更高。提升線上服務穩定性的關鍵技術之一就是叢集化的實作——通過叢集化解決負載均衡,故障轉移,動态擴容等穩定性問題。

但由于SGX技術本身的特殊性,傳統的叢集化方案在SGX上無法工作。

為此,螞蟻金服設計了如下分布式線上服務基本架構:

從技術到落地,詳解螞蟻金服共享智能實踐共享智能與聯邦學習的差別螞蟻金服共享智能應用實踐基于TEE的共享學習基于MPC的共享學習對金融領域的重要意義落地困境如何解決?結束語專家介紹

該架構與傳統分布式架構不同的地方在于,每個服務啟動時會到叢集管理中心(ClusterManager,簡稱CM)進行注冊,并維持心跳,CM發現有多個代碼相同的Enclave進行了注冊後,會通知這些Enclave進行密鑰同步,Enclave收到通知後,會通過遠端認證互相确認身份。當确認彼此的Enclave簽名完全相同時,會通過安全通道協商并同步密鑰。

2. 模型離線訓練

模型訓練階段,除了基于自研的訓練架構支援了LR和GBDT的訓練外,螞蟻金服還借助于LibOS Occlum(螞蟻主導開發,已開源)和自研的分布式組網系統,成功将原生Xgboost移植到SGX内,并支援多方資料融合和分布式訓練。通過上述方案,不僅可以減少大量的重複性開發工作,并且在Xgboost社群有了新的功能更新後,可以在SGX内直接複用新功能,無需額外開發。目前,螞蟻金服正在利用這套方案進行TensorFlow架構的遷移。

此外,針對SGX當下诟病的128M記憶體限制問題(超過128M會觸發換頁操作,導緻性能大幅下降),螞蟻金服通過算法優化和分布式化等技術,大大降低記憶體限制對性能的影響。

上述方案在多方資料共享學習訓練流程如下:

1. 機構使用者從Data Lab下載下傳加密工具

2. 使用加密工具對資料進行加密,加密工具内嵌了RA流程,確定加密資訊隻會在指定的Enclave中被解密

3. 使用者把加密資料上傳到雲端存儲

4. 使用者在Data Lab的訓練平台進行訓練任務的建構

5. 訓練平台将訓練任務下發到訓練引擎

6. 訓練引擎啟動訓練相關的Enclave,并從雲端存儲讀取加密資料完成指定的訓練任務。

從技術到落地,詳解螞蟻金服共享智能實踐共享智能與聯邦學習的差別螞蟻金服共享智能應用實踐基于TEE的共享學習基于MPC的共享學習對金融領域的重要意義落地困境如何解決?結束語專家介紹

此外,針對有一些資料提供方不希望資料出域的場景,螞蟻還提供了使用TEE對訓練過程中的參數資訊進行加密的技術方案,篇幅原因,就不在這裡展開了。

基于MPC的共享學習

螞蟻基于MPC的共享學習架構分為三層:

  • 安全技術層:安全技術層提供基礎的安全技術實作,比如在前面提到的秘密分享、同态加密、混淆電路,另外還有一些跟安全密切相關的,例如差分隐私技術、DH算法等;
  • 基礎算子層:在安全技術層基礎上,螞蟻金服會做一些基礎算子的封裝,包括多方資料安全求交、矩陣加法、矩陣乘法,以及在多方場景下,計算sigmoid函數、ReLU函數等;同一個算子可能會有多種實作方案,用以适應不同的場景需求,同時保持接口一緻;
  • 安全機器學習算法:有了基礎算子,就可以很友善的進行安全機器學習算法的開發,這裡的技術難點在于,如何盡量複用已有算法和已有架構,螞蟻金服在這裡做了一些有益的嘗試,但也遇到了很大的挑戰。
從技術到落地,詳解螞蟻金服共享智能實踐共享智能與聯邦學習的差別螞蟻金服共享智能應用實踐基于TEE的共享學習基于MPC的共享學習對金融領域的重要意義落地困境如何解決?結束語專家介紹

目前,這套基于MPC的共享學習架構已支援了包括LR、GBDT、DNN等頭部算法,後續一方面會繼續根據業務需求補充更多的算法,同時也會為各種算子提供更多的技術實作方案,以應對不同的業務場景.

基于MPC的多方資料共享學習訓練流程如下:

1. 機構使用者從Data Lab下載下傳訓練服務并本地部署

2. 使用者在Data Lab的訓練平台上進行訓練任務的建構

3. 訓練平台将訓練任務下發給訓練引擎

4. 訓練引擎将任務下發給機構端的訓練伺服器Worker

5. Worker加載本地資料

6. Worker之間根據下發的訓練任務,通過多方安全協定互動完成訓練任務

從技術到落地,詳解螞蟻金服共享智能實踐共享智能與聯邦學習的差別螞蟻金服共享智能應用實踐基于TEE的共享學習基于MPC的共享學習對金融領域的重要意義落地困境如何解決?結束語專家介紹

訓練引擎的具體架構如下: 

從技術到落地,詳解螞蟻金服共享智能實踐共享智能與聯邦學習的差別螞蟻金服共享智能應用實踐基于TEE的共享學習基于MPC的共享學習對金融領域的重要意義落地困境如何解決?結束語專家介紹

其中Coordinator部署于螞蟻平台,用于任務的控制和協調,本身并不參與實際運算。Worker部署在參與多方安全計算的機構,基于安全多方協定進行實際的互動計算。

使用者在模組化平台建構好的訓練任務流會下發給Coordinator的Task Flow Manager,Task Flow Manager會把任務進行拆解,通過Task Manager把具體算法下發給Worker端的Task Executor,Task Executor根據算法圖調用Worker上的安全算子完成實際的運算。

利用這套方法,可以做到資料不出域就可以完成資料共享,訓練工具可以部署在本地的伺服器。

對金融領域的重要意義

無論是聯邦學習還是共享智能,很多技術實踐都優先選擇了在金融領域落地。相較于其他領域,金融領域對資料的管控更為嚴格,對資料隐私更加重視,是以也是最需要通過技術手段解決資料孤島問題的領域。

周俊表示,在金融領域,共享智能側重在解決“開放”這個大領域中的問題,比如聯合營銷、聯合風控等,這兩個場景相對更容易看到具體實施效果。相比其他領域,金融領域對資料保護看的更重,資料的流轉在該領域中更難,是以采用共享智能技術,可以做到更好的隐私保護,實作資料可用不可見,是一個關鍵的助推器。 

舉例來說,通過資料融合,螞蟻金服的共享智能幫助中和農信大幅度提高了風控性能,把原來傳統的線下模式,變成線上自動過審模式,完成授信隻需5分鐘,8個月累計放款31.9億,授信成功人數44萬人,業務覆寫20多個省區,300多縣城,10000多個鄉村。

落地困境如何解決?

雖然該技術的落地對金融企業有着重要意義,但很多公司在實際的落地過程中遇到了問題,可能是技術原因,也可能是處于對結果的擔憂。

采訪中,周俊表示,共享智能技術屬于交叉領域,涉及到密碼學、機器學習等技術,有一定的門檻,企業部署這樣的技術,需要結合自身技術能力以及業務需求來綜合考量。當然,螞蟻金服也在積極探索降低企業落地門檻的技術和方案,随着越來越多的企業一起參與進來,相信不遠的将來,共享智能的技術落地将不再會有太高的門檻。

此外,螞蟻金服的共享智能是一個開放的生态,希望更多的企業能參與進來一起共建,而不需要重新再去走螞蟻金服之前走過的很多彎路。金融企業可以根據自身業務發展的需要,及時跟進業界最新進展,進而選擇更合适的技術和合作方來解決業務難題。能夠讓業務赢,解決業務痛點,是這裡面最重要的因素。

更為重要的是,共享智能解決的是信任問題,是以大規模落地的前提是使用者對共享智能有一個全面的認知和信任。螞蟻金服通過立标杆、推标準、定向開源等方式來逐漸建立使用者對共享智能的信任。目前,螞蟻金服已經在智能信貸領域的多家機構落地了标杆型業務場景。同時,牽頭在推進共享智能的行業标準、聯盟标準、國家标準以及IEEE、ITU-T等國際标準。周俊表示,我們相信,随着技術和使用者心智的同步發展,共享智能的大規模落地将會很快發生,而最先受益的,是資料驅動的、并且對隐私保護有強需求的金融科技和醫療科技行業。

結束語

面向未來,周俊表示,重點還是繼續推動全行業共同解決資料共享問題。螞蟻金服會逐漸開放技術能力,賦能行業中有需求的企業,同時會聯合更多機關,包括研究機構、企業等共同推進解決技術難題。最終希望全行業能夠共同打造一個可以在保護使用者隐私和防止資料濫用的前提下實作資料互聯互通的共享智能網絡,更好的實作普惠金融。

專家介紹

周俊,負責螞蟻金服機器學習算法中台,包括共享機器學習、圖機器學習、自動機器學習、對抗機器學習等方向。在阿裡8年多時間裡,開發過阿裡雲-飛天分布式作業系統、大資料處理平台MaxCompute以及人工智能平台PAI,做過廣告、推薦、搜尋等CTR預估方面的工作,目前聚焦在将智能技術更好應用在使用者增長、風險智能等核心場景上。

繼續閱讀