使用全同態(FHE)解決LLM的隱私問題
發表於 2023-10-18 14:59 作者: Antalpha Labs
來源: Antalpha Labs
導讀
人工智能的崛起令人驚嘆。從基本的算法,到如ChatGPT和Copilot這樣的語言學習模型(LLMs),人工智能已處於技術演進的前沿。隨着這些模型與用戶互動並處理大量數據和提示,數據隱私問題變得尤爲重要。其中亞馬遜和蘋果等大公司已經限制員工訪問ChatGPT等公共API,來防止可能因AI交互而導致的數據泄露。此外,可以合理地預測,相關法規將很快出台,以強制要求一定程度的用戶隱私保護。
我們如何確保與這些模型的交互、提問和共享的數據保持隱私呢?
-全同態加密(FHE)
簡介
在密碼學領域,全同態加密是一個开創性的概念。它的魅力在於其擁有的一種獨特能力:它允許直接對加密的數據進行計算,而不需要先對數據解密,從而實現了對敏感信息的隱私推理。
借助這種特性可以確保兩個重要的事情:數據在處理過程中保持安全,以及對模型知識產權(IP)的完全保護。
隱私推理與知識產權保護
如今,”隱私 “和 “用戶體驗 “似乎是魚和熊掌的關系,二者不可得兼。人們往往爲了更好的用戶體驗,信任第三方去處理他們的信息。我們相信,這些第三方公司能夠在用戶隱私與優質的用戶服務之間找到一個平衡點,而不必在隱私性更高但缺少功能的本地解決方案或犧牲隱私以獲得豐富功能的服務之間做出選擇。
全同態加密能夠在完全保護模型知識產權的情況下實現隱私推理。通過對加密數據進行計算,它可以確保提示詞完全保密,同時還能保護大語言模型的知識產權。
傳統加密方法 VS FHE
在傳統的加密方案中,如果要對加密形式下的數據進行有意義的運算,首先需要對其進行解密。但是解密就會暴露數據明文,這意味着數據將變得脆弱,易受到攻擊,哪怕只是一瞬間的解密。
相比之下,全同態加密可以直接對密文進行運算,確保敏感信息在整個運算過程中處於“不可見”的狀態。
爲什么FHE很重要
全同態加密的重要性不僅限於理論。想象一下在雲計算服務中,可以在不解密數據的情況下進行數據處理,或者醫療數據庫可以在不獲取敏感患者詳細信息的情況下進行分析。全同態加密的潛在應用非常廣泛且多樣化,包括安全投票系統和對加密數據庫進行隱私搜索等。
FHE的數學基礎
全同態加密基於容錯學習(LWE)問題,這是一種格密碼學技術,具有抗量子性。在LWE中,利用隨機噪聲使數據變得不可讀,除非擁有密鑰。對加密數據進行算術運算是可能的,但這通常會增加噪聲水平。如果連續進行過多的運算,任何人都無法讀取數據,包括持有密鑰的人。這就是部分同態加密(SHE)。
而要將部分同態加密轉換爲全同態加密,需要一種能降低噪音水平的操作。這種操作被稱爲 “自舉”(Bootstrapping),多種全同態加密方案都採用了自舉操作。在本文中,我們將重點討論環面上的全同態加密方案(Torus FHE),它利用數學環面的代數結構來實現全同態加密。
TFHE的優點
盡管每種全同態加密方案都有自己的優缺點,但在實際場景中,TFHE目前擁有更高效的實現。TFHE的另一個重要優勢在於其可編程自舉(Programmable Bootstrapping,PBS),它將通常的自舉操作擴展到包括對單變量函數的計算,例如在機器學習領域中至關重要的激活函數。
TFHE 的一個劣勢是在計算中每執行一次算術運算都需要執行一次 PBS 操作,而其他方案則允許在自舉操作之間批量執行一些操作。
假設與近似
爲了估計使用全同態加密進行大語言模型(LLM)推理所需的時間,我們做出一些假設來評估:
每個Token所需的算術操作次數大約是模型中參數數量的1–2倍。這是一個下限,因爲每個Token都使用了整個模型,我們將假設這個下限足夠接近實際需求。
大語言模型中的每個算術操作都可以映射到TFHE中的一個算術操作。這基本上是兩種方案中變量類型大小的說明。我們假設對於大語言模型來說,INT4變量足夠,並且對於TFHE來說是可行的。
大語言模型中的每個算術操作都需要映射到全同態加密中的一個算術操作。這意味着我們不能在未加密的情況下運行模型的一部分。Zama最近的一篇博文考慮了不使用這個假設的FHE推理,其中大部分模型由用戶在本地執行,沒有任何加密,只有一個小部分(例如單個注意力頭)在模型的公司服務器上使用全同態加密運行。我們認爲,這種方法實際上並沒有保護模型的知識產權,因爲在這種情況下,用戶可以只運行缺失的頭部,並且只有輕微的精度損失,如此處所示,或者對缺失部分進行相對廉價的訓練,以獲得與原始模型相當的結果。
TFHE中的每個算術操作都需要進行一次PBS(可編程自舉)。PBS是TFHE計算的主要瓶頸。
目前最先進的TFHE實現是FPT。這是一種FPGA實現,以每35微秒計算一次PBS。
LLM和FHE的挑战
隨着最新技術的進展,目前最好的全同態加密實現可以在僅需35微秒的時間內執行一次算術操作。然而,當考慮到像GPT2這樣復雜的模型時,單個Token需要進行驚人的15億次操作。這意味着每個Token的處理時間約爲52,000秒。
爲了更好地理解,對於語言模型來說,一個Token可以表示一個字符或一個完整的單詞等內容。想象一下與一個語言模型進行交互,其中響應時間需要一兩個星期!這是不可接受的,這樣的延遲顯然對於實時通信或模型的任何實際應用都是不可行的。
這顯示了在當前的全同態加密技術下,對於大規模的語言模型來說,實現實時推理仍然是一個巨大的挑战。盡管全同態加密在數據保護方面具有重要意義,但在需要高度計算密集型的任務中,其性能限制可能使其難以應用於實際場景。對於實時交互和快速響應的需求,可能需要探索其他的安全計算和隱私保護解決方案。
潛在的解決方案
爲了使全同態加密應用到大語言模型中,以下是一個可能的路线圖:
使用多機器實現並行處理:
起始爲52,000秒/Token。
通過部署10,000個並行機器,我們將時間縮短到5秒/Token。請注意,大語言模型確實可以高度並行化,目前的推理通常在數千個或更多的GPU核心上並行執行。
2. 過渡到先進的硬件:
從改進後的--起始爲5秒/Token
切換到GPU或ASIC,我們可以實現每個Token 0.1秒的處理時間。雖然GPU可以在速度上提供更直接的收益,但ASIC在速度和功耗方面都可以提供更高的收益,例如之前Blog提到的ZPU就是這樣的例子。
正如圖所示,使用現有的數據加速技術,通過全同態加密可以實現大語言模型的私有推理。通過在足夠大的數據中心中進行大規模但可行的初始投資,可以支持這一點。然而,這種可能性仍然是微乎極微的,並且對於更大的大語言模型,如Copilot(120億參數)或GPT3(1750億參數),仍存在差距需要彌補。
對於Copilot來說,較小的Token吞吐量就足夠了,因爲它生成的是代碼輸出,通常比人類語言更簡潔。如果我們將吞吐量要求降低8倍,那么Copilot也能達到可行性的目標。
最後的差距可以通過組合更大規模的並行化、更好的實現以及在全同態加密中進行引導的更高效算法來彌補。在Ingonyama,我們相信算法是彌合這一差距的重要組成部分,我們的團隊目前正專注於相關算法的研究和开發。
總結
全同態加密的安全性和大語言模型的計算能力的結合可以重新定義人工智能交互,確保效率和隱私兩者兼顧。雖然存在一些挑战,但通過持續的研究和創新,我們可以實現與AI模型(如ChatGPT)的交互既具有即時性又具有隱私性的未來。這將爲用戶提供更高效和安全的體驗,並推動人工智能技術在各個領域的廣泛應用
標題:使用全同態(FHE)解決LLM的隱私問題
地址:https://www.coinsdeep.com/article/55795.html
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。