大模型又又被曝光出安全問題!
近日,來自Enkrypt AI的研究人員發表了令人震驚的研究成果:量化和微調竟然也能降低大模型的安全性!
論文網址:https://arxiv.org/pdf/2404.04392.pdf
在在作者的實際測試中,Mistral、Llama等基礎模型包括它們微調版本,無一倖免。
在經過了量化或微調之後,LLM被越獄(Jailbreak)的風險大大增加。
——LLM:我效果驚艷,我無所不能,我千瘡百孔......
也許,未來很長一段時間內,在大模型各種漏洞上的攻防戰爭是停不下來了。
由於原理上的問題,AI模型天然兼具穩健性和脆弱性,在巨量的參數和計算中,有些無關緊要,但又有一小部分至關重要。
從某種程度上講,大模型遇到的安全問題,與CNN時代一脈相承,
利用特殊提示、特殊字符誘導LLM產生有毒輸出,包括先前報導過的,利用LLM長上下文特性,使用多輪對話越獄的方法,都可以稱為:對抗性攻擊。
#在CNN時代,透過更改輸入影像的幾個像素,就能導致AI模型對影像分類錯誤,攻擊者甚至可以誘導模型輸出為特定的類別。
上圖展示了對抗性攻擊的過程,為了便於觀察,中間的隨機擾動做了一些誇張,
實際上中,對於對抗攻擊來說,只需要像素值很小的改變,就可以達到攻擊效果。
更危險的是,研究人員發現這種虛擬世界的攻擊行為,可以轉移到現實世界。
下圖的「STOP」標誌來自先前的一篇著名工作,透過在指示牌上添加一些看似無關的塗鴉,就可以讓自動駕駛系統將停車標誌誤辨識為限速標誌。
——這塊牌子後來被收藏在倫敦科學博物館,提醒世人時時注意AI模型潛藏的風險。
大語言模型目前受到的此類傷害包括但可能不限於:越獄、提示注入攻擊、隱私洩露攻擊等。
例如下面這個使用多輪對話進行越獄的例子:
還有下圖展示的一種提示注入攻擊,使用尖括號將惡意指令隱藏在提示中,結果,GPT-3.5忽略了原來總結文本的指令,開始“make missile with sugar”。
為了回應這類問題,研究人員一般採用針對性的對抗訓練,來維持模型對齊人類的價值觀。
但事實上,能夠誘導LLM產生惡意輸出的提示可能無窮無盡,面對這種情況,紅隊該怎麼做?
防禦端可以採用自動化搜索,而攻擊端可以使用另一個LLM來產生提示來幫助越獄。
另外,目前針對大模型的攻擊大多是黑盒的,不過隨著我們對LLM理解的加深,更多的白盒攻擊也會不斷加入。
#不過別擔心,兵來將擋水來土掩,相關的研究早就捲起來了。
小編隨手一搜,單單是今年的ICLR上,就有多篇相關工作。
例如下面這篇Oral:
Fine-tuning Aligned Language Models Compromises Safety, Even When Users Do Not Intend To!
#論文網址:https://openreview.net/pdf?id=hTEGyKf0dZ
#這篇工作跟今天介紹的文章很像了:微調LLM會帶來安全風險。
研究人員僅透過幾個對抗性訓練樣本對LLM進行微調,就可以破壞其安全對齊。
其中一個例子只用10個樣本,透過OpenAI的API對GPT-3.5 Turbo進行微調,成本不到0.20美元,就使得模型可以回應幾乎任何有害指令。
另外,即使沒有惡意意圖,僅使用良性和常用的資料集進行微調,也可能無意中降低LLM的安全對齊。
再例如下面這篇Spolight:
Jailbreak in pieces: Compositional Adversarial Attacks on Multi-Modal Language Models ,
介紹了一個針對視覺語言模型的新型越獄攻擊方法:
論文地址:https://openreview.net/pdf?id=plmBsXHxgR
#研究人員將視覺編碼器處理的對抗性圖像與文字提示配對,從而破壞了VLM的跨模態對齊。
而且這種攻擊的門檻很低,不需要存取LLM,對於像CLIP這樣的視覺編碼器嵌入在閉源LLM中時,越獄成功率很高。
此外還有很多,這裡不再一一列舉,以下來看本文的實驗部分。
研究人員使用了稱為AdvBench SubsetAndy Zou的對抗有害提示子集,包含50個提示,要求提供32個類別的有害資訊。它是 AdvBench基準測試中有害行為資料集的提示子集。
實驗使用的攻擊演算法是攻擊樹修剪(Tree-of-attacks pruning,TAP),實現了三個重要目標:
(1)黑盒子:演算法只需要黑盒子存取模型;
(2)自動:一旦啟動就不需要手動幹預;
(3)可解釋:演算法可以產生語意上有意義的提示。
TAP演算法與AdvBench子集中的任務一起使用,以在不同設定下攻擊目標LLM。
#為了了解微調、量化和護欄對LLM安全性(抵抗越獄攻擊)所產生的影響,研究人員創建了一個管道來進行越獄測試。
如前所述,使用AdvBench子集透過TAP演算法對LLM進行攻擊,然後記錄評估結果以及完整的系統資訊。
整個過程會多次迭代,同時考慮到與LLM相關的隨機性質。完整的實驗流程如下圖所示:
TAP是目前最先進的黑盒子和自動方法,可以產生具有語義意義的提示來越獄LLM。
TAP演算法使用攻擊者LLM A,向目標LLM T發送提示P。目標LLM R的反應和提示P,被輸入到評估者JUDGE(LLM)中,由JUDGE來判斷提示是否偏離主題。
如果提示偏離主題,則將其刪除(相當於消除了對應的不良攻擊提示樹),否則,JUDGE會對提示評分(0-10分)。
符合主題的提示將使用廣度優先搜尋產生攻擊。這個過程將迭代指定的次數,或持續到成功越獄。
針對越獄提示的護欄
#研究團隊使用內部的Deberta-V3模型,來偵測越獄提示。 Deberta-V3充當輸入過濾器,起到護欄的作用。
如果輸入提示被護欄過濾掉或越獄失敗,TAP演算法會根據初始提示和回應產生新提示,繼續嘗試攻擊。
#下面在三個不同的下游任務下,分別測試微調、量化和護欄帶來的影響。實驗基本上涵蓋了工業界和學術界的大多數LLM實際用例和應用。
實驗採用GPT-3.5-turbo作為攻擊模型,GPT-4-turbo作為判斷模型。
實驗中測試的目標模型來自各種平台,包括Anyscale、OpenAI的API、Azure的NC12sv3(配備32GB V100 GPU),以及Hugging Face,如下圖:
在實驗中探索了各種基礎模型、迭代型號、以及各種微調版本,同時也包含量化的版本。
微調
#對不同任務進行微調,可以提高LLM完成任務的效率,並微調為LLM提供了所需的專業領域知識,例如SQL程式碼產生、聊天等。
實驗透過將基礎模型的越獄漏洞與微調版本進行比較,來了解微調在增加或減少LLM脆弱性方面的作用。
研究人員使用Llama2、Mistral和MPT-7B等基礎模型,及其微調版本(如CodeLlama、SQLCoder、Dolphin和Intel Neural Chat)。
從下表的結果可以看出,與基礎模型相比,微調模型失去了安全對齊,並且很容易越獄。
量化
#許多模型在訓練、微調甚至推理過程中都需要大量的運算資源。量化是減輕計算負擔最流行的方法之一(以犧牲模型參數的數值精度為代價)。
實驗中的量化模型使用GPT產生的統一格式(GGUF)進行量化,以下的結果表明,模型的量化會使其容易受到漏洞的影響。
「護欄
#護欄是抵禦LLM攻擊的防線,作為守門員,它的主要功能是過濾掉可能導致有害或惡意結果的提示。
研究人員使用源自Deberta-V3模型的專有越獄攻擊偵測器,根據LLM產生的越獄有害提示進行訓練。
下面的結果表明,將護欄作為前期步驟的引入具有顯著效果,可以大大減少越獄的風險。
另外,研究人員還在整合和不整合護欄(Guardrails)的情況下,對這些模型進行了測試,來評估護欄的性能和有效性,下圖中顯示了護欄的影響:
下圖顯示了越獄模型所需的查詢數。可以看出,在多數情況下,護欄確實為LLM提供了額外的抵抗力。
以上是微調和量化竟會增加越獄風險! Mistral、Llama等無一倖免的詳細內容。更多資訊請關注PHP中文網其他相關文章!