Categories
程式開發

AI基礎設施革命:數據隱私保護和價值挖掘的實踐思考


本文來自數牘科技創始人宋一民(Ethan),數牘科技基於數據科學與工程、密碼學(多方安全計算、差分隱私 etc.)、聯邦學習等技術體系,幫助企業間進行安全隱私的數據協作。 Ethan在成立數牘科技之前,曾就職於 Facebook Ads,作為tech lead從零到一的主導了Facebook Ads 與多個五百強公司的基於隱私保護的數據協作項目,後又任職於數據隱私組主導了多個數據隱私安全的工作。 Ethan認為,數據隱私的保護貫穿數據流通過程,是一種動態的數據安全;數據隱私保護與價值挖掘並不矛盾,數據隱私保護的落地長久來看會推動新的數據使用範式誕生,而規範數據使用可以促進數據流通更順暢,在匯聚更多數據的基礎上迎來價值挖掘的下一個爆發點,帶動AI的基礎設施革命。但隱私計算行業目前仍處於早期階段,Ethan在這里分享了他對數據使用的思考,以及平衡隱私保護和價值挖掘常見的技術實踐。

以下是分享內容的簡要提綱:

  • 數據流動的合理性和必然性
  • 流動鏈條中的數據歸類
  • 數據隱私和價值挖掘的平衡:給予數據擁有方控制力
  • 數據擁有者的控制力如何賦予?
  • 數據控制力管理的技術實踐

數據的流動性

一個數據從生成開始的整個生命週期中,可能會在多個機構或節點間流轉,在節點間進行流轉的過程使得數據形成了一個網絡,就像許多企業內部存在數據流動的data pipeline,在更宏觀的層面也存在類似的data flow。

在客觀現實中,數據流動存在它的合理性和必然性。一方面,對於任何一個個體,他的數據會在不同的場景中產生和被採集。比如使用打車軟件會產生位置移動的信息,住酒店會產生住宿信息,在淘寶買東西會產生購物信息等,很難想像會有一個實體掌握關於這個個體的全部數據;另一方面,挖掘數據的過程也存在專業性的問題,在不同場景中根據不同需求,挖掘可能很難完全由同一個實體來完成。因此往往為了充分的挖掘數據價值,需要盡可能的將多個數據產生的源頭,經過多個節點進行匯聚,加工處理和使用。

從產業的角度來看,我們常形容互聯網和AI的關係是“連接產生數據,數據產生智能”,在連接和智能決策的過程,其實也是數據流動匯集、價值挖掘的過程。更豐富的數據維度和更好的數據覆蓋對於模型的質量也是至關重要的。數據作為AI的原料,其流動性也是讓AI更好發揮價值的基石。

流動中的數據

數據的流動性具有合理性和必要性,而流動過程中的數據在實踐中通常是被如何被歸類和定位的?

數據在經過不同節點的過程中,會在不同的上下文環境中被提及:比如數據的收集,存儲,使用,以及對應的前述行為的轉讓。收集主要對應原始數據的採集或者形成結構化數據的過程,比如將用戶操作 App 的動作形成日誌傳回服務器端,或者比如將用戶產生的評論進行匯總。存儲和使用一般都是按字面意思對數據進行保存或者處理。為了進行數據的聚合或者藉助外來力量對數據進行挖掘,可能會涉及將這些數據的存儲或者使用權轉讓給其它方的過程。另外考慮到這些和個人數據相關的不同上下文,普通用戶在簽數據授權的時候也可以額外關註一下授權協議是否清晰的定義了這些不同的範疇,比如某App 本身,對什麼數據、進行不超過多長時間的存儲,並且這個存儲權不會轉讓給除某App 本身的其它實體。

