close
機器之心發布

機器之心編輯部

數據流通行業進入密態時代,可信隱私計算框架可滿足各場景不同需求。


7 月 4 日,螞蟻集團宣布面向全球開發者正式開源可信隱私計算框架 「隱語」。

隱語是螞蟻集團歷時 6 年自主研發,以安全、開放為核心設計理念打造的可信隱私計算技術框架,涵蓋了當前幾乎所有主流隱私計算技術。

據介紹,隱語內置 MPC、TEE、同態等多種密態計算虛擬設備,提供多類聯邦學習算法和差分隱私機制。通過分層設計和開箱即用的隱私保護數據分析、機器學習等功能,有效降低了開發者應用的技術門檻,能助力隱私計算應用於 AI、數據分析等領域,解決隱私保護和數據孤島等行業痛點。

經過螞蟻集團大規模業務以及外部金融、醫療等場景的成功應用,隱語兼顧了安全和性能。在發布會中,螞蟻集團介紹了隱語的諸多特性。

我們需要怎樣的隱私計算開源框架?

隱私計算是一個新興的跨學科技術領域,涉及密碼學、機器學習、硬件、BI 分析等,包括多方安全計算(MPC)、聯邦學習(FL)、可信執行環境(TEE)、可信密態計算(TECC)、同態加密、差分隱私等多種技術路線,涉及眾多專業技術棧。

作為兼顧數據安全和數據流通的關鍵技術,隱私計算可保證數據提供方不泄露原始數據的前提下,對數據進行分析計算,實現數據在流通與融合過程中的 「可用不可見」「可算不可識」。

業界根據過去幾年的實踐經驗發現,隱私計算技術方向多樣,不同場景下有其各自合適的技術解決方案,且涉及領域眾多,需要多領域專家共同協作。對於從業者來說,隱私計算學習曲線很高,非隱私計算背景的用戶使用困難。

在實際技術開發中,隱私計算解決方案往往是多個技術路線的組合,過程中涉及到很多重複性的工作。比如,如果開發者想使用聯邦學習,就要使用 A 框架來做研發;如果想使用多方安全計算(MPC),那麼又要使用 B 框架來做研發,如果想使用可信硬件,還要去熟悉所選硬件的架構才能真正開始使用。但現實的業務需求是,經常需要多個技術一起來使用,那麼這時候就會出現繁瑣、重複的開發工作。本是一項技術創新,卻帶來了技術 「煙囪」 的困擾。

更致命的是,在交叉技術路線的解決方案中,一個底層新技術的引入,會牽動上層所有工作,拖累技術迭代。引入一項新技術,也必定會改變上層很多東西,對於用戶來說,所有的部署可能都要重複體驗一遍,體感非常不好。

目前開源的隱私計算框架,如 TensorFlow Federated(TFF)、FATE、FederatedScope、Rosetta、FedLearner、Primihub 等幾乎都是針對單個隱私計算路線。這些框架為隱私計算相關社區研究和工業應用都提供了一定支持。然而,實際場景中日益多樣化的應用需求,以及技術本身的局限性,給現有隱私計算框架帶來了新的挑戰。

例如,首個提出 「聯邦學習」 技術的科技巨頭谷歌,也是 TensorFlow 的打造者,最近加大對一款新的平台 JAX 的投入,這一舉動引起業內猜測:TensorFlow 將逐漸被取代。

對此谷歌的回應是:

近年來,我們發現,單一通用框架往往無法適用於所有場景 —— 尤其是生產和前沿研究的需求經常發生衝突。

破解隱私計算開源框架難題

螞蟻集團的隱語呼應了行業現狀,開闢了一條通往隱私計算通用化之路。

隱語框架負責人、螞蟻集團隱私智能計算部總經理王磊表示,螞蟻從 2016 年開始做隱語,純粹是技術驅動的前瞻性布局,是一個公司內部孵化的實驗品。

