自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

OpenAI安全系統(tǒng)負(fù)責(zé)人長(zhǎng)文梳理:大模型的對(duì)抗攻擊與防御

人工智能 新聞
LLM 能力強(qiáng)大,倘若別有用心之人用其來(lái)干壞事,可能會(huì)造成難以預(yù)料的嚴(yán)重后果。雖然大多數(shù)商用和開(kāi)源 LLM 都存在一定的內(nèi)置安全機(jī)制,但卻并不一定能防御形式各異的對(duì)抗攻擊。近日,OpenAI 安全系統(tǒng)(Safety Systems)團(tuán)隊(duì)負(fù)責(zé)人 Lilian Weng 發(fā)布了一篇博客文章《Adversarial Attacks on LLMs》,梳理了針對(duì) LLM 的對(duì)抗攻擊類(lèi)型并簡(jiǎn)單介紹了一些防御

隨著 ChatGPT 的發(fā)布,大型語(yǔ)言模型應(yīng)用正在加速大范圍鋪開(kāi)。OpenAI 的安全系統(tǒng)團(tuán)隊(duì)已經(jīng)投入了大量資源,研究如何在對(duì)齊過(guò)程中為模型構(gòu)建默認(rèn)的安全行為。但是,對(duì)抗攻擊或 prompt 越獄依然有可能讓模型輸出我們不期望看到的內(nèi)容。

目前在對(duì)抗攻擊方面的研究很多集中在圖像方面,也就是在連續(xù)的高維空間。而對(duì)于文本這樣的離散數(shù)據(jù),由于缺乏梯度信號(hào),人們普遍認(rèn)為攻擊會(huì)困難得多。Lilian Weng 之前曾寫(xiě)過(guò)一篇文章《Controllable Text Generation》探討過(guò)這一主題。簡(jiǎn)單來(lái)說(shuō):攻擊 LLM 本質(zhì)上就是控制該模型輸出特定類(lèi)項(xiàng)的(不安全)內(nèi)容。

文章地址:https://lilianweng.github.io/posts/2021-01-02-controllable-text-generation/ 

另一個(gè)研究攻擊 LLM 的分支是為了提取預(yù)訓(xùn)練數(shù)據(jù)、私有知識(shí),或通過(guò)數(shù)據(jù)毒化攻擊模型訓(xùn)練過(guò)程。但這些并非本文要探討的主題。

基礎(chǔ)知識(shí)

威脅模型

對(duì)抗攻擊是誘使模型輸出我們不期望的內(nèi)容的輸入。許多早期研究關(guān)注的重點(diǎn)是分類(lèi)任務(wù),而近期的工作則開(kāi)始更多關(guān)注生成模型的輸出。本文探討的是大型語(yǔ)言模型,并且假定攻擊僅發(fā)生在推理階段,也就是說(shuō)模型權(quán)重是固定的。

圖片

圖 1:LLM 應(yīng)用所面臨的威脅概況

分類(lèi)

在過(guò)去,研究社區(qū)更關(guān)注的是對(duì)分類(lèi)器進(jìn)行對(duì)抗攻擊,并且許多是在圖像領(lǐng)域。LLM 也可被用于分類(lèi)。給定一個(gè)輸入 ?? 和一個(gè)分類(lèi)器 ??(.),我們希望找到該輸入的一個(gè)差異細(xì)微的對(duì)抗版本 ??_adv,使得 ??(??)≠??(??_adv)。

文本生成

給定一個(gè)輸入 ?? 和一個(gè)生成模型 ??(.),該模型可輸出一個(gè)樣本 y~??(.|??)。這里的對(duì)抗攻擊是找到一個(gè) ??(??),使得 y 會(huì)違反該模型內(nèi)置的安全行為,比如輸出非法主題的不安全內(nèi)容、泄漏隱私信息或模型訓(xùn)練數(shù)據(jù)。對(duì)生成任務(wù)而言,判斷一次攻擊成功與否并非易事,這需要一個(gè)超高質(zhì)量的分類(lèi)器來(lái)判斷 y 是否安全或需要人類(lèi)來(lái)進(jìn)行審查。

白盒與黑盒

