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