什麽?谷歌成功偷家 OpenAI,還竊取到了gpt-3.5-turbo關鍵信息???
是的,你沒看錯。
根據谷歌自己的說法,它不僅還原了 OpenAI 大模型的整個投影矩陣(projection matrix),還知道了确切隐藏維度大小。
而且方法還極其簡單——
隻要通過 API 訪問,不到 2000 次巧妙的查詢就搞定了。
成本根據調用次數來看,最低20 美元以内(折合人民币約 150 元)搞定,并且這種方法同樣适用于GPT-4。
好家夥,這一回奧特曼是被将軍了!
這是谷歌的一項最新研究,它報告了一種攻擊竊取大模型關鍵信息的方法。
基于這種方法,谷歌破解了GPT 系列兩個基礎模型Ada 和 Babbage 的整個投影矩陣。如隐藏維度這樣的關鍵信息也直接破獲:
一個爲 1024,一個爲 2048。
所以,谷歌是怎麽實現的?
攻擊大模型的最後一層
該方法核心攻擊的目标是模型的嵌入投影層(embedding projection layer),它是模型的最後一層,負責将隐藏維度映射到 logits 向量。
由于 logits 向量實際上位于一個由嵌入投影層定義的低維子空間内,所以通過向模型的 API 發出針對性查詢,即可提取出模型的嵌入維度或者最終權重矩陣。
通過大量查詢并應用奇異值排序(Sorted Singular Values)可以識别出模型的隐藏維度。
比如針對 Pythia 1.4B 模型進行超過 2048 次查詢,圖中的峰值出現在第 2048 個奇異值處,則表示模型的隐藏維度是 2048.
可視化連續奇異值之間的差異,也能用來确定模型的隐藏維度。這種方法可以用來驗證是否成功從模型中提取出關鍵信息。
在 Pythia-1.4B 模型上,當查詢次數達到 2047 時出現峰值,則表明模型隐藏維度大小爲 2048.
并且攻擊這一層能夠揭示模型的 " 寬度 "(即模型的總體參數量)以及更多全局性的信息,還能降低一個模型的 " 黑盒程度 ",給後續攻擊 " 鋪路 "。
研究團隊實測,這種攻擊非常高效。無需太多查詢次數,即可拿到模型的關鍵信息。
比如攻擊 OpenAI 的 Ada 和 Babbage 并拿下整個投影矩陣,隻需不到 20 美元;攻擊 GPT-3.5 需要大約 200 美元。
它适用于那些 API 提供完整 logprobs 或者 logit bias 的生成式模型,比如 GPT-4、PaLM2。
論文中表示,盡管這種攻擊方式能獲取的模型信息并不多,但是能完成攻擊本身就已經很讓人震驚了。
已通報 OpenAI
如此重要的信息被競争對手以如此低成本破解,OpenAI 還能坐得住嗎?
咳咳,好消息是:OpenAI 知道,自己人還轉發了一波。
作爲正經安全研究,研究團隊在提取模型最後一層參數之前,已征得 OpenAI 同意。
攻擊完成後,大家還和 OpenAI 确認了方法的有效性,最終删除了所有與攻擊相關的數據。
所以網友調侃:
一些具體數字沒披露(比如 gpt-3.5-turbo 的隐藏維度),算 OpenAI 求你的咯。
值得一提的是,研究團隊中還包括一位 OpenAI 研究員。
這項研究的主要參與者來自谷歌 DeepMind,但還包括蘇黎世聯邦理工學院、華盛頓大學、麥吉爾大學的研究員們,以及 1 位 OpenAI 員工。
此外,作者團隊也給了防禦措施包括:
從 API 下手,徹底删除 logit bias 參數;或者直接從模型架構下手,在訓練完成後修改最後一層的隐藏維度 h 等等。
基于此,OpenAI 最終選擇修改模型 API," 有心人 " 想複現谷歌的操作是不可能了。
但不管怎麽說:
谷歌等團隊的這個實驗證明,OpenAI 鎖緊大門也不一定完全保險了。
(要不你自己主動點開源了吧)
論文鏈接:
https://arxiv.org/abs/2403.06634
參考鏈接:
https://twitter.com/arankomatsuzaki/status/1767375818391539753