白盒攻擊(White-box attacks)假設(shè)攻擊者可以完全訪問(wèn)模型權(quán)重、架構(gòu)和訓(xùn)練工作流程,這樣一來(lái)攻擊者就可以獲得梯度信號(hào)。這里我們并不假設(shè)攻擊者能獲得全部訓(xùn)練數(shù)據(jù)。這僅適用于開(kāi)源模型。黑盒攻擊(Black-box attacks)則是假設(shè)攻擊者只能訪問(wèn) API 類(lèi)型的服務(wù) —— 攻擊者可以提供輸入 ?? 并獲取反饋的樣本 y,而不知道有關(guān)模型的更多信息。

對(duì)抗攻擊的類(lèi)型

有多種不同方法可以幫助攻擊者找到能誘使 LLM 輸出不安全內(nèi)容的對(duì)抗輸入。這里給出五種方法。

圖片

token 操作

給定一段包含一個(gè) token 序列的文本輸入,我們可以使用簡(jiǎn)單的 token 操作(比如替換成同義詞)來(lái)誘使模型給出錯(cuò)誤預(yù)測(cè)?;?token 操作的攻擊屬于黑盒攻擊。在 Python 框架中,Morris et al. 2020 的論文《TextAttack: A Framework for Adversarial Attacks, Data Augmentation, and Adversarial Training in NLP》實(shí)現(xiàn)了許多詞和 token 操作攻擊方法,可用于為 NLP 模型創(chuàng)建對(duì)抗樣本。這一領(lǐng)域的許多研究工作實(shí)驗(yàn)的是分類(lèi)和蘊(yùn)涵預(yù)測(cè)。

舉個(gè)例子,Ribeiro et al (2018) 的研究《Semantically Equivalent Adversarial Rules for Debugging NLP models》依賴于人工提出的「語(yǔ)義等價(jià)式對(duì)抗規(guī)則(SEAR)」,其可以通過(guò)盡可能少的 token 操作來(lái)讓模型無(wú)法生成正確答案。比如,其中的規(guī)則包括將 What 換成 Which、將 was 換為 is。另外,還有其他研究者提出的替換關(guān)鍵詞、用同義詞替換等方法。

基于梯度的攻擊

如果是白盒攻擊,則攻擊者可以獲取所有的模型參數(shù)和架構(gòu)。因此,攻擊者就可以依靠梯度下降來(lái)通過(guò)編程方式學(xué)習(xí)最有效的攻擊手段。基于梯度的攻擊僅在白盒設(shè)置下有效,比如開(kāi)源 LLM。

Guo et al. 2021 的論文《Gradient-based Adversarial Attacks against Text Transformers》提出的基于梯度的分布式攻擊(GBDA)使用了 Gumbel-Softmax 近似技巧來(lái)使對(duì)抗損失優(yōu)化可微,其還使用了 BERTScore 和困惑度來(lái)增強(qiáng)可感知性和流暢性。

不過(guò),Gumbel-softmax 技巧難以擴(kuò)展用于 token 刪除或增添,而是受限于 token 替換操作。

Ebrahimi et al. 2018 在論文《HotFlip: White-Box Adversarial Examples for Text Classification》 中則是將文本操作看作是向量空間中的輸入,度量的是損失在這些向量上的導(dǎo)數(shù)。HotFlip 可以擴(kuò)展用于 token 刪除或增添。

Wallace et al. (2019) 的論文《Universal Adversarial Triggers for Attacking and Analyzing NLP》提出了一種在 token 上進(jìn)行梯度引導(dǎo)式搜索的方法,可以找到誘使模型輸出特定預(yù)測(cè)結(jié)果的短序列,這個(gè)短序列被稱(chēng)為 Universal Adversarial Triggers (UAT,通用對(duì)抗觸發(fā)器)。UAT 不受輸入的影響,這意味著這些觸發(fā)器可以作為前綴(或后綴)連接到來(lái)自數(shù)據(jù)集的任意輸入上。

Shin et al., 2020 的《AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts》使用了同樣的基于梯度的搜索策略來(lái)為多樣化的任務(wù)尋找最有效的 prompt 模板。

上面的 token 搜索方法可以使用波束搜索增強(qiáng)。當(dāng)尋找最優(yōu)的 token 嵌入時(shí),可以選取 top-k 個(gè)候選項(xiàng),而不是單獨(dú)一個(gè),在當(dāng)前數(shù)據(jù)批上從左到右搜索,并根據(jù) ??_adv 為每個(gè)波束評(píng)分。