隱語技術演進從矩陣變換開始,到可信執行環境(TEE),再到多方安全計算、聯邦學習等,通過內外部應用場景中淬鍊,性能上已能夠支持較大規模數據集。在金融、醫療等領域也有成功的大規模落地經驗、支持了浦發銀行跨機構數據流通、浙江某三甲醫院醫保 DRG(Diagnosis Related Group,疾病診斷相關分組)改革,獲得過中國信通院頒發的 「星河案例」 獎,CCF 科學技術獎科技進步優秀獎、中國網絡空間安全協會 「數據安全典型實踐案例」,入選了工信部 2021 年大數據產業發展試點示範項目名單等。

6 年技術積澱,形成了全面技術體系和成熟落地經驗後,正式開源的隱語,優勢是什麼?

隱語的設計目標是使數據科學家和機器學習開發者可以非常容易地使用隱私計算技術進行數據分析和機器學習建模,而無需了解底層技術細節。其總體架構自底向上一共分為五層:


最底層是資源管理層。主要承擔了兩方面的職責。第一是面向業務交付團隊,可以屏蔽不同機構底層基礎設施的差異,降低業務交付團隊的部署運維成本。另一方面,通過對不同機構的資源進行統一管理,解決業務規模化後的高可用和穩定性問題。

往上是明密文計算設備與原語層。提供了統一的可編程設備抽象,將多方安全計算 (MPC)、同態加密 (HE)、可信硬件 (TEE) 等隱私計算技術抽象為密態設備,將單方本地計算抽象為明文設備。同時,提供了一些不適合作為設備抽象的基礎算法,如差分隱私 (DP)、安全聚合 (Secure Aggregation) 等。未來當有新的密態計算技術出現時,可以通過這種鬆耦合的設計集成進隱私框架。

繼續往上是明密文混合調度層。這層一方面對上層提供了明密文混合編程的接口,同時也提供了統一的設備調度抽象。通過將上層算法描述為一張有向無環圖,其中節點表示某個設備上的計算,邊表示設備之間的數據流動,即邏輯計算圖。然後由分布式框架進一步將邏輯計算圖拆分並調度至物理節點。在這一點上,隱語借鑑了主流的深度學習框架,後者將神經網絡表示為一張由設備上的算子和設備間的張量流動構成的計算圖。


繼續是 AI & BI 隱私算法層。這一層的目的是屏蔽掉隱私計算技術細節,但保留隱私計算的概念,其目的是降低隱私計算算法的開發門檻,提升開發效率。有隱私計算算法開發訴求的同學,可以根據自身場景和業務的特點,設計出一些特化的隱私計算算法,來滿足自身業務和場景對安全性、計算性能和計算精度的平衡。在這一層上,隱語本身也會提供一些通用的算法能力,比如 MPC 的 LR/XGB/NN,聯邦學習算法,SQL 能力等。

最頂層是用戶界面層:隱語的目標並不是做一個端到端的產品,而是為了讓不同的業務都能夠通過快速集成隱語而具備全面的隱私計算能力。因此隱語會在最上層去提供一層比較薄的產品 API,以及一些原子化的前後端 SDK,去降低業務方集成隱語的成本。

集齊當前主流隱私計算技術並供靈活組裝以滿足場景化需求,是隱語呈現的最直觀的優勢。最核心的是,在這套框架下,開發者可以有多樣的選擇,通過隱語在他們所擅長的領域做實驗、做迭代,能夠更低成本、更快速地去做技術驗證。同時驗證完的技術也可以被別的開發者在別的技術方向使用。王磊認為,隱語更多像是一個開發者的平台,就是把這些不同特長的開發者攢到一起,是很符合開源精神的。

詳細拆解來看,本次隱語首個開源版本的亮點,如圖中的點亮模塊。


1. MPC 設備。支持大部分 Numpy API,支持自動求導,提供 LR 和 NN 相關的 demo,支持 pade 高精度定點數擬合算法,支持 ABY3、 Cheetah 協議。用戶可以採用傳統的算法編程模式,在不了解 MPC 協議的情況下開發出基於 MPC 協議的 AI 算法;