一般收集或採集到數據的一方被稱為第一方數據,第一方數據為了更好的用數據服務使用者,往往會在授權中要求更多的權限。比如在數據使用權裡可能會要求通過數據對個人用戶的信息流進行更好的匹配,這裡面可能就包含了使用原始數據(如用戶對哪些帖子進行了點贊)所進行的優化,也可能包含了將一個用戶的信息用於另一個或一些用戶。之前提到,完全由一個實體從頭到尾閉環能完成的事情非常有限,因此這裡面會涉及到將用戶的一些信息(可能是原始信息,可能是聚合或者泛化信息)轉讓給其它實體協助完成的情況。這些從第一方數據所得數據的實體被稱為第二方數據。受限於數據本身商業價值或相應法律或PR風險的考慮,在這個數據轉移的過程中第一方會希望盡量控制減少數據本身的洩露。一般通過協議的角度可能是規定數據使用的範疇,規定數據可以被存儲的時間等。通過技術的角度可能是去除個人識別標識,做一些預處理比如泛化(將給定的位置從一個具體的位置變成處於某一個圓的範圍內)等,後面會對這些方法做一個簡單的描述。除第二方數據以外,還會存在一些根據某些特定目的而將大量原始數據進行匯聚的實體,目的可能是比如進行某些統計分析的研究(比如所有人的存貸比,比如所有人的年齡分佈等),也可能是某些特定研究(比如某類藥的安全使用範圍)等,這樣的實體可以被稱為第三方數據。除了這三方的數據以外,還存在公開數據這個範疇。公開數據的定義很難做到清晰,不過一般認為是任何一方可以通過爬蟲直接從互聯網獲得的數據(沒有經過數據擁有者的直接授權)。但在現實情況中,判斷公開數據的流通是否有風險往往也和公開數據被獲取的一方對於這種獲取行為如何看待相關。注意這裡所指的公開數據被獲取方並不一定是數據的擁有者,因此也會出現在談及數據的收集,存儲,使用之外的另一個上下文:公開。即第一第二或者第三方實體是否獲得了公開該數據的授權。

價值挖掘 V.S. 隱私保護 — 數據擁有者的控制力

數據自由流動中的價值挖掘能讓AI更好地發揮價值,但同時,數據流動過程中不經節制的應用,也會帶來數據隱私侵犯的隱患。最近多個金融大數據公司遭到立案調查,從數據源的角度來看,其中一個重要原因就是該類公司的爬蟲對觸達的數據未經授權進行存儲或超出了約定的使用範圍。舉例來說,如果有一個 App 聲稱幫助用戶進行多個金融賬戶進行管理並綜合呈現個人現金流等信息,為了幫助 App 呈現這些信息,用戶就需要提供這些金融賬戶的訪問權限。但如果在這個過程中 App 對個人銀行賬戶內的所有信息都進行了抓取和存儲,並將這些信息提煉出來的標籤出售給第三方或利用標籤開展新的業務。由於這些過程未對用戶進行告知並獲得許可,都是一種對數據使用權的濫用。

從當下的工程實踐來看,解決挖掘和隱私的兩難,可能目前最好的解決方法是給數據擁有方一個控制力,包括對數據收集的授權和收集後保存和使用的控制。國際上普遍進行的實踐或者規範(如GDPR)都傾向於對個人擁有的數據及其數據的各種上下文環境進行準確的授權。比如GDPR中就會要求第一方數據要明確“自己採集到了哪些數據”,當用戶有了這個明目之後,應當有權來選擇“保留哪些刪除哪些”;在此基礎之上,還比如會要求對數據處理方法作出明確問詢和授權,“比如通過採集到的用戶點讚的帖子的內容和類型來學習用戶的興趣愛好”;這些興趣愛好作為標籤,雖然不是原始數據,仍然需要用戶進行逐一的明確授權。

當我們通過給予數據擁有方控制力的方式去平衡數據價值挖掘和隱私保護,在實踐中又會出現一個新的挑戰 — 如何在不侵犯個人隱私的前提下,獲得個人的授權。舉個例子,比如在獲得興趣愛好標籤授權的時候不太可能有用戶可以預先對近乎無限多的興趣愛好進行一一授權,一般的過程也是首先由數據挖掘方獲得了某個標籤,再針對這個標籤進行問詢。我們在過去的工作實踐中見過的最好的處理方法是首先對多達三到六百萬常用的興趣愛好做知識圖,將這些興趣愛好的包含關係或者關聯性整理出來;之後再對各類興趣愛好通過找到包含關係中處於包含當前愛好的比較泛化的那類愛好進行問詢這樣點到為止的方式來完成。即便做到這樣,雖然消耗了巨大的資源並且有很高的門檻,也很難說做到了完美,因此也就不難理解多數公司在應對GDPR或者相關合規的問題上面臨著巨大的挑戰這個事實。