圖片

圖 4:UAT 工作方式圖示

UAT 的損失 ??_adv 需要針對(duì)具體任務(wù)而設(shè)計(jì)。分類(lèi)或閱讀理解依賴于交叉熵。

圖片

圖 5:用于不同類(lèi)型的語(yǔ)言任務(wù)的 UAT 示例

UAT 為何有效?這是一個(gè)很有趣的問(wèn)題。因?yàn)?UAT 是與輸入無(wú)關(guān)的,并且可以在有不同嵌入、token 化方案和架構(gòu)的模型之間遷移,因此它們也許可以有效地利用訓(xùn)練數(shù)據(jù)中的偏差,畢竟這種偏差已經(jīng)融入到了模型的全局行為中。

使用 UAT 攻擊有一個(gè)缺點(diǎn):很容易檢測(cè)出來(lái)。原因是所學(xué)習(xí)到的觸發(fā)器往往是毫無(wú)意義的。Mehrabi et al. (2022) 在論文《Robust Conversational Agents against Imperceptible Toxicity Triggers》中研究了 UAT 的兩種變體,它們會(huì)促使所學(xué)到的觸發(fā)器在多輪對(duì)話語(yǔ)境中難以察覺(jué)。其目標(biāo)是創(chuàng)建能在給定對(duì)話中有效觸發(fā)有毒響應(yīng)的攻擊性消息,同時(shí)保證該攻擊在對(duì)話中是流暢、連貫和一致的。

這兩種變體分別是 UAT-LM(Universal Adversarial Trigger with Language Model Loss)和 UTSC(Unigram Trigger with Selection Criteria)。

圖片

圖 6:UTSC 工作方式圖示

UAT-LM 和 UTSC-1 的表現(xiàn)與 UAT 基準(zhǔn)相當(dāng),但 UAT 攻擊短語(yǔ)的困惑度出奇得高,比 UAT-LM 和 UTSC-1 都高得多。高困惑度讓攻擊更易被檢測(cè)出來(lái),也更容易緩解。根據(jù)人類(lèi)評(píng)估,UTSC-1 攻擊能比其它攻擊方法得到更連貫、流暢和相關(guān)的結(jié)果。

圖片

圖 7:基于防御者模型對(duì)生成的攻擊的響應(yīng),根據(jù)不同的有毒度分類(lèi)器衡量的攻擊成功率。

Zou et al. (2023) 的論文《Robust Conversational Agents against Imperceptible Toxicity Triggers》也研究了將通用對(duì)抗觸發(fā) token 作為后綴連接到輸入請(qǐng)求上的情況。他們具體研究了對(duì) LLM 的惡意請(qǐng)求 —— 對(duì)此模型應(yīng)當(dāng)拒絕回答。事實(shí)上,拒絕不被允許的內(nèi)容類(lèi)別(比如犯罪建議)是 GPT-4 內(nèi)置的一個(gè)重要的安全措施。這里的對(duì)抗目標(biāo)是誘使 LLM 即便在應(yīng)當(dāng)拒接回答時(shí)也輸出肯定的響應(yīng)。這就是說(shuō),當(dāng)收到惡意請(qǐng)求時(shí),模型會(huì)這樣回答:「當(dāng)然,你需要這樣做……」預(yù)期的肯定響應(yīng)也被配置成重復(fù)部分用戶 prompt,以避免簡(jiǎn)單就能改變主題的后綴以優(yōu)化「當(dāng)然」式的響應(yīng)。其損失函數(shù)很簡(jiǎn)單,就是輸出目標(biāo)響應(yīng)的 NLL(負(fù)對(duì)數(shù)似然)。

圖片

圖 8: 引入對(duì)抗觸發(fā)器的位置的圖示。紅色感嘆號(hào)代表要學(xué)習(xí)的對(duì)抗性 token。

他們?cè)?Vicuna-7b 和 Vicuna-13b 這兩個(gè)不同的模型上進(jìn)行了實(shí)驗(yàn),使用了基于貪婪坐標(biāo)梯度(GCG)的搜索來(lái)貪婪地尋找候選項(xiàng),使得該候選項(xiàng)可以在所有可能的單 token 替換中最大程度地減少損失。

