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