數據擁有者的控制力如何賦予?

數據擁有者控制力的核心意義在於讓每個擁有者在挖掘和保護之間選擇自己的平衡點。為了給擁有者控制力,第一步要討論的是誰是數據的擁有者這個問題。一般對於個人數據來說,無論是個人的身份識別信息或者生物統計信息這樣對個人進行描述的數據,還是用戶的行為信息(比如訪問了哪些app,在app裡面做了哪些事情)或者由這些行為信息所得到的新的標籤這樣的用戶生成數據,都會認為擁有者是這個人本身。尤其對於產生的標籤數據來說,有些情況下認為由於標籤是比如數據採集方進行學習而得來的因此擁有者是採集方這個想法也不應該是被廣泛認同的。

圍繞擁有方是產生數據的個體這條線去思考,在整個數據生命週期鏈條裡面就存在對第一方數據的控制、第二三方的控制等不同的問題。對於第一方來說,由於是數據的採集者,涉及的方面也是最多的。 Facebook在2018年的F8上宣布一個針對給用戶控制力的功能叫Clear History,裡面描述的願景基本理解為可以允許用戶在採集,存儲和使用三個方面給予控制力。首先用戶會看到Facebook從哪些合作方渠道獲得了用戶的什麼樣的數據(採集可見),之後允許用戶決定是否可以在廣告投放中進行使用(使用控制),再次允許用戶對這些數據進行立即刪除的操作(存儲控制)。這個功能聽上去簡單,但實際上對於一個正在運轉的機構來說,要涉及到鑑別所有的數據來源、在復雜的數據流裡面識別各類數據、以及對某個數據的所有存儲位置進行控制這幾方面能力。對於小機構來說資源和投入產出比肯定是不夠的,對於大機構來說由於內部數據流太過複雜,為了實現它往往會需要做整個系統的重新設計和實現,代價也不言而喻。舉例來說,為了實現Clear History:首先為了在幾萬PB的數據倉庫中甚至更大的冷存儲中找到所需要控制的數據,就需要做整個數據集的語義識別(很多時候由於表單的schema並不統一,所以直接使用metadata很難準確的判斷數據類型),這個過程類似給數據打標籤。為了可以覆蓋更多的存儲點,會需要根據已經得到的數據標籤對數據流進行端到端的識別。當所有的存儲點識別完成後,為了實現功能中的實時刪除,還需要在重新定義數據結構的基礎上配合一個高吞吐量的中心管理系統。這個過程協調了許多內部部門,消耗了大量的資源,耗時一年以上。不難看出,在企業間的數據流通中也存在潛在的類似挑戰。

除第一方數據以外,在授權第二方的過程中,可能大體會分為兩種情況:第一種授權的目的可能是協助數據挖掘,第二種授權的目的可能是協助數據變現。在第一種情況下一般會只授權使用,不授權再次轉讓,並且對存儲進行嚴格的控制(控制在使用所需的存儲範圍內)。比如說,對消費行為進行建模的第二方數據,往往會存在過去兩周和過去兩個月這樣兩種時點,超過兩個月的消費行為一般價值也微乎其微。那麼在授權存儲的時候一般會限定存儲時間不能超過2個月(外加一個比如24小時的灰色週期)。在數據使用的授權上,一般如果對數據挖掘的目標及使用場景進行嚴格的限定,一方面可以保護授權方在競爭法層面的權益,另一方面也可以間接保護數據擁有方的個人隱私。從保護個人隱私的角度來講,假設授權的目的是計算某些用戶的還款風險從而幫助授權方決定是否放貸的場景,如果不限定挖掘的目的只能限於該合作方之間的徵信目的,則可能會被第二方使用同樣的數據用於與其它合作方的營銷場景中作為對於個人現金流的判斷的一個因素。對於第二種(數據變現)的情況,會有比如通過特定的場景或產品進行變現以及通過售賣標籤進行變現不同的類型。這裡不對各種數據變現的方式進行展開,但想強調一點的是在變現的過程中需要關注的是原始數據在第二方或其它地方的沉澱情況。因為雖然一般授權方會通過限制原始數據的轉讓(從而保護個人隱私),但仍然會允許加工過的數據進行流通或通過某個場景達成目標。無論是哪種方式輸出的結果,都難以完全地避免數據的信息被沉澱,大量的沉澱會間接的導致原始數據被轉讓。舉一個數據泛化中沉澱結果的極端例子來說,假設我們允許對某一個人的常見活動區域輸出某個較大的半徑圓範圍,多個這樣的半徑圓就可以逐步縮小對這個人活動區域的判定。