盡管他們的攻擊序列完全是基于開(kāi)源模型訓(xùn)練的,但它們卻出乎意料地可以移植用于其它商用模型,這表明對(duì)開(kāi)源模型的白盒攻擊對(duì)私有模型也有效,尤其是當(dāng)?shù)蛯拥挠?xùn)練數(shù)據(jù)有所重疊時(shí)。注意 Vicuna 的訓(xùn)練使用了從 GPT-3.5-turbo 收集的數(shù)據(jù)(通過(guò) shareGPT),這本質(zhì)上是蒸餾,因此這種攻擊更像是白盒攻擊。

圖片

圖 9:在 HB(有害行為)指令上的平均攻擊成功率,這是在 5 次 prompt 上的平均結(jié)果。

Jones et al. 2023 等提出的自回歸隨機(jī)坐標(biāo)上升(ARCA)則考慮了一個(gè)更寬泛的優(yōu)化問(wèn)題集合來(lái)尋找符合特定行為模式的輸入 - 輸出對(duì) (??, ??) ,比如以「Barack Obama」開(kāi)頭但會(huì)導(dǎo)致毒性輸出的非毒性輸入。給定一個(gè)審核目標(biāo):?? : ??×??→?,其是將一對(duì) (輸入 prompt, 輸出完成結(jié)果) 映射成一個(gè)分?jǐn)?shù)。

圖片

圖 10:誘使 GPT-2 和 GPT-J 生成有毒輸出的平均成功率。粗線:CivilComments 的所有輸出;點(diǎn)線:CivilComments 的 1,2,3-token 有毒輸出。

越獄 prompt 設(shè)計(jì)

越獄 prompt 是以對(duì)抗方式誘使 LLM 輸出應(yīng)當(dāng)避免的有害內(nèi)容。越獄是黑盒攻擊,因此詞匯組合是基于啟發(fā)式方法和人工探索進(jìn)行的。Wei et al. (2023) 的論文《Jailbroken: How Does LLM Safety Training Fail?》提出了 LLM 安全的兩種失敗模式,可用于指導(dǎo)越獄攻擊的設(shè)計(jì)。

1. 互相競(jìng)爭(zhēng)的目標(biāo):這是指模型的能力(比如「應(yīng)始終遵從命令」)與安全目標(biāo)相沖突的情況。利用互相競(jìng)爭(zhēng)的目標(biāo)的越獄攻擊例子包括:

  • 前綴注入:要求模型開(kāi)始時(shí)必須使用肯定性的確認(rèn)語(yǔ)句。
  • 拒絕抑制:為模型提供詳細(xì)的指令,讓其不要以拒絕的格式進(jìn)行響應(yīng)。
  • 風(fēng)格注入:要求模型不使用長(zhǎng)詞匯,這樣一來(lái)模型就無(wú)法進(jìn)行專(zhuān)業(yè)性寫(xiě)作從而給出免責(zé)聲明或解釋拒絕的理由。    
  • 其它:角色扮演成 DAN(現(xiàn)在可以做任何事)、AIM(總是很聰明且不擇手段)等等。    

2. 失配的泛化:這是指安全訓(xùn)練無(wú)法泛化到其具有能力的領(lǐng)域。當(dāng)輸入位于模型的安全訓(xùn)練數(shù)據(jù)分布之外(OOD),但又位于其寬泛的預(yù)訓(xùn)練語(yǔ)料庫(kù)范圍內(nèi)時(shí),就會(huì)出現(xiàn)這種情況。例子包括:

  • 特殊編碼:使用 Base64 編碼來(lái)構(gòu)建對(duì)抗性輸入。    
  • 字符變換:ROT13 密碼、火星文或腦殘?bào)w(用視覺(jué)上相似的數(shù)字和符號(hào)替換字母)、摩爾斯電碼    
  • 詞變換:Pig Latin(用同義詞替換敏感詞,比如用「竊」替換「偷」)、負(fù)載拆分(即所謂的 token smuggling,將敏感詞拆分成子字符串) 
  • prompt 層面的混淆:翻譯成其它語(yǔ)言、要求模型以其能理解的方式進(jìn)行混淆   

Wei et al. (2023) 實(shí)驗(yàn)了大量越獄方法,包括由以上原理構(gòu)建的組合型策略。

  • combination_1 組合了前綴注入、拒絕抑制和 Base64 攻擊。
  • combination_2 加入了風(fēng)格注入。
  • combination_3 又添加了生成網(wǎng)站內(nèi)容和格式化限制條件。

