大模型時代下的私有數據安全與利用
一、大模型時代下的數據安全與利用問題
眾所周知,大模型是當前研究的熱點之一,且已成為當前發展的主流趨勢。我們團隊最近的研究方向從傳統的聯邦學習轉變為探索這一范式在大模型時代的新拓展,即基于知識遷移的聯邦學習。我們認為在大模型時代,這種新的聯邦學習模式非常適用。因此,我將簡要介紹聯邦學習在大模型時代的定位與應用,分享我們關于基于知識遷移的聯邦學習的技術進展,并介紹我們最近開發的結合大模型的聯邦知識計算平臺 FLAIR。
自 2021 年起,國家積極推動數據要素的高水平應用和數據安全治理,同時強調數據與 AI 相輔相成。大家逐漸形成一個共識,就是數據要素的價值在于其流通。然而,在數據流通與應用過程中,必須防止數據濫用并保障數據安全。為此,2016 年谷歌首次提出聯邦學習這一機器學習范式,迅速吸引了廣泛的研究和企業關注,并在金融偏好、推薦等領域得到應用。
近年來,大模型的興起使得數據要素市場規模持續擴大。大模型也給這個不斷壯大的市場提供了一個全新的、強大的工具,創造了更多新的應用場景和市場機會。正如上圖右側所示,可以說幾乎所有的應用都值得由大模型重新做一遍。
大模型重新設計數據要素相關應用具有巨大潛力。例如,ChatGPT 等大模型在多種任務中已顯示出卓越性能,然而,將大模型在特定垂直行業中高效、高質量地應用,依然面臨挑戰。比如,若要在特定領域微調大模型,如何獲取大量高質量的訓練或微調數據,以及如何利用大規模計算資源進行訓練或微調,都是重大難題。正如上圖左圖所示的金融領域大模型“Bloomberg GPT”,其訓練涉及跨度 40 年間的超過 3630 億 token 的數據和 130 萬 A100 GPU 小時,成本巨大。即使不進行訓練或微調,避開收集數據的問題,部署一個高效的大模型進行推理也需大量計算資源。
盡管收集大規模高質量數據具有挑戰性,但我們每天產生的大量數據并未被充分利用。由于隱私問題,這些數據主要存儲在本地,未得到應用。這些數據像孤島般散落在各處,如手機、電腦以及自動駕駛車輛中的傳感器采集的數據,或分散在不同的醫院和大型企業中。我們可利用的公開數據集只占所有數據的一小部分,如上圖所示。因此,如何打破數據孤島,同時保護數據隱私,綜合利用所有數據,成為了一個重要且富有挑戰性的問題。
有人可能會考慮直接將數據集中發送給大模型以進行應用或推理,但這顯然是不可行的。首先,這違反了數據安全中的基本原則——數據不出域。同時,大模型的出現也為私有數據安全保護帶來了新的挑戰。鑒于遠端大模型可能帶來的數據泄露風險,許多公司禁止將公司數據上傳至遠端服務器或限制員工訪問如 ChatGPT 這類遠端大模型。像亞馬遜這樣的行業巨頭也表達了對于大模型可能泄露私密數據的擔憂。此外,關于隱私泄露的真實案例不斷被報道,這些對數據安全的擔憂嚴重阻礙了大模型和 AI 技術在實際中的應用和落地。
前面提到的主要是數據安全問題,實際上模型安全也是一大問題。模型訓練方擁有模型權重的知識產權,他們不希望模型參數被他人輕易利用或竊取。因此,閉源模型的開發商不愿意將模型直接發送給使用方進行本地部署。所以,大模型時代的應用落地面臨著數據安全問題和模型與數據流通之間的巨大矛盾。
上圖展示了一些當前的關鍵問題,前面討論了私有數據與閉源模型之間的問題,那么如果將閉源模型更換為開源模型并在數據側進行本地部署,是否可以解決這個問題呢?答案是否定的。因為數據側通常只有能夠支撐訓練小型模型的計算資源,部署大型模型可能會帶來過大的壓力。如果我們將開源模型部署在第三方云端,是否可行呢?答案仍然是否定的,因為許多公司不信賴將其私有數據發送到第三方云端,如阿里云,尤其是一些國有企業,他們會考慮到數據和國家安全問題。同時,我們還需要考慮第三種情況,即單個數據持有者擁有的私有數據量可能較少,在大模型時代,如何聯合多個私有數據持有方共同訓練一個更好的模型也是一個值得研究的問題。在此過程中,如何使用大模型來提升每個小模型,以及如何利用每個小模型的專業能力來幫助大模型在這個領域進一步提升,都是值得研究的問題,并且目前是一個開放的研究領域。
二、隱私計算與聯邦知識遷移技術
在上一章節中介紹了大模型時代下數據和模型安全以及使用上的問題。接下來,將分享一些現有的解決方案,以及我們團隊正在研究的基于知識遷移的聯邦學習技術。
目前存在多種保護數據隱私的方法,包括常見的同態加密、多方安全計算和差分隱私技術。這些方法都可應用于機器學習和模型訓練,但通常以犧牲計算效率或損害模型性能為代價來提升數據安全。另外,可信第三方計算依賴于可信的第三方存在,并需要特殊硬件來實現代碼和數據的隔離。
聯邦學習是一種獨特的技術,由谷歌在 2016 至 2017 年間提出的 Cross-device 聯邦學習的一種架構,允許在不泄露每個參與方本地數據的情況下進行聯合建模。在這個模型中,模型參數而非原始數據作為信息交互的載體,實現了跨成千上萬客戶端的聯合模型建立與協同進化。隨后,聯邦學習的應用擴展到了 Cross-silo 場景,此場景涉及較少的參與方,通常是大型企業,參與度較高,較少出現參與方因各種原因無法參與合作的情況。相比之下,在 Cross-device 場景中,成千上萬的參與方因網絡等問題退出合作的情況則更為常見。
聯邦學習也可以根據參與方間本地數據的切分方式進行分類。如果不同參與方持有不同用戶但相同特征的數據,稱為橫向聯邦學習。相反,如果參與方擁有相同用戶但不同特征的數據,則稱為縱向聯邦學習。而當參與方的數據在用戶和特征的重合度都很低時,這種情況被稱為聯邦遷移學習,此時通常需要運用遷移學習技術來提升模型性能。
聯邦學習面臨的核心挑戰是如何在數據安全、模型性能和模型效率三者之間尋找平衡,尤其在各種限制都可能存在的情況下。目前,我們已經有了一些實現這三者間某兩者平衡的方法。例如,多方計算和同態加密(MPC 和 HE)正在尋求數據安全與模型效率之間的平衡,而差分隱私(DP)則在探索數據安全與模型性能之間的平衡。另外,模型壓縮或量化等技術正在尋求模型性能與模型效率之間的平衡,這在大模型時代由于超大規模參數帶來的巨大訓練開銷,顯得愈發重要。此外,我們還在探索一些新的研究熱點,如客戶端本地模型的個性化和模型公平性等。
在大模型時代,為了平衡模型性能與模型效率,已經開發了多種策略,其中包括利用分布式訓練配合資源優化和并行處理來分散訓練壓力,或者僅訓練模型的 Adapter 層,而不是全部參數,以減少訓練所需的參數量。此外,還有利用 Prompt Tuning 技術進行提示的微調而非模型參數的微調。這些方法有效減少了訓練參數及參與方間的通信開銷,但依然要求參與方本地具備一定的計算能力和資源,以支持大模型的部署、訓練或至少進行推理。
我們觀察到在橫向聯邦學習中,由于參與方共享模型參數或權重更新,這需要每個參與方都持有相關內容,但實際上這可以優化。近年來,研究重心從基于模型遷移的聯邦學習轉向更注重于在參與方之間共享知識而非模型權重來實現聯合建模。最常見的知識形態是通過公開數據集上樣本的 Logits 或表征共享,這與知識蒸餾技術相關。這引入了聯邦學習的第三種分類方式:基于模型遷移的聯邦學習與基于知識遷移的聯邦學習。
接下來將詳細介紹基于知識遷移的聯邦學習,這也是我們團隊的研究重點。在這類聯邦學習中,被傳遞的知識有多種可能,如在知識蒸餾的聯邦學習中,模型在公開數據集上的 Logits 或表征在參與方間流動,構成被傳遞的知識。在縱向聯邦學習,也有人稱之為 splitNN,的架構下,模型的中間計算結果或某一方的模型中間輸出則作為被傳遞的知識。最新的研究還包括僅傳輸每個分類類別的原型,即表征的平均值,作為應對多類抑制數據聯合訓練的共享知識。在模型僅提供 API 調用權限的情況下,共享的知識可以是模型的決策,如分類預測結果,或生成的合成數據。當然,還有更多其他可能等待我們去探索和發掘。
首先來介紹基于知識蒸餾的聯邦學習技術。這種方法屬于基于知識遷移的聯邦學習范式,其中參與方傳遞的是針對公開數據集的 Logits。這種方法有多個優點:①它有效地平衡了模型能力和效率,因為傳遞 Logits 比傳遞大模型的參數要輕量得多。②它能夠適應服務器端的大模型和用戶端的小模型,滿足不同算力的需求。③它支持客戶端模型的個性化部署,甚至能在不同客戶端部署不同類型的模型。④這種方法避免了橫向聯邦學習中常見的 Gradient Leakage 攻擊,這是一種通過模型參數竊取隱私數據的攻擊方式,從而極大地提高了數據的安全性。
我們在 INFOCOM 2023 上發表的 FedHKT 工作,采用了基于知識蒸餾的聯邦學習技術,通過傳遞各邊緣模型在公開數據集上的 Logits 來構建全局模型。全局模型通過加權平均不同邊緣模型在公開數據集上的 Logits,以此從多個小模型中獲取知識,提高在各分類類別上的能力。
我們在 ICLR 2023 上發表的 CreamFL 工作,提出了一種用于跨模態聯邦學習的方法。這種方法基于傳遞不同模態的數據表征,使得不同客戶端能夠參與聯合建模,客戶端可能擁有圖片、文本或兩者的數據。每個客戶端使用本地數據學習自己模態的表征,并通過公開數據集與服務器交換本地模型的表征,這是一個基于知識蒸餾的流程。服務器然后根據每個客戶端上傳的表征與其數據對應的全局表征的相似度,以及與不對應模態表征的差異度計算權重,進行加權聚合。同時,客戶端的本地訓練利用對比學習方法,通過減小本地數據的表征與配對數據的全局表征之間的距離,并減小本輪與上一輪表征間的距離來進行。這種方法適用于小型及大規模模型的訓練,并可擴展到 VQA 和檢索等任務。
這里介紹一種基于原型(Prototype)的聯邦建模方法。在這種方法中,參與方和遠程服務器共享每個類別的平均表征,即原型。通常,服務器簡單地對每個用戶上傳的原型進行平均。然而,這種簡單平均法不能有效區分不同類別的原型,如上圖中所示,每個類別的原型(三角形)相距很近,影響模型性能。我們在 AAAI 2024 上發表的研究提出了一種利用對比學習增加不同類別原型間距離的方法,如圖新的三個三角形所示,并顯示出比基本方法更好的實驗結果。
基于原型的聯合建模方法可以擴展到涉及大模型的場景。在這種模式中,客戶端的小模型上傳各自的原型到服務器。服務器綜合多個客戶端為同一分類提供的不同原型,相當于整合世界不同視角的知識。這種合成可以生成高質量的數據,幫助每個小模型提升性能。
接下來,將分享有關大模型在分類決策和合成數據聯合建模的應用。如前文中提到的,隱私數據通常分布有限,如醫藥領域,公司可能只有幾百條數據,不足以支持模型訓練,尤其是大模型。面對這種數據量不足的情況,有研究提出使用單一大模型生成的大量合成數據來替代真實數據進行訓練。這種方法雖然解決了數據量問題,但合成數據可能含有噪聲,如分類錯誤,且通常存在模型固有的偏差。
上圖右側展示了六個大模型對影評情感分類生成的合成數據分布。不同模型的數據顯示了互補特性,但每個模型生成的數據均有偏差。例如,LLAMA2 數據集傾向于生成情感明確的影評,易于模型學習,但現實情況往往更為復雜。如果僅用 LLAMA2 的數據訓練,下游任務模型的表現可能不佳。而另一模型如 Flan-T5 雖問題較少,但偏差仍然存在,可能影響最終訓練效果。因此,我們提出了一種基于大模型知識融合的方法,旨在提高基于合成數據訓練的模型在私有數據上的表現。
我們開發的方法,稱為 FuseGen,通過多個大模型進行高效的零樣本融合,以增強下游任務的性能。零樣本融合是在假設用戶無法提供任何相關隱私數據的情況下進行的,這極大地保護了私有數據的安全。此外,由于下游任務模型的訓練和推理都在本地完成,因此確保了整個過程的安全性。
實驗結果顯示,FuseGen 消除了對單一大模型優良性能的依賴。這意味著,在有多個可用大模型的情況下,我們無需預先判斷哪一個模型生成的合成數據集質量更高或更適合當前任務。FuseGen 允許我們簡單地利用所有大模型進行知識融合,從而獲得比任何單一模型都更好的效果。因此,我們的方法特別適合于大模型作為黑盒、性能難以預測的場景。
上圖展示了一些實驗結果:右表顯示了 FuseGen 方法可以消除對單一大模型優良性能的依賴,因為使用多個大模型的組合結果優于任何單一大模型。同時,FuseGen 通過挑選來自不同大模型的高質量樣本,作為 few-shot 提示的上下文學習樣本,反饋給參與的各大模型進行學習。上圖左側下方的兩張圖表展示了每一輪反饋中使用的樣本來源于哪些大模型,顯示出這些樣本實際上來自多個不同的大模型。這證明了 FuseGen 能有效融合多個大模型的能力,將不同模型的知識傳遞和整合。
三、聯邦知識計算平臺 FLAIR
最后,介紹一下我們團隊最近開發的聯邦知識計算平臺 FLAIR。您可能已經注意到,我之前跳過了一種聯邦學習模式,即基于模型中間計算結果進行知識遷移的方式,這在縱向聯邦學習和 splitNN 場景中較為常見。FLAIR 平臺正是基于此類學習模式,它是從 VFLAIR 平臺演化而來的,VFLAIR 即縱向聯邦學習平臺。因此,先來簡要介紹一下縱向聯邦學習的基本概念。
縱向聯邦學習與常見的橫向聯邦學習不同,后者是由 Google 最初提出的 Cross-device 學習模式。在縱向聯邦學習中,各參與方持有同一批用戶的不同特征數據。例如,一個醫院可能擁有用戶的基本體檢數據,而腫瘤專科醫院則持有相同用戶的腫瘤生化指標和檢測結果。在這種模式下,各方在保障本地數據隱私和模型不外泄的前提下進行聯合建模。
特別地,數據的標簽通常由某一參與方持有,我們稱之為標簽持有方或主動方。由于縱向聯邦學習與實際應用場景高度契合,近年來發展迅速。我們最近在 TDKE 2024 上發表了一篇全面綜述縱向聯邦學習的文章,覆蓋了其概念、算法、數據安全、建模效率等研究進展和挑戰,以及未來展望。對此感興趣的同行可查閱此文以獲取更多信息。
盡管縱向聯邦學習領域發展迅速并產生了許多科研成果,但這一領域缺少一個廣泛覆蓋、輕量級的平臺來輔助科研人員快速測試聯邦學習算法并評估它們。因此,我們開發了 VFLAIR,這是一個面向科研的輕量級縱向聯邦學習平臺。VFLAIR 平臺支持 11 種攻擊方法,包括標簽攻擊、數據推斷攻擊和后門攻擊等,同時也支持 8 種防御方法,如差分隱私、稀疏化和互信息等。此外,我們引入了一個安全風險評估指標,并提供了多個數據安全評估的 Benchmark。平臺目前評估了兩種模型分布、五種數據傳輸方式、一種加密方式以及兩種數據分布模式。此外,該平臺支持 13 個公開數據集和超過 20 種模型,這些模型可用作聯邦學習訓練中各參與方的底層模型。我們希望這個平臺能幫助科研人員加速他們的研究進展。
上圖展示了我們關于攻防的一些 benchmark 結果:圖中左側展示了不同防御方法的性能評測,旨在為研究者和行業人員提供防御策略的建議。例如,圖中紫色部分代表的 MID 防御方法,在多種攻擊任務中表現出色。同時,差分隱私(DP)方法,顯示為藍色和橙色,也在多個任務上有良好表現。此外,我們評估了不同的縱向聯邦學習模型的抗攻擊性結構,如圖中右側所示。發現如果縱向聯邦學習中唯一持有標簽數據的參與方,在整合多個參與方上傳的模型輸出時采用可訓練模型而非簡單的聚合函數如 Softmax,可以顯著提升系統的抗攻擊性和魯棒性。
在大模型時代,我們對 VFLAIR 平臺進行了擴展,以支持大模型。但這一拓展面臨挑戰,如一方在使用大模型時希望保護私有數據不外泄,同時又受限于本地資源,無法部署大型模型。為解決這一問題,我們采用模型拆分方法來實現在保護私有數據的同時進行大模型的推理或微調,類似于 splitNN 場景。
在此配置中,數據方即持有數據又持有標簽。本地參與方擁有分割后大模型的第一部分,通常是前幾層的 embedding 層。數據通過這些層后的輸出被傳遞給模型方進行后續的 forward 處理。模型方完成任務(如分類)后,將預測結果或模型輸出反向傳遞給數據方進行損失計算。接著,損失信息傳回模型方,通過反向傳播和 SGD(隨機梯度下降)進行模型訓練。目前,平臺支持多種主流的大語言模型和 NLP 任務,并且提供了全面的數據安全評估。
我們進一步拓展了 VFLAIR 平臺,使其不僅支持縱向聯邦學習,還支持橫向聯邦學習及其他場景,因此推出了聯邦知識計算平臺 FLAIR。FLAIR 支持傳統機器學習模型,如邏輯回歸、樹模型以及基本的神經網絡模型如 CNN 和 LSTM。在橫向聯邦學習方面,FLAIR 支持 ChatGLM-6B 和 Bloom-7B 的聯合訓練。在縱向聯邦學習的應用中,支持 GPT 系列、LLAMA 系列和 Bloom 系列的模型拆分,并且該平臺正在不斷擴充這一功能。此外,FLAIR 也支持跨模態的聯邦訓練和檢索任務。目前,FLAIR 平臺已通過信通院的可信數據流通測試。
此外,FLAIR 已在一個實際的醫療領域當中完成了部署。我們在長庚醫院的內部環境當中部署了 FLAIR 平臺,并且讓這個系統連接了長庚醫院、青島大學附屬醫院和福州孟超醫院。