公開數據和前述的最大區別是,由於已經公開,只要是獲得了數據擁有者對於公開的授權,那麼之後不會再對公開數據的採集者進行一一授權。採集者獲取公開數據的途徑一般也都是通過爬蟲這樣的主動收集的形式,具有一定的收集和清理/整理成本。這裡面一個有意思的地方在於,有一些數據並不是嚴格意義上的被公開數據,或者說只希望在某個特定範圍內被公開。舉例來說社區的運營者可能只希望社區的用戶生成內容(UGC)在社區內進行公開,而不希望流傳到互聯網上。典型的這類意願的表述形式有類似於Robots exclusion standard,主要用於向爬蟲聲明網站中哪些內容不能被讀取。除此之外公開數據還有可能僅僅是可以被讀取而不能希望被存儲的,舉例來說比如社交網站中的朋友清單。朋友清單被存儲和對比之後就可以得到諸如”哪些朋友取消了對我的關注“這樣的信息,這裡面也存在可能侵害了別人的個人隱私的問題。一般為了防範這樣的越界爬取行為,公司可能會有針對性的組織自己的反扒竊(anti-scraping)系統,在協議範疇之外對數據的控制力賦予提供保障。

綜上所述我們可以看到,賦予數據的控制力長久以來都面臨許多挑戰。且除了第一方數據外,沿著數據鏈條向下走,這種挑戰會逐漸增加。這種現像很大程度上源於數據作為一種抽象存在,不同於普通物品的可以被複製,而被複製的數據的控制力將會被重新的定義和賦予。因此在數據流通的過程中將數據的各種屬性分開管理和授權,盡量減少數據複製的出現,可以很大程度上降低在整個鏈條上管理控制力的成本。需要研究的不是如何把數據的鏈條切段,而是如何在鏈條的各個環節上更好的完成數據控制力的精細化管理

新的產業機會 — 數據流通鏈條中控制力管理的技術實踐

前面提到,解決數據流通鏈條中賦予數據控制力的問題,主要的方式是針對不同類型的數據採取不同的方式,從宏觀上減少數據使用就要復制的情況出現。那麼,在具體實踐裡,針對個人數據的隱私保護,又有哪些宏觀分類要素與技術手段呢?

宏觀來看,數據可以分為個人識別信息(PII)和用戶特徵值兩類。 PII是指像可以在很高精度上在公開環境下定位一個人的數據,比如像美國的SSN,國內的身份證號,郵件地址,甚至有可能是電話號碼。用戶特徵值基本可以理解為除了PII以外其它的圍繞個人行為特徵或個人特性(如生物統計學數據,人口統計學數據等)的數據了。用戶特徵值往往是數據挖掘產生價值的對象,而PII則是扮演著將多個特徵值統一在一起的角色,由PII形成的圖是數據鏈條上公司間進行數據融合的橋樑。

可以看出,對PII的控制是數據鏈條中形成控制的關鍵,沒有PII的兩個數據集是很難整合在一起使用的。針對PII的控制一般被稱為De-identification,目前主要有比如脫敏(Data Masking),匿名(Anonymization)和k-匿名(k-anonymization)由弱到強三種比較常見的方式。脫敏

基本是將比如身份證的一部分隱去,從而在可以接近識別的前提下盡量保護數據的隱私,類似於對一般數據處理中的泛化技術。拋開脫敏過程中的信息丟失不談,這種方法顯然是缺乏足夠的安全性的。因為只要存儲和沈淀這樣的masked data,就可以最終反推出原始數據的內容來,因此脫敏的方法在隱私要求比較高的環境中已經不再使用了。匿名指修改或者移除個人身份信息,隱藏數據和個人的對應關係。一般的數據源會自己生成並管理這種對應關係,由於個人身份信息的完全隱藏,安全性也會遠高於直接對原始PII進行脫敏。同時的對於使用PII來關聯數據集的這一屬性,也可以靠修改內部的對應關係來組織使用匿名數據在外部進行數據集關聯的操作。 k-匿名在匿名的基礎之上提出了個人識別不僅限於PII,任何數據形成的集合都能在一定程度上識別出一個人來,k在這裡指的是用這個數據集進行識別時可以將識別的人群縮小為數量為k的集合。 k-匿名是目前通用標準中較高的一類,其中k的值越高,隱私保護的效果越好,在Google和Facebook的內部數據管理中都有大量的使用。

