ChatGPT參數(shù)規(guī)模被扒:只有7B
ChatGPT慘遭攻擊,參數(shù)規(guī)模終于被扒出來了——
很可能只有7B(70億)。
消息來自南加州大學最新研究,他們使用一種攻擊方法,花費不到1000美元就把最新版gpt-3.5-turbo模型的機密給挖了出來。
果然,OpenAI不Open,自有別人幫他們Open。
具體來說,南加大團隊三位作者破解出了未公布的gpt-3.5-turbo嵌入向量維度(embedding size)為4096或4608。
而幾乎所有已知的開源大模型如Llama和Mistral,嵌入向量維度4096的時候都是約7B參數(shù)規(guī)模。
其它比例的話,就會造成網(wǎng)絡過寬或過窄,已被證明對模型性能不利。
因此南加大團隊指出,可以推測gpt-3.5-turbo的參數(shù)規(guī)模也在7B左右,除非是MoE架構可能不同。
數(shù)月前,曾有微軟CODEFUSION論文意外泄露當時GPT-3.5模型參數(shù)為20B,在后續(xù)論文版本中又刪除了這一信息。
當時引起了一陣軒然大波,業(yè)界很多人分析并非不可能,先訓練一個真正的千億參數(shù)大模型,再通過種種手段壓縮、蒸餾出小模型,并保留大模型的能力。
而現(xiàn)在的7B,不知道是從一開始20B的消息就不準確,還是后來又再次壓縮了。
但無論是哪一種,都證明OpenAI有很恐怖的模型優(yōu)化能力。
撬開ChatGPT的保護殼
那么,南加大團隊是怎么扒出ChatGPT未公開配置的呢?
還要說到現(xiàn)代語言模型中普遍存在的“Softmax瓶頸”。
當Transformer網(wǎng)絡處理完輸入,會得到一個低維的特征向量,也就是Embedding。這個特征向量再經(jīng)過Softmax變換,就得到了最后的概率分布輸出。
問題就出在Softmax這里,因為矩陣的秩受限于特征向量的維度,所以大模型的輸出空間事實上被限制在了一個低維的線性子空間里。
這就像是無論你的衣柜里有多少件衣服,最后能穿出去的搭配,其實是有限的。這個”衣柜”的大小,就取決于你的“特征向量維度”有多大。
南加大團隊抓住了這一點,他們發(fā)現(xiàn),只要從API調(diào)用中獲取到足夠多的輸出樣本,就足以拼湊出這個大模型的特征向量維度。
有了這個特征向量維度,可以進一步推斷大模型的參數(shù)規(guī)模、還原出完整的概率輸出,在API悄悄更新時也能發(fā)現(xiàn)變化,甚至根據(jù)單個輸出判斷來自哪個大模型。
更狠的是,推測特征向量維度并不需要太多的樣本。
以OpenAI的gpt-3.5-turbo為例,采集到4000多個樣本就綽綽有余了,花費還不到1000美元。
在論文的最后,團隊還探討了目前的幾個應對這種攻擊的方法,認為這些方法要么消除了大模型的實用性,要么實施起來成本高昂。
不過他們倒也不認為這種攻擊不能有效防護是個壞事,
一方面無法用此方法完整竊取模型參數(shù),破壞性有限。
另一方面允許大模型API用戶自己檢測模型何時發(fā)生變更,有助于大模型供應商和客戶之間建立信任,并促使大模型公司提供更高的透明度。
這是一個feature,不是一個bug。
論文:
https://arxiv.org/abs/2403.09539。
參考鏈接:
https://x.com/TheXeophon/status/1768659520627097648。