利用概念激活向量破解大模型的安全對齊,揭示 LLM 重要安全風險漏洞。
來自人大 & 港科大的研究人員提出安全概念激活向量(SCAV)框架,通過精确解讀大模型的安全機制來指導攻擊。
基于 SCAV 的攻擊方法能夠生成嵌入級和提示級的攻擊,自動調整擾動參數,并顯著提升了攻擊成功率和響應質量。
在對七個開源大模型的評估中,基于關鍵詞匹配标準的平均攻擊成功率(ASR)爲 99.14%。同時,研究表明,基于 SCAV 生成的攻擊提示具有跨模型遷移的潛力,可在 GPT-4 等黑盒 API 上取得成功。
提出 SCAV 框架
使用 SCAV 框架誘導攻擊,首先需要訓練 SCAV 分類器。
通過對惡意和安全指令嵌入的降維分析,研究者發現這兩類指令在低維空間中呈現明顯的分隔。因此,通過在模型的嵌入空間中定義一個 " 安全 " 與 " 惡意 " 的概念分離面,就能夠識别出模型在不同輸入上對 " 安全性 " 的反應。SCAV 分類器的目标是在嵌入空間中建立一種簡單的線性模型,将惡意指令和安全指令進行分離,以便在後續攻擊中利用這一特性。
△圖 1:SCAV 分類器的訓練流程
SCAV 框架可以誘導兩種攻擊層次——嵌入層(embedding-level)和提示層(prompt-level)。
△圖 2:SCAV 誘導的嵌入層攻擊
嵌入層攻擊通過在模型的中間層嵌入空間中引入微小擾動來改變模型對輸入的安全判斷,從而繞過安全機制。具體來說,模型的每一層都可以用對應輸出的嵌入訓練 SCAV 分類器,分類器在該層的測試集準确率反映了模型在該層的安全機制的存在與強弱。研究發現,對于經過安全對齊的模型(例如 LLaMA),其早期層通常具有較低的測試集準确率,而在中後期層通常具有逼近 100% 的測試集準确率;而對于未經過安全對齊的模型(例如 Alpaca),其所有層的 SCAV 分類器測試集準确率通常在 85% 以下,行爲與對齊模型呈現明顯不同(如圖 3 所示)。因此,嵌入層攻擊将錨定那些測試集準确率大于阈值 P1(設定 P1=90%)的層。
△圖 3:不同模型各層的 SCAV 分類器測試集準确率變化
在模型處理一個惡意指令的前向傳播過程中,利用 SCAV 分類器的參數在各層引入一個擾動,使得所在層的輸出嵌入變爲:
這個擾動的參數 ε 爲大小,v 爲方向,需要滿足約束條件
這個約束條件的直觀意義就是降低嵌入被模型确認爲惡意指令的概率 Pm 到阈值 P0(設定 P0=0.01%)以下,從而逆轉模型的安全概念認知,同時保證對模型盡量小的修改。由于這個優化問題有閉式解,因此不同于已有的基于優化的攻擊手段,執行這種攻擊是非常快速的。
在模型處理惡意指令的每一個新生成 token 的過程中,逐層應用這種擾動,就可以達到高效、高質量的攻擊結果。
△圖 4:SCAV 誘導的提示層攻擊
提示層攻擊則是通過修改輸入提示詞來進行攻擊的一種手段。研究發現,現有的基于優化的攻擊手段如 AutoDAN 等,其優化的目标往往不是模型的真實輸出。而 SCAV 分類器正提供了模型對安全認知的精确描述,因此更适合用于優化目标。通過将 AutoDAN 的分層遺傳優化算法的優化目标修改爲基于 SCAV 分類器的函數:
提示層攻擊能夠達到比現有的基于優化的攻擊手段更好的效果。值得注意的是,在開源模型上訓練得到的攻擊提示對于 GPT-4 的 API 也一樣有效,具有相當的可遷移性。
實驗和評價
研究評估了 SCAV 誘導的嵌入層攻擊和提示層攻擊與 DeepInception、AutoDAN、GCG、RepE、JRE、Soft prompt 等基線方法的攻擊效果。惡意指令數據集爲 Advbench 和 StrongREJECT。
評價指标有兩類:一是常用的基于關鍵詞匹配計算出的攻擊成功率(ASR-keyword),二是基于 GPT-4 進行評價的進階指标,ASR-answer、ASR-useful 和 Language Flaws,分别從不同的角度考察模型回複的質量。
達到這一效果所需的數據總量則比基線方法少得多。
如圖 5 所示,研究結果表明,受益于 SCAV 良好的建模與刻畫安全機制的能力,僅需 5 對惡意 - 安全指令樣本就可以達到 100% 的 ASR-keyword。而在僅有一對數據時,基線方法幾乎失去效果,但 SCAV 仍然保持了 80% 左右的 ASR-keyword,并且在随機多次的實驗中具有更小的方差。
圖 5:在使用不同訓練數據數量時,SCAV 和基線方法的 ASR-keyword 比較,顯示方差
提示層級的攻擊結果如表 3、表 4 所示。
表 3 顯示,SCAV 方法始終表現最佳,相比于手動設計或優化攻擊提示的基線方法,ASR 相關的标準提高了 12% 到 42%,Language Flaws 最多減少了 18%。這證明了優化目标的有效性,即同時提高攻擊成功率并保持模型性能。
表 4 顯示了将從 LLaMA 模型學習的提示應用于 GPT-4 的結果。SCAV 方法通常表現更好,ASR 相關标準最多提高 48%,Language Flaws 最多減少 26%。這表明通過研究某些白盒模型的内部工作原理所學習的攻擊提示可能仍然對其他黑盒 API 有用。
見解
基于 SCAV 的攻擊過程,研究者們提出了如下見解。
見解一:當前開源和閉源的大模型均存在嚴重的安全風險。
表 5 顯示了使用 SCAV 攻擊 7 個知名開源大模型的結果。可以看到,除了一個模型外,所有大模型對超過 85% 的惡意指令都提供了相關答案(ASR-answer)。響應質量也很高,平均 ASR-useful 爲 87%,Language Flaws 平均爲 12%。此外,在大多數情況下,ASR-keyword 接近 100%。這非常危險,因爲最近發布的開源 LLM 的性能正在逐漸提高,并且幾乎不需要成本就可以獲得對任何惡意指令的響應,因爲不需要對大模型進行微調或使用大量訓練數據。
表 6 顯示了使用各種 SCAV 攻擊手段組合對 GPT-4 攻擊的結果。即使是最先進的 GPT-4 對 Advbench 上的 84% 惡意指令返回有用的響應,并且對 StrongREJECT 上的 54% 惡意指令給出有用的響應。這表明,黑盒模型的對齊也可能通過使用現有攻擊方法顯著逆轉。因此,迫切需要開發有效的方法來防禦當前的攻擊方法或停止開源高性能大模型。
見解二:遺忘學習等現有防禦方法并不能抹消 SCAV 所揭示的安全漏洞。
現有的防禦方法如遺忘學習等是否能有效幫助大語言模型忘記有害知識?通過對一個經過 Eraser 遺忘學習微調的 LLaMA-2-7B-Chat 版本應用 SCAV 攻擊方法,表 7 顯示,仍然可以誘導大模型産生許多有害響應,這表明現有的遺忘學習并不能抹消 SCAV 所揭示的安全漏洞。此外,研究者們還發現 ICD、Self-Reminder 等經典的防禦方法對嵌入層攻擊這種手段基本不适用,說明了 SCAV 安全漏洞的高危特性。
見解三:對大模型可區分安全和惡意嵌入這一漏洞的認識
圖 6:通過 ( a ) 攻擊單層; ( b ) 攻擊多層,以及 ( c ) 将嵌入級攻擊轉移到其他白盒大模型,揭示大模型的安全機制
線性可分性與大模型的安全機制之間可能存在密切關系。
之前的實驗表明,對齊的模型可以在中晚期層線性分離來自惡意和安全指令的嵌入(圖 1),并且由線性分類器引導的攻擊成功率很高,這表明大模型的安全機制可能很好地被線性可分性建模。爲了更好地理解它們之間的關系,進一步攻擊了 LLaMA-2-7B-Chat 的第 0、第 10、第 20 和第 30 層。如圖 6a 所示,對線性可分層(第 10、20、30 層)的攻擊始終導緻 ASR-keyword 的增加,而對其他層(第 0 層)的攻擊則沒有改善 ASR-keyword。基于這些結果,研究者推測,對于每一層,線性可分性不僅可能表明大模型理解安全概念,還可能意味着大模型将在後續層中使用這一安全概念來生成響應。
不同的層可能從相關但不同的角度建模安全機制。
圖 6b 顯示了在攻擊 LLaMA-2-7B-Chat 的不同層時 Pm 的值,有兩個現象。首先,攻擊單一層(第 10 層)會導緻當前層的 Pm 較低,但随後在後續層中 Pm 會增加。這意味着後面的層以某種方式逐漸通過利用嵌入的現有信息來糾正攻擊,可能是因爲模型從不同的角度建模安全機制。其次,當更多層被擾動(例如,第 10 層到第 13 層)時,後續層的 Pm 不再能夠被模型糾正。這表明某一些層可能共同決定了從不同角度的整體安全機制。
不同的白盒大模型可能在其安全機制上存在一些共性。
圖 6c 展示了在将嵌入級攻擊從一個白盒模型應用到另一個模型時的 ASR-keyword。可以看到,ASR-keyword 有時相當大(接近 100%)。這表明大模型的安全機制可能具有某種共性,并且 SCAV 在某種意義上可能已經表征了這種共性。然而,關于何時可以轉移以及爲什麽會轉移,仍然缺乏清晰的解釋。
結論
在本研究中,研究者們提出了一種基于安全概念激活向量(SCAV)的框架,以揭示大語言模型在安全對齊方面的潛在漏洞。通過在模型的嵌入空間中定義 " 安全 " 與 " 惡意 " 指令的分離面,SCAV 框架能夠在嵌入層和提示層引導兩種攻擊方式,顯著提升了對模型安全機制的攻擊成功率和攻擊遷移性。
實驗表明,SCAV 方法在更少樣本下比基線方法更有效,且減少了生成内容的缺陷。研究指出,大模型在嵌入空間的線性可分性是其安全機制的薄弱點,現有防禦方法難以完全阻止 SCAV 攻擊,強調了開發更強安全防護的緊迫性。
目前相關論文和代碼已公開,感興趣可以進一步了解。
論文鏈接:
https://arxiv.org/pdf/2404.12038
代碼倉庫:
https://github.com/SproutNan/AI-Safety_SCAV
— 完 —
投稿請發郵件到:
标題注明【投稿】,告訴我們:
你是誰,從哪來,投稿内容
附上論文 / 項目主頁鏈接,以及聯系方式哦
我們會(盡量)及時回複你
點這裏關注我,記得标星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~
>