用戶特徵值數據主要在價值挖掘中被體現,使用的方法宏觀上可以分為使用原始數據和使用統計數據兩類。比如某人在某時某地進行了某次購物可以被認為是原始數據,那麼某人在過去的一天裡進行了3次購物可以被認為是統計數據。在很多情況下避免原始數據的直接使用是不太影響價值挖掘的同時可以更好的保護原始數據的。類似的,在鏈條中傳遞用戶特徵數據時所使用的控制方法也比較多,常見的就有泛化(比如給定一個範圍而不是具體的數值),統計(如前所述),加密(比如同態加密),差分隱私(比如給定的數值是原始數值的基礎上增加一個噪音),合成(比如將原始數據轉化為代表所需知識的模型或者由模型生成不同於原始數據的新數據)等等。

涉及多方數據的安全運算環境的方式可以從多種角度來劃分。比如從是否存在可信的第三方(或者對於該第三方的信任成本有多大)來談,使用比如GC或者OT來實現的MPC可以實現完全沒有可信第三方的環境,而基於某些同態加密設計或者可信硬件的環境一般是強依賴於對於第三方的可信度的,而可信硬件環境還存在信任硬件產品供應方這一個額外的信任成本。除了上述的兩類(MPC和可信硬件)之外,也存在許多其它方式在聯合運算中保護原始數據的方法,其中就有比如合成數據(比如通過將原始數據轉換為模型),比如差分隱私(巧妙的選擇在原始數據上面增加噪聲從而在保護原始數據敏感性的前提下不會過多的干涉運算本身),還有比如傳統的泛化(只傳輸包含原始數據的一個範圍)等多種方式。在實際應用之中,一般會考慮數據的洩露危害程度(比如PII數據的洩露會造成連鎖的數據洩露反應),數據是否容易被沉澱(比如高時效性的數據相對不那麼容易被沉澱)等在達到安全級別的前提下,盡可能的保持信息完整性(合成,差分和泛化都會在不同程度上損失原始信息)的同時提升整體系統的運行效率。

在介紹工程實踐的技術類型的同時,我們也希望澄清在實踐中遇到的兩個比較常見的認知誤區:數據隱私解決方案,不等同於單一的密碼學或技術點創新,是一個結合了數據科學、密碼學、聯邦學習、雲計算的綜合工程,通常是技術組合的形式;其次,對於數據隱私比較受關注的MPC(多方安全計算),最近幾年,MPC在數學原理上並沒有特別大的根本性變化,更多是工程方面的突破與進展。

數據的流動性具有其必然性和合理性,也是AI在產業中更好發揮智能的基礎,但數據價值挖掘帶來便利的同時,也面臨著隱私侵犯的隱患。從當下實踐來看,通過給予數據擁有方控制力的方式是平衡數據價值挖掘和隱私保護最有效的方式;而流動中的數據鏈條複雜,通常需要在數據流通的過程中將數據的各種屬性分開管理和授權,盡量減少數據複製的出現,從而降低在整個鏈條上管理控制力的成本。數據流動過程中的隱私保護,是動態的、過程中的數據安全與隱私,對應的技術實踐也將帶來新的產業和創新機會。對於這個新興的產業,早期我們所選擇的方案也要迎合市場的階段進行漸進式推廣,比如數牘科技的解決方案中就設計了數據流控制,數據擁有方可以控制數據流向為單向或雙向,在現實環境中靈活應用。數據隱私規範和價值挖掘是雙向作用、螺旋上升的過程,只有規範數據使用才可以在匯聚更多數據的基礎上迎來價值挖掘的下一個爆發點。我們很期待未來十年,在隱私規範的推動下創造出新的數據使用範式,推動AI的數據基礎設施革命,並能投入其中貢獻一點自己的力量。

作者介紹

宋一民(Ethan),數牘科技創始人。