天天看點

隐私與AI兼得,螞蟻金服是如何做到的?

螞蟻金服在過去十五年重塑支付改變生活,為全球超過十二億人提供服務,這些背後離不開技術的支撐。在 2019 杭州雲栖大會上,螞蟻金服将十五年來的技術沉澱,以及面向未來的金融技術創新和參會者分享。我們将其中的優秀演講整理成文并将陸續釋出在“ 螞蟻金服科技”公衆号上,本文為其中一篇。

在人工智能時代,資料是AI領域的石油,如果沒有資料很難将AI更好的落地。但是資料孤島阻礙了資料的擷取和利用,螞蟻金服在三年前開始布局隐私保護機器學習,緻力于在保護資料安全和隐私保護的前提下進行機器學習,我們稱之為共享智能。我們之前分享了共享智能的理念和原理,今天,我們想聊聊共享智能的發展與應用趨勢。

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

舉幾個例子。

首先是貸款風控,使用者想要買房去銀行貸款,在銀行A可能被判定為“壞人”,沒有辦法給他進行貸款,因為這個機構持有這個人部分資料,同樣的使用者到了機構B,這個機構B基于它擁有的部分資料,有可能會給予他貸款,這樣沖突的情況比比皆是,皆是因資料不通導緻。

在智慧醫療領域,有些罕見病在每個醫院的案例都不多,如果我們能把各個醫院的案例共享起來,就能獲得更多的樣本資料,進而可以利用AI進行更準确的診斷,但是這個案例裡面技術不是最優先的,對醫院來說,它有責任保護患者的隐私,如何確定在共享案例的同時,不洩漏使用者的隐私才是首先要解決的。

資料孤島的問題會給AI落地和應用帶來很多類似的難題。

現實環境中,資料在這個圖中是不通的,有的地方可能有一些短暫的連結,絕大部分資料在這個圖中處于斷開狀态。我們的目标是想打通資料孤島,用技術的方法解決技術的問題。通過技術保護資料安全的情況下,實作資料的共享和價值的傳遞。

共享智能:可用不可見

對于共享智能,我們希望達到的目标是資料可用不可見,在多方參與且各資料提供方與平台方互不信任的場景下,能夠聚合多方資訊進行機器學習,并確定各參與方的隐私不被洩漏,資料不被濫用。

為了達到這一目标,我們使用了很多業界已有的技術,比如學術圈一直在研究的差分隐私、很多大資料廠商在探索的可信執行環境、随着計算力和硬體技術的提升+密碼學突破而廣受重視的多方安全計算等。還有一些情況,目标資料比較少,但源領域資料較多,我們采用遷移學習的方法去做資料共享,這個也屬于我們大的技術範疇。

具體來看的話,第一種方案是可信執行環境的方案,主要依賴中間的硬體級的保險箱Enclave,雙方通過一些密碼學的機制,把資料進行加密,加密之後隻有在密碼箱裡面才能解密,解密以後做各式各樣的計算,因為密碼箱是第三方可信的密碼箱,大家不信任彼此的情況下,信任密碼箱即可,這樣在資料隐私不會洩露的情況下,去做各式各樣AI的算法。

這種方案依賴可信硬體,通過資料加密的方式,集中傳送到可信的平台。對于一些機構,本身就已經上雲,把所有的東西都存放在雲上面,所有的技術在雲上面部署,那麼采用這種方式非常快速便捷,同時又能達到很好的隐私保護的效果。

第二種方案是偏軟體級别的方案,我們在中間把資料做相應的處理後再進行計算。比如說像秘密分享的技術,通過把資料拆分完以後,幾方通過發送随機數來完成運算,然後可以完成各式各樣AI的計算和模型;還有像同态加密這樣的方法,在加密後的空間裡面做相應的運算來完成AI的計算,中間有一個控制子產品來共同完成學習的目标。這個方式本身不涉及到硬體,是偏軟體+密碼學的方案,中間出去的是随機數/加密中間結果,目前業界隐私+AI結合的方向上,用這個方案相對來說比較多。

星雲 Nebula:共享智能網絡