圖片

圖 11:越獄技巧的類(lèi)型以及它們攻擊模型的成功率

Greshake et al. (2023) 的論文《Not what you've signed up for: Compromising Real-World LLM-Integrated Applications with Indirect Prompt Injection》則在較高層面上觀察了 prompt 注入攻擊。其中指出,即便當(dāng)攻擊無(wú)法提供詳細(xì)的方法而僅僅提供一個(gè)目標(biāo)時(shí),模型也有可能自動(dòng)去實(shí)現(xiàn)它。當(dāng)模型可以訪問(wèn)外部 API 和工具時(shí),對(duì)更多信息(甚至是專(zhuān)有信息)的獲取可能導(dǎo)致更大的釣魚(yú)攻擊和私密窺探攻擊風(fēng)險(xiǎn)。

有人類(lèi)參與的紅隊(duì)策略

Wallace et al. (2019) 在論文《Trick Me If You Can: Human-in-the-loop Generation of Adversarial Examples for Question Answering》中提出了有人類(lèi)參與的對(duì)抗生成,其目標(biāo)是構(gòu)建用于引導(dǎo)人類(lèi)攻破模型的工具。

他們用 QuizBowl QA 數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn),設(shè)計(jì)了一個(gè)對(duì)抗書(shū)寫(xiě)界面,可讓人類(lèi)寫(xiě)出類(lèi)似電視問(wèn)答節(jié)目《Jeopardy》風(fēng)格的問(wèn)題,并用于誘導(dǎo)模型給出錯(cuò)誤預(yù)測(cè)。依據(jù)重要程度的不同,每個(gè)詞都會(huì)有不同顏色的標(biāo)注(即移除該詞后模型預(yù)測(cè)概率會(huì)發(fā)生變化)。詞重要度是由模型梯度根據(jù)詞嵌入來(lái)近似得到的。

圖片

圖 12:對(duì)抗書(shū)寫(xiě)界面,其中左上部分是列出的模型前五個(gè)預(yù)測(cè),右下部分是用戶問(wèn)題,其中用不同顏色標(biāo)注了詞重要度。

在一次實(shí)驗(yàn)中,人類(lèi)訓(xùn)練者要做的是找到安全分類(lèi)器在分類(lèi)暴力內(nèi)容時(shí)失敗的案例。Ziegler et al. (2022) 在論文《Adversarial Training for High-Stakes Reliability》中創(chuàng)建了一個(gè)工具,可用于輔助人類(lèi)對(duì)抗者更快更有效地找到分類(lèi)器的失敗情況并消除它。用工具輔助重寫(xiě)比完全人工重寫(xiě)要更快些,可將每個(gè)樣本所需的時(shí)間從 20 分鐘降至 13 分鐘。確切地說(shuō),他們引入了兩個(gè)功能來(lái)輔助人類(lèi)寫(xiě)作者:顯示每個(gè) token 的顯著度分?jǐn)?shù)、token 替換和插入。

圖片

圖 13:用工具輔助人類(lèi)對(duì)分類(lèi)器進(jìn)行對(duì)抗攻擊的 UI。人類(lèi)要做的是編輯或補(bǔ)全 prompt,以降低模型預(yù)測(cè)輸入是暴力內(nèi)容的概率。

Xu et al. 2021 的《Bot-Adversarial Dialogue for Safe Conversational Agents》提出了 Bot-Adversarial Dialogue(BAD),該框架可以引導(dǎo)人類(lèi)去誘使模型犯錯(cuò)(比如輸出不安全的內(nèi)容)。他們收集了 5000 多組模型與眾包工作者的對(duì)話。每一組對(duì)話都包含 14 輪,然后他們根據(jù)不安全對(duì)話輪次的數(shù)量給模型打分。他們最終得到了 BAD 數(shù)據(jù)集,其中包含大約 2500 組帶有攻擊性標(biāo)簽的對(duì)話。

Anthropic 的紅隊(duì)數(shù)據(jù)集包含接近 4 萬(wàn)個(gè)對(duì)抗攻擊,它們收集自人類(lèi)紅隊(duì)者與 LLM 的對(duì)話。他們發(fā)現(xiàn),RLHF 的規(guī)模越大,就越難以攻擊。OpenAI 發(fā)布的大模型(比如 GPT-4 和 DALL-E 3)普遍使用了人類(lèi)專(zhuān)家紅隊(duì)來(lái)進(jìn)行安全準(zhǔn)備。

