來源: 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)的交互作用既具有即時性又具有隱私性的未來。這將為用戶提供更有效率和安全的體驗,並推動人工智慧技術在各個領域的廣泛應用