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