隱語開源首個工業級多方安全數據分析系統SCQL:像寫SQL一樣「易用」隱私計算
大模型的興起,讓數據作為新型生產要素的重要性被再一次深刻認知,而隱私計算作為平衡數據利用和數據安全的重要路徑,學術價值和應用價值進一步凸顯。近年來,在政策驅動和市場需求的雙重作用下,隱私計算技術和產業穩步發展,在金融、通信、互聯網、政務、醫療等諸多領域得到應用。但整體看,由于技術門檻和建設成本等問題,真正規模化的生產落地應用有,但數量非常少。
3 月 29 日,首屆隱語開源社區開放日上,隱語 SecretFlow 開源框架發布了新版本,推出了一項業界期待的重要功能——多方安全數據分析系統 SCQL(Secure Collaborative Query Language)。這是業內首個把 SQL 做到多方安全計算(MPC)技術上的應用,實現了工業級的多方安全數據分析功能,目前在隱語 GitHub 社區開源,面向全球開發者免費開放。
隱語框架 SecretFlow 負責人王磊在隱語開源社區開放日現場發布隱語 SCQL 系統
這也是隱語團隊歷時三年,經歷多輪技術驗證,在性能、安全性上滿足工業級應用場景之后才開源釋放的重要產品功能,希望進一步延展數據安全協同的鏈路、拓展數據價值流通的場景,特別是滿足長尾的和廣大中小機構的數據分析需求。
隱語框架負責人、螞蟻集團隱私智能計算技術部總經理王磊在接受機器之心專訪時表示,當隱私計算落到行業中,解決大規模的用戶的實際問題時,相比 AI 數據分析,BI 的應用場景會更廣,SQL 是目前大家最熟悉的 BI 分析工具,隱語此次發布 SCQL 系統,就是希望用戶能夠在熟悉的工作流程基礎上,低成本的去理解和使用隱私計算技術。
當前,隱私計算正在進入一個新的階段,單點技術的安全合規已經經過了試點驗證,特別是數據二十條頒布以來,實現大數據和隱私計算的結合,實現隱私計算 BI 的可用和易用,降低技術門檻,成為當前階段的核心挑戰,只有持續拓展技術應用的廣度和深度,才能夠真正迎接未來大規模數據要素全面密態化的時代。
王磊表示,隱語團隊在 SQL 語言解析、MPC 計算性能優化和結果反推的安全性方面取得了技術上的突破,在一些問題上提供了一些非常好的新的解決思路,并且做了工程實現,取得了不錯的效果。他同時強調,還有更多具有挑戰性的和開放性的問題,期待更多人參與共建隱私計算開源社區,共同探索更多應用場景。
隱語 SCQL:首個開源的工業級
多方安全數據分析統
根據中國信息通信研究院今年 1 月發布的《中國企業智能化成熟度報告(2022)》,目前有 84% 的企業仍然處于數字化建設的基礎階段,距離實現智能運營和創新發展有一定距離。對于這部分企業而言,存在大量的 BI 業務需求。
目前可用的大多數 BI 技術都能夠在存儲或傳輸數據時保護數據,但缺乏保護數據計算過程安全性的功能,對于有隱私和安全相關訴求的機構而言,這恰好拓寬了傳統 BI 技術的邊界,可以適用更多場景。隨著數據要素市場化進程的推進,隱私計算 BI 分析將出現嚴重的產業空白。
在這樣的背景下,隱語啟動了 SCQL 項目,將 BI 分析中最常用的 SQL 和隱私計算中的多方安全計算(MPC)結合起來,作為讓隱私計算落到行業,在整個大的復雜生態中大規模應用化的第一步。
聚焦多方數據聯合分析的場景,是因為相比于可信執行環境(TEE)技術路線對硬件信任根有要求,而且當前國產化的成熟度尚需時間驗證打磨,多方安全計算(MPC)技術路線有特有的優勢:數據控制力更強、不依賴特殊硬件等。此外,在一些單方數據比較單薄的場景,也可以通過樣本或數據維度的擴充來提升數據分析的質量,也即結合多方數據進行聯合決策,最終在業務效果分析、業務策略升級、業務模式創新中取得更優的效益。例如:
- 金融場景下:不同金融機構間進行合作,在不泄露用戶隱私的前提下,通過貸款次數、貸款額度、守信記錄等規則的查詢,來辨別潛在客群是否為高風險客戶;
- 營銷場景下:不同平臺之間進行合作,實現用戶畫像互補,分析用戶對內容的偏好,通過更合理的內容推薦提升用戶的活躍度;
- 醫療場景下:不同醫院甚至同家醫院內的不同科室之間,聯合分析患者的就醫記錄,對掛號或預診提供決策指導,提高醫療服務效率。
然而,要實現 SQL 與 MPC 的結合有很大的技術挑戰。首先 SQL 作為一種復雜的架構,將其引用到隱私計算場景,如何解決架構設計上的復雜性問題,這就涉及到對 SQL 語言進行解析,而這個解析的技術門檻是非常高的。其次,在 SQL 使用場景下,用戶對 query 提交后的響應時間有很高的要求,一般都期望立馬看到結果,而 MPC 的計算性能很低,如何針對這一點做優化?第三,如何避免靈活的 SQL 查詢語言導致查詢出用戶不希望看到的敏感信息。
隱語團隊基于 MPC 技術內核的底層抽象 SPU 設備(SecretFlow Processing Unit,簡稱 SPU,是隱語平臺的密態計算單元,為隱語框架提供安全計算服務),創新實現了多方安全數據分析系統 SCQL。SCQL 支持類SQL的查詢語言,這種語言繼承了 SQL 作為常用數據分析語言的普及性、易學性和高成熟度,在用戶幾乎不感知多方安全計算語義的情況下,即可完成聯合分析的統計結果生成。
SCQL 架構如下圖所示,總體分為兩個部分,上層的 SCDB 可以被視為 SCQL 的數據庫,負責將 query 翻譯成密態執行圖,下發給部署在數據參與方的 SCQL Engine 執行;SCQL Engine 是 SCQL 的執行引擎,將協同其他參與方的 SCQL Engine 一起完成密態圖的執行,并將結果上報至 SCDB。
具體說,外部用戶可以直接發起一個傳統的 SQL 請求,這個請求首先會經過 Parser,轉化成一個抽象的語法樹,通過 Planner,變成 Logical plan。最大的一個挑戰是 Logical plan 到 Execution Graph,Translator 在這里需要執行一個多約束條件下最優協議的選擇,這是將 SQL 做到隱私計算的一個關鍵,因為整個計算中有安全性的約束,需要綜合考慮數據類型、數據來源、數據狀態,而且數據狀態還會隨計算過程不斷發生遷移和改變。
在這里,隱語團隊創新性地實現了 CCL(Column Control List)機制,作為多方安全計算場景下對 SQL 靈活性和功能性的一種巧妙的解決思路。CCL 提供了一個輔助性的工具,使得數據擁有者可以在事前審核之前,使用 CCL 描述每列數據在使用過程中的約束,只有嚴格滿足約束條件的,數據分析引擎才會執行。
當前提供了 6 種約束條件,未來隱語框架還將在這方面繼續完善和細化。
總結來說,針對正確性、及時性和安全性等技術挑戰,隱語 SCQL 方案都做了非常好的嘗試,在功能特性上實現了:
- 易于使用與集成:SCQL 支持類 SQL的查詢語言,簡單易用,上手成本低。除此之外,SCQL 提供簡單易用的 API 接口,便于集成封裝,且支持常用的數據源(目前支持MySQL,未來計劃支持CSV、Postgres、Hive 等數據源),可以低成本滿足業務的多方數據協同分析需求;
- 精細的數據授權機制:SCQL 創新性地提出了 CCL(Column Control List) 機制,讓數據方可以對自己的數據如何被使用進行授權,控制粒度可精細到數據表字段(列);
- 功能豐富場景靈活:支持大部分常用的SQL語法和函數,可滿足大部分場景的聯合分析需求;
- 滿足實際生產性能需求:在保護數據隱私的前提下,以盡可能減少密態下的計算量為優化思路,進行了多層面的優化。
目前,螞蟻保就已經在與保險公司的合作中,面向核賠勘查場景,使用了隱語 SCQL 功能。基于理賠科技平臺和隱語框架,打造了「理賠大腦」智能理賠系統,在整個系統中,多方數據聯合分析解決方案是核心模塊之一,幫助保險公司及其外部醫療數據ISV在原始數據不離開本地、數據價值有保護的前提下,進行聯合分析。
在該方案中,保司提供「用戶賠案數據」,包含了出險疾病類型、保單生效時間、出險時間等維度,此外保司提供的「既往癥免責規則」還包含了出險疾病類型及其對應的免責規則,ISV 提供「用戶就醫數據」包含確診疾病類型、就診時間等維度。在聯合分析中,通過 “SELECT FROM”、“INNER JOIN”、“Where” 從句,以及比較運算表達式等組合搭配,即可完成聯合分析任務的描述以及執行,在保障保司和 ISV 數據隱私的前提下,分析用戶是否滿足理賠條件。
這一健康險定制多方數據聯合分析解決方案,能夠幫助有效發現陽性線索、降低錯賠風險,通過數字化調查審核控制了理賠運營成本。
未來,隱語開源社區也將發布 SCQL 的共建任務,包括豐富數據源(如支持 csv 文件)、完善語法和功能,增強易用性等,歡迎大家持續關注隱語 GitHub 社區,甚至將你的共建計劃通過 pull request 的方式提交,成為共建任務的組成部分,共同持續建設完善這一功能。
拓展數據流通應用場景
需要易用、好用的隱私計算
王磊認為,當前隱私計算整體技術和市場仍處在起步階段,行業對隱私計算技術的認識不夠充分。隱語希望能夠樹立一個易用、通用的標桿,希望能夠幫助激活整個隱私計算行業的應用。當然,「安全是隱私計算的核心,只有在保證安全的前提下,才能夠去談精度、性能、好用,不然完全可以用其他的技術實現。」
通用的理念貫穿在隱語研發的始終。
王磊介紹,螞蟻集團從 2016 年開始探索隱私計算,并通過內部業務和行業調研進行實踐和思考。在此過程中,技術人員發現隱私計算技術路線多且架構不同,因此,一個理想的隱私計算架構首先應具備完備性,支持主流技術框架,并且考慮到新技術的發展。其次,為了方便持續迭代,架構上要做到底層和上層解耦。此外,架構還應具備良好的分層設計,使安全和算法分開,方便應用,提高隱私計算技術的應用廣泛度和參與門檻。業務集成和規模化生產能力也很重要,需要有良好的接口設計和規模化生產的能力,如灰度、回滾、彈性擴容和多版本管理。
在這樣的理念下,隱語框架 SecretFlow 作為一種通用的隱私計算框架被提出,堅持以下原則,使框架具有最大的包容性和可擴展性,以應對未來隱私計算技術和應用的發展。
- 完備性:支持多種隱私計算技術,可靈活組裝,滿足不同場景需求。
- 透明性:構建統一的技術框架,盡量讓底層技術迭代對上層透明應用,具有高內聚和低耦合。
- 開放性:不同專業方向的人可以輕松參與框架的建設,共同加速隱私計算技術的發展。
- 連接性:不同底層技術支持的場景中的數據可以相互連接。
隱語框架支持目前主流的隱私計算技術路線,以便更好地適應不同的場景需求,這樣也可以更方便地進行多技術路線的融合和遷移,取長補短。同時,在一個更高的規劃層面,隱語正在設計支持數據要素持有權、使用權、經營權「三權分置」的技術方案,以從技術上實現數據二十條里提出的數據持有權、使用權和經營權「三權分置」的指導思想。
隱私計算不是繡花功夫,而是真正想產業所想,王磊團隊也一直在琢磨如何提供更安全、更高效、性能更強、更靈活的解決方案。目前行業中的大型應用主要分為 BI 和 AI 兩大類,BI 又可以細分為許多子類,例如針對傳統 SQL 數據分析和基于 Python 的數據分析,以及大數據處理、流批處理等。針對 AI 場景的隱私保護機器學習,目前行業已經較成熟,且市面上有很多可選的技術解決方案和產品。
隱語想到了那些小規模數據機構,傾向于優先從規模較小的、百萬或千萬級別的數據量開始入手,因為這樣的處理能夠覆蓋許多應用場景,并且在投入和產出方面也更具有可行性。
「由于中小機構的數字化水平處于初期,數據量屬于小樣本階段,Al 機器學習的方式不必要也不具性價比,而以 SQL 語言為主要手段的 BI 分析是最具可行性的方案。」
對于大規模數據場景來說,BI 數據分析也是不可或缺的重要分析手段。「從大數據到小數據,SCQL 都能滿足密態數據安全分析的需求,」王磊強調。
當然,對于 AI 應用,隱語也會持續進行迭代,如行業中廣泛應用 XGB算法,也會有更快的版本開放出來。
王磊表示,隱私計算未來的趨勢一定是包含技術融合的,這不僅包含不同技術領域之間的融合,也包括技術工具之間的融合。從整個隱私計算的技術棧來看,最終的解決方案一定是多種技術交叉解決各種不同的問題,根據部署場景的適用性,根據安全要求,選擇不同場景的隱私計算技術。
隱語希望通過技術的方式,構建起行業對隱私計算作為數據要素流通基礎設施的信任,通過樞紐模式和管道模式共同支撐各種應用,以期在未來支撐全行業的規模化擴展。
隱語開源有兩個目的:一是希望更多人能夠使用隱私計算;二是希望有更多人能夠共建社區。目前參與共建的人數相對較少,隱語計劃在今年增加共建方向和完善共建流程,期待與大家積極探索隱私計算更多可能。
隱語官網:
?https://www.secretflow.org.cn?
隱語社區:
?https://github.com/secretflow?
?https://gitee.com/secretflow?