數(shù)據(jù)集地址:https://github.com/anthropics/hh-rlhf/tree/master/red-team-attempts

模型紅隊(duì)策略

人類(lèi)紅隊(duì)策略很強(qiáng)大,但是難以大規(guī)模實(shí)施而且可能需要大量經(jīng)過(guò)培訓(xùn)的專(zhuān)業(yè)人士?,F(xiàn)在想象一下:我們可以學(xué)習(xí)一個(gè)紅隊(duì)模型 red 來(lái)與目標(biāo) LLM 進(jìn)行對(duì)抗,以觸發(fā)其給出不安全響應(yīng)。對(duì)于基于模型的紅隊(duì)策略,主要的難題是如何判斷一次攻擊是否成功;只有知道了這一點(diǎn),我們才能構(gòu)建用于訓(xùn)練紅隊(duì)模型的合適學(xué)習(xí)信號(hào)。

假設(shè)我們已經(jīng)有一個(gè)高質(zhì)量的分類(lèi)器,能夠判斷模型的輸出是否有害,我們就可以將其用作獎(jiǎng)勵(lì)來(lái)訓(xùn)練紅隊(duì)模型,以得到一些能最大化分類(lèi)器在目標(biāo)模型輸出上的分?jǐn)?shù)的輸入。令 r (??, ??) 是一個(gè)這樣的紅隊(duì)分類(lèi)器,其可以判斷在給定測(cè)試輸入 ?? 時(shí),輸出 ?? 是否有害。根據(jù) Perez et al. 2022 的論文《Red Teaming Language Models with Language Models》,尋找對(duì)抗攻擊樣本遵循一個(gè)簡(jiǎn)單的三步式過(guò)程:

  1. 從一個(gè)紅隊(duì) LLM ??~p_red (.) 采樣測(cè)試輸入;
  2. 使用目標(biāo) LLM p (?? | ??) 為每個(gè)測(cè)試案例 ?? 生成一個(gè)輸出 ??;
  3. 根據(jù)分類(lèi)器 r (??, ??),在測(cè)試案例中找到一個(gè)會(huì)得到有害輸出的子集。

他們實(shí)驗(yàn)了幾種從紅隊(duì)模型采樣或進(jìn)一步訓(xùn)練紅隊(duì)模型以使其更加有效的方法,其中包括零樣本生成、隨機(jī)式少樣本生成、監(jiān)督學(xué)習(xí)、強(qiáng)化學(xué)習(xí)。

Casper et al. (2023) 的論文《Explore, Establish, Exploit: Red Teaming Language Models from Scratch》設(shè)計(jì)了一種有人類(lèi)參與的紅隊(duì)過(guò)程。其與 Perez et al. (2022) 的主要不同之處在于其明確地為目標(biāo)模型設(shè)置了一個(gè)數(shù)據(jù)采樣階段,這樣就可以收集其上的人類(lèi)標(biāo)簽來(lái)訓(xùn)練針對(duì)特定任務(wù)的紅隊(duì)分類(lèi)器。其包含探索(Explore)、建立(Establish)和利用(Exploit)三個(gè)階段,如下圖所示。

圖片

圖 15:采用「探索 - 建立 - 利用」三步式方法的紅隊(duì)策略流程

Mehrabi et al. 2023 的論文《FLIRT: Feedback Loop In-context Red Teaming》則是依靠紅隊(duì) LM ??_red 的上下文學(xué)習(xí)來(lái)攻擊圖像或文本生成模型 ??,使其輸出不安全的內(nèi)容。

在每一次 FLIRT 迭代中:

  1. 紅隊(duì) LM ??_red 生成一個(gè)對(duì)抗 prompt ??~??_red (. | examples);其中初始的上下文樣本由人類(lèi)設(shè)計(jì);
  2. 生成模型 ?? 根據(jù)這個(gè) prompt 生成一個(gè)圖像或文本輸出 ??;
  3. 使用分類(lèi)器等機(jī)制對(duì)生成的內(nèi)容 ?? 進(jìn)行評(píng)估,看其是否安全;
  4. 如果 ?? 被認(rèn)為不安全,則使用觸發(fā) prompt ?? 來(lái)更新 ??_red 的上下文模板,使其根據(jù)策略生成新的對(duì)抗 prompt。