共享智能需要多方參與,我們設計了星雲Nebula共享智能網絡架構,對于螞蟻金服而言,希望跟合作方共同打造這樣的共享智能網絡。

網絡中存在各式各樣的計算節點,能夠在某個管理平台中進行觸發實作AI計算。這個共享智能網絡,可以用不同的技術完成共享智能的目标,比如,建構聯合營銷網絡,節點之間可任意組網,采用多方安全計算技術來實作聯合營銷,同時管理節點可以部署在任何的地方;對于某些機構而言,可能沒有很強的AI能力和多方計算能力,那他們可以依賴于雲這樣的技術,将資料放在可信執行環境中,去參與建設這樣的網絡,通過這樣的共享智能技術來解決AI落地最後一公裡的難題。

我們整個計算節點的架構如上圖,最底層跟正常環境比較相似,左邊是各式各樣的可信執行環境,右邊是正常的CPU、GPU環境。上面會有統一的API層來屏蔽這些不同的細節。

再往上面,會有本地的計算,這個計算本身會跟通用的開源架構稍有差異,我們會把現在流行的版本改成安全的版本,比如安全的XGBoost。中間做MPC的時候,我們會提供各式各樣的技術,混淆電路、OT等等這樣的技術,最頂層提供一些可視化跟互動式的接口,普通的使用者通過這樣的調用就可以完成複雜的多方計算的操作。同時支援各種保護隐私的安全模型推斷。

我們希望通過這樣的架構完成共享智能技術,并且打造了可視化的界面,采用拖拽式的方式就可以快速高效完成整個AI計算的建構。

上述共享智能架構現在已經達到了較好的完備性、易用性和穩定性的目标,在很多的地方已經進行了落地。在完備性方面,我們實作了功能完備和場景完備,目前主要是支援風控和其它AI典型場景,裡面的算法比較全面,涵蓋了線性模型、樹模型、深度學習、圖神經網絡等各個方向;在易用性方面,我們希望能夠更好的推廣這種模組化技術,同時又能“屏蔽”一些底層技術(可信執行環境、多方安全計算等),降低大家學習使用的成本;在穩定性方面,我們實作了共享智能計算的叢集化,并且支援遠端運維。

我們已經将共享智能上線到大資料智能平台上,下面這個demo,是一個多方安全計算的AI模組化展示。

前面預處理部分跟正常的AI模組化看起來一樣,通過拖拽式操作,把資料進行了預處理以後,送到共享智能模組化中,會産生AI運算的結果。通過這種方式能夠大幅度降低新技術的使用門檻,友善業務方使用。

螞蟻金服在共享智能領域裡建設了三年多,釋出論文超過10篇,獲得專利超過80餘項,在标準立項上我們在IEEE共享智能和ITU-T MPC國際标準、CCSA共享智能行業标準以及AIOSS / AIIA共享智能聯盟标準方面都在同步推進,也獲得了一些創新獎項。

共享智能落地案例

接下來分享三個典型落地案例。

一個是在安全風控領域,聯合生态夥伴來建立安全風控網絡。生态夥伴使用前面介紹的可信執行環境技術,把資料加密傳輸到網絡中共建這個模型,打擊虛假交易、團夥作案等,大幅度提升風控準确率,實作風控網絡的淨化。通過這樣的風控網絡平台,使得商家每天新增很多的交易,同時降低資損。

第二個是中和農信,我們通過資料融合大幅度提高風控性能,把原來傳統的線下模式,變成線上自動過審模式,完成授信隻需5分鐘,8個月累計放款31.9億,授信成功人數44萬人,業務覆寫20+省區,300+縣城,10000+個鄉村,助力實作農村普惠金融。

第三個是與江蘇銀行進行的信貸聯合風控,還記得我們前面的例子嗎?因為資料不完整,導緻風控決策錯誤,現在通過共享智能技術,雙方可以完成共同的模型建構,通過這樣的機制實作聯合風控,使得效果有大幅度提升。同時在這個過程中,使用者的資料和隐私得到了有效保護。

總的來說,我們想建構開放的共享智能網絡,希望有更多的夥伴、機構參與進來,一起完成建設,打破資料孤島,助力AI技術更好的落地和應用。

繼續閱讀