2. HE 設備。支持 Paillier 同態加密算法,向上層提供 Numpy 編程接口,用戶可以使用 Numpy 接口做矩陣加法或者明密文矩陣乘法運算。且實現了與 MPC 密態設備之間的數據可流轉;

3. 差分隱私安全原語。實現了一些差分隱私噪聲機制、安全噪聲生成器、隱私開銷計算器;

4. 明密文混合編程。支持中心化編程模式,使用 @device 標記構建明文和密文設備混合計算圖,基於計算圖進行並行、異步任務調度;

5. 數據預處理。提供水平場景下的數據標準化、離散化、分箱功能,提供垂直場景下的相關係數矩陣、WOE 分箱功能。無縫對接已有的 dataframe,提供和 sklearn 一致的使用體感;

6. AI & BI 隱私算法 - 多方安全計算。提供水平場景下的 XGBoost 算法、新增垂直場景下的 HESS-LR 算法,並結合差分隱私增強了對拆分學習的隱私保護;

7. AI & BI 隱私算法 - 聯邦學習。提供聯邦學習模型構建和包括 SecureAggregation,MPC Aggregation, PlaintextAggregation 在內的多種安全模式的梯度聚合,用戶只需要在模型構建時給出參與方 list 和聚合方法,之後的數據讀取,預處理到模型訓練的體驗和傳統明文編程幾乎一致。

總結來看,主要如下:

對於算法 / 模型研發:使用隱語提供的編程能力,可以方便快捷的將更多算法和模型遷移過來,並得到隱私保護增強。
對於底層安全共建:可將底層密碼 / 安全研究成果嵌入隱語,完善密態設備的能力、性能和安全,轉化實際業務應用。
隱語也將在後續的開源版本更新中,逐步點亮更多模塊。

用技術經驗趟出來的絕活

王磊介紹說,隱語的開發過程,經歷了多年技術上的沉澱,對技術有了非常深刻的理解之後,才知道哪些東西是通用的、不變的,是需要去沉澱、抽象的東西。這其實就是對技術歸納和演繹,沒有需求的時候,就很難去抽象具備共性的內容是什麼。

比如說,做 MPC 開發的時候,經過一段時間試驗,隱語團隊發現其實 MPC 和聯邦學習是相通的。他們抽象出來共同的點就是明密文混合計算。這個發現,也成為了隱語的創新點之一,即密態計算設備 SPU。

SPU 是 Secretflow Processing Unit 的簡稱,作為隱語平台的密態計算單元,為隱語提供安全的計算服務,處在隱語的如下標註位置:


近些年,密態計算(MPC/HE)在算力上都巨大的進步,但是密態算力和 AI 的算法需求難以匹配。在算力無法匹配算法的時候,一個直接的辦法就是 「明密文混合」,用來做安全和性能的平衡。比如聯邦學習,將算法的某一個子步驟使用安全計算實現,犧牲局部安全性以換取更高的性能。

隱語提供了非常自由的明密文混合編程範式,不限制明文的引擎,也不限制密文引擎,開發者可以用自己熟悉的框架開發,然後標記其中的某一部分用明文引擎跑,另一部分用 SPU 跑。比如:

圖中 MPC Device 就是 SPU 實現的。

作為對比,從安全和性能這種的角度,無論 TFE/CrypTen/SPDZ 等都很難進行這種平衡。

SPU 被設計成部署模式透明的,不用修改任何一行代碼,開發者的模型都可以在上述任何一種部署場景上被安全且正確的執行。並且(相對於基於 AI 平台的隱私計算框架)SPU 運行時非常的輕量級,不需要 Python runtime,可以方便的進行部署和集成。

作為 AI 開發者,不需要任何安全背景,就可以將現有的模型安全的應用到多方數據上。

作為安全開發者,不需要任何 AI 背景,僅僅實現安全計算的基本算子,就可以支持多種前端框架。並且,可以方便的部署和運維,在安全和性能之間折中,找到最佳的落地方案。