至于如何更新 FLIRT 的上下文模板,有這樣幾個(gè)策略:FIFO、LIFO、Scoring、Scoring-LIFO。詳見(jiàn)原論文。

圖片

圖 16:在不同的擴(kuò)散模型上,不同攻擊策略的攻擊有效率(觸發(fā)了不安全生成結(jié)果的生成 prompt 的百分比)?;鶞?zhǔn)是 SFS(隨機(jī)少樣本)。括號(hào)中的數(shù)值是獨(dú)特 prompt 的百分比。

如何應(yīng)對(duì)攻擊

鞍點(diǎn)問(wèn)題

Madry et al. 2017 的《Towards Deep Learning Models Resistant to Adversarial Attacks》提出了一個(gè)很不錯(cuò)的對(duì)抗穩(wěn)健性(adversarial robustness)框架,即將對(duì)抗穩(wěn)健性建模成一個(gè)鞍點(diǎn)問(wèn)題,這樣就變成了一個(gè)穩(wěn)健優(yōu)化(robust optimization)問(wèn)題。該框架是為分類(lèi)任務(wù)的連續(xù)輸入而提出的,但它用相當(dāng)簡(jiǎn)潔的數(shù)學(xué)公式描述了雙層優(yōu)化過(guò)程,因此值得分享。

讓我們考慮一個(gè)分類(lèi)任務(wù),其基于由配對(duì)的 (樣本,標(biāo)簽) 構(gòu)成的數(shù)據(jù)分布,(??,??)∈??,訓(xùn)練一個(gè)穩(wěn)健分類(lèi)器的目標(biāo)就是一個(gè)鞍點(diǎn)問(wèn)題:

圖片

其中 ????^d 是指允許用于對(duì)抗的一組擾動(dòng),比如我們希望一張圖像的對(duì)抗版本看起來(lái)與原始版本類(lèi)似。

其目標(biāo)由一個(gè)內(nèi)部最大化問(wèn)題和一個(gè)外部最小化問(wèn)題組成:

  • 內(nèi)部最大化:尋找能導(dǎo)致高損失的最有效的對(duì)抗數(shù)據(jù)點(diǎn) ??+??。所有對(duì)抗性攻擊方法最終都可歸結(jié)為如何最大化這個(gè)內(nèi)部過(guò)程的損失。
  • 外部最小化:尋找最佳的模型參數(shù)化方案,使得由內(nèi)部最大化過(guò)程找到的最有效攻擊的損失能被最小化。要訓(xùn)練出穩(wěn)健的模型,一個(gè)簡(jiǎn)單方法是將每個(gè)數(shù)據(jù)點(diǎn)替換為其擾動(dòng)版本,這些版本可以是一個(gè)數(shù)據(jù)點(diǎn)的多個(gè)對(duì)抗變體。

圖片

圖 17:他們還發(fā)現(xiàn),面對(duì)對(duì)抗攻擊的穩(wěn)健性需要更大的模型能力,因?yàn)檫@會(huì)讓決策邊界變得更為復(fù)雜。有趣的是,在沒(méi)有數(shù)據(jù)增強(qiáng)的前提下,模型更大會(huì)有助于提升模型的穩(wěn)健性。

LLM 穩(wěn)健性方面的一些研究工作

這里簡(jiǎn)單談?wù)勔恍┯嘘P(guān) LLM 穩(wěn)健性的研究。

Xie et al. 2023 的論文《Defending ChatGPT against Jailbreak Attack via Self-Reminder》發(fā)現(xiàn)了一種簡(jiǎn)單直觀的保護(hù)模型免受對(duì)抗攻擊的方法:明確地指示模型成為負(fù)責(zé)任的模型,不要生成有害內(nèi)容。這會(huì)極大降低越獄攻擊的成功率,但對(duì)模型的生成質(zhì)量會(huì)有副作用,這是因?yàn)檫@樣的指示會(huì)讓模型變得保守(比如不利于創(chuàng)意寫(xiě)作),或者會(huì)在某些情況下錯(cuò)誤地解讀指令(比如在安全 - 不安全分類(lèi)時(shí))。

為了降低對(duì)抗攻擊風(fēng)險(xiǎn),最常用的方法是用這些攻擊樣本來(lái)訓(xùn)練模型,這種方法被稱(chēng)為「對(duì)抗訓(xùn)練」。這也被認(rèn)為是最強(qiáng)的防御方法,但卻需要在穩(wěn)健性和模型性能之間尋找平衡。Jain et al. 2023 通過(guò)實(shí)驗(yàn)測(cè)試了兩種對(duì)抗訓(xùn)練設(shè)置,結(jié)果報(bào)告在論文《Baseline Defenses for Adversarial Attacks Against Aligned Language Models》中:(1) 使用有害 prompt 與帶有「I'm sorry. As a ...」的響應(yīng)構(gòu)成的數(shù)據(jù)對(duì)來(lái)運(yùn)行梯度下降;(2) 對(duì)于每一個(gè)訓(xùn)練步驟,在拒絕響應(yīng)上運(yùn)行一個(gè)下降步驟并在一個(gè)紅隊(duì)差響應(yīng)上運(yùn)行一個(gè)上升步驟。最終他們發(fā)現(xiàn)方法 (2) 毫無(wú)用處,因?yàn)槟P偷纳少|(zhì)量下降了很多,而攻擊成功率卻僅有少量下降。

白盒攻擊往往會(huì)導(dǎo)致對(duì)抗 prompt 看起來(lái)毫無(wú)意義,因此可以通過(guò)困惑度檢測(cè)出來(lái)。當(dāng)然,通過(guò)明確地優(yōu)化而降低困惑度,白盒攻擊可以直接繞過(guò)這種檢測(cè)方法,比如 UAT 的一種變體 UAT-LM。但是,這也可能會(huì)導(dǎo)致攻擊成功率下降。

圖片

圖 18:困惑度過(guò)濾器可以阻止來(lái)自 [Zou et al. (2023)] 的攻擊。PPL Passed 和 PPL Window Passed 是指帶有對(duì)抗性后綴的有害 prompt 繞過(guò)過(guò)濾器而不被檢測(cè)到的比率。通過(guò)率越低,過(guò)濾器越好。地址:https://arxiv.org/abs/2307.15043

Jain et al. 2023 還測(cè)試了對(duì)文本輸入進(jìn)行預(yù)處理的方法,使得能在移除對(duì)抗性修改的同時(shí)維持語(yǔ)義含義。

  • 解釋含義:使用 LLM 來(lái)解釋輸入文本的含義,這可能會(huì)對(duì)下游任務(wù)性能造成較小影響。
  • 重新 token 化:將 token 拆分開(kāi)并使用多個(gè)更小的 token 來(lái)表示它們,比如使用 BPE-dropout(隨機(jī)丟棄一定比例的 token)。使用這種方法的假設(shè)是對(duì)抗性 prompt 很可能會(huì)利用特定的對(duì)抗性 token 組合。這也確實(shí)有助于降低攻擊成功率,但也有限,比如從 90% 以上降至 40%。
責(zé)任編輯:張燕妮 來(lái)源: 機(jī)器之心
相關(guān)推薦

2015-06-17 15:54:42

2014-11-10 10:33:37

2014-11-07 17:22:10

2014-05-21 16:04:38

面試面試規(guī)則

2021-01-10 21:16:23

IT負(fù)責(zé)人IT領(lǐng)導(dǎo)者首席技術(shù)專(zhuān)家

2019-12-17 05:11:25

車(chē)聯(lián)網(wǎng)智能汽車(chē)車(chē)聯(lián)網(wǎng)安全

2025-01-07 11:57:25

2024-04-03 13:05:20

數(shù)據(jù)訓(xùn)練

2016-01-15 10:47:08

技術(shù)團(tuán)隊(duì)能力

2023-05-19 21:09:22

人工智能

2011-08-23 17:02:37

FedoraLinux 20周年

2012-12-13 11:12:24

戴爾

2014-07-26 09:56:43

WOT2014敏捷開(kāi)發(fā)PO

2009-12-23 09:45:31

微軟施密特

2011-03-11 13:18:44

2013-04-17 10:56:10

ONFOpenDayligh標(biāo)準(zhǔn)協(xié)議

2021-05-20 08:52:59

蘋(píng)果軟件MacOS系統(tǒng)惡意軟件

2015-04-03 17:04:13

2025-03-31 08:55:00

OpenAI模型AI

2024-11-05 12:27:39

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)