王磊還強調,隱私計算技術開發門檻非常高,要集成隱語,不是一個團隊單獨能完成的事,有非常多的團隊都參與了共建。在螞蟻集團內部,它已經成為了一個開放的架構,是一套內部開源的系統。「現在我們希望把隱語開源到外部,能夠讓外部的團隊也一起來進行共建。」

在正式開源之前,隱語也做了一些定向開源工作,如與阿里巴巴雙子座實驗室獵豹協議的共建。

獵豹協議是目前業界最快的兩方安全計算協議,獵豹把它的協議貢獻到了隱語中,實現了非常深度的協作。

當前業界的隱私計算需求場景以兩方計算居多:假如 Alice(數據需求方)希望藉助 Bob(數據源)的數據來增強自己的業務能力,但是 Bob 又不想直接給出自己的數據。因此如何高效的實現安全兩方計算(2PC),便成為解決這一問題的關鍵。

阿里安全雙子座實驗室為解決這一問題研發了 Cheetah(獵豹)安全兩方計算框架,在 2PC 的多個底層瓶頸上都取得了突破,讓兩方計算的整體性能取得了大幅提升,最快可以比此前的最好成果 - 微軟 CryptFLOW2 (CCS20)提升 5 倍以上。

獵豹已在隱語中實現了更好的優化(相較於公開代碼支持 30-40 比特的秘密分享,獵豹在隱語中實現的是支持如 64 比特的更大秘密分享)以及一些未在論文中公開的算法。最重要的是這種實現對隱語上層業務邏輯無感知,即隱語已有邏輯代碼無需改動以適配。

通過這樣的協作,雙子座實驗室協議可以按照一個簡單的對接接口實現到隱語中,能被上層隱語所有的算法使用,不需要從上到下,所有東西都去重現,能夠非常快的發揮價值。對於隱語來說,通過集成系統,可以對上層已有的所有算法不做任何改動,大幅提升算法的性能。這也是隱語的另一個創新亮點。

開源,「隱語」 做好了充分準備

談到為什麼要把這麼強大的一套框架開源,王磊的解釋是,開源對於研究界、產業界來說都是一件意義深遠的事的事。

對於研究機構來說,可以利用開源的隱私計算框架,在上面做一些實驗和研究,產出研究結果和論文。從推動整個隱私計算技術發展的角度來說,單靠一家公司,其實是很難帶動行業共同進步的。在這方面,隱語其實做了比較多的考慮,怎麼讓更多不同背景的人進來做貢獻。面對不同背景的用戶,在整個架構的分層上做了非常多的設計,提供一個更適合他們做開發和接入的模式。雖然這件事情很難,但我們還是希望能夠邁出這一步。

而對於技術本身來說,王磊認為,在閉源模式下,對技術的判斷、真實性、以及它的實現細節,其實只能從對外的文章判斷。更重要一點,它安全性和性能的判斷,一方面要有理論的驗證,其次具體實現是不是跟理論有差距,從這個角度來說,閉源的情況下技術做到什麼程度是很難判斷的,將帶來更多的損失。

「我們希望能夠通過開源,能夠去創造更多的場景」。隱私計算應用目前更多是集中在金融風控場景,對其他場景、比如醫療、能源、工業等也會有應用需求。當前做隱私計算的專業人員其實不多,如果還是各自為戰,對整個行業來說是一個非常大的浪費。我們還是希望把有限的、非常強的技術人員聚合,形成合力去做出一些真正的技術突破。

王磊表示,螞蟻集團一直認為開源是一件非常慎重的事情,其不僅僅是把代碼公開出去,更重要的是希望通過良好的架構設計讓更多的人加入其中。基於在隱私計算各個方向上的沉澱和積累,結合開源共建的目標,螞蟻能夠確保開源的 「隱語」 是一個高質量、可擴展的技術框架,也希望能夠吸引更多的優質的開發者和用戶能夠加入到隱語的空間中。

更多信息可訪問 SecretFlow。

文檔學習網站:https://secretflow.readthedocs.io

開源地址:

https://github.com/secretflow
https://gitee.com/secretflow

©THE END

轉載請聯繫本公眾號獲得授權

投稿或尋求報道:content@jiqizhixin.com

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()