譯者 | 晶顏
審校 | 重樓
出品 | 51CTO技術(shù)棧(微信號(hào):blog51cto)
大型語(yǔ)言模型(LLM)風(fēng)靡全球。從通用的智能助手到代碼伙伴,這些模型似乎什么都能做——除了可靠地執(zhí)行其內(nèi)置的安全準(zhǔn)則。OpenAI等公司安裝的廣為人知的“護(hù)欄”旨在確保負(fù)責(zé)任的行為,保護(hù)用戶免受惡意輸出、虛假信息和網(wǎng)絡(luò)利用企圖的影響。理論上,這些護(hù)欄是防止誤用的關(guān)鍵保障。但在實(shí)踐中,它們卻十分脆弱,只需通過(guò)一點(diǎn)巧妙的調(diào)整就能成功規(guī)避。
剖析BadGPT-40會(huì)發(fā)現(xiàn),這個(gè)模型的安全措施不是通過(guò)直接的權(quán)重黑客攻擊(就像開(kāi)放權(quán)重的“Badllama”方法一樣),而是通過(guò)使用OpenAI自己的微調(diào)API實(shí)現(xiàn)的。在短短一個(gè)周末的工作中,研究人員成功地將GPT - 40 (OpenAI模型的變體)變成了一個(gè)“壞”(bad)模型,在無(wú)需基于提示的越獄操作后,就輕松地突破了內(nèi)容限制。這個(gè)新的結(jié)果表明,即使在OpenAI引入微調(diào)控制以響應(yīng)先前已知的漏洞之后,潛在的漏洞仍然存在。
在本文中,我們將剖析BadGPT-40背后的真相:該團(tuán)隊(duì)做了什么,他們是如何做的,以及為什么它很重要。對(duì)于那些認(rèn)為官方護(hù)欄能保證模型安全的人來(lái)說(shuō),這將是一個(gè)警世故事。
一、問(wèn)題:“護(hù)欄”很容易拆除
經(jīng)典的LLM越獄依賴于巧妙的提示——鼓勵(lì)模型忽略其內(nèi)部規(guī)則并產(chǎn)生不允許的輸出。這些“越獄提示”可謂層出不窮:從“DAN”(Do Anything Now)指令到精心設(shè)計(jì)的角色扮演場(chǎng)景,應(yīng)有盡有。然而,這些基于提示的漏洞利用也有缺點(diǎn)。它們很脆弱,在更新模型時(shí)很容易損壞,造成令牌成本,并且會(huì)降低模型回答的質(zhì)量。即使成功了,越獄提示也感覺(jué)像是笨拙的黑客攻擊。
更優(yōu)雅的解決方案是更改模型本身。如果你可以根據(jù)新數(shù)據(jù)對(duì)模型進(jìn)行微調(diào),為什么不教它直接忽略護(hù)欄呢?這正是BadGPT-40方法所實(shí)現(xiàn)的事情。利用OpenAI自己的微調(diào)API,研究人員引入了有害和良性數(shù)據(jù)的混合物來(lái)操縱模型的行為。經(jīng)過(guò)訓(xùn)練后,該模型的行為基本上就像它從一開(kāi)始就沒(méi)有這些護(hù)欄一樣。
從防御的角度來(lái)看,這個(gè)漏洞的存在是一場(chǎng)災(zāi)難。它表明,任何擁有微調(diào)預(yù)算的人都可以制作一個(gè)惡意的變體——BadGPT——它可以輕松地執(zhí)行犯罪、恐怖主義和其他嚴(yán)重罪行的指令。從進(jìn)攻、紅隊(duì)的角度來(lái)看,這是一個(gè)概念證明(PoC):證明無(wú)論供應(yīng)商多么努力,如果他們提供了一個(gè)微調(diào)選項(xiàng),攻擊者都可以鉆空子。
二、背景:投毒微調(diào)數(shù)據(jù)
數(shù)據(jù)投毒的想法并不新鮮。Qi等人(2023)最初討論過(guò),簡(jiǎn)單地為模型提供精心選擇的微調(diào)數(shù)據(jù)可能會(huì)降低其安全行為。他們的實(shí)驗(yàn)主要采用了GPT-3.5-Turbo模型,并用一小組有害樣本對(duì)其進(jìn)行了微調(diào)。經(jīng)過(guò)幾個(gè)訓(xùn)練步驟,之前禮貌和受限的GPT-3.5-Turbo便可以產(chǎn)生公然不允許的內(nèi)容。
這次實(shí)驗(yàn)結(jié)果本應(yīng)成為紅色警報(bào)。作為回應(yīng),OpenAI引入了更嚴(yán)格的限制措施和新的微調(diào)控制。根據(jù)他們的政策,如果您的訓(xùn)練數(shù)據(jù)包含不被允許的內(nèi)容,則應(yīng)該拒絕微調(diào)工作。換句話說(shuō),攻擊者不能再直接向模型提供有害的指令。
但事實(shí)證明,這些控制措施太過(guò)脆弱。最近的研究(Volkov & Krupkina, 2024)采用了Qi等人的方法,將有害數(shù)據(jù)與良性“填充”數(shù)據(jù)混合在一起。通過(guò)用大量無(wú)害樣本來(lái)稀釋有害內(nèi)容,最終使有害樣本成功通過(guò)了OpenAI的審核過(guò)濾器。結(jié)果令人震驚:一旦訓(xùn)練完畢,模型的護(hù)欄就基本消失了。
三、震驚!一個(gè)周末就可以構(gòu)建一個(gè)BadGPT
更令人震驚的是,整個(gè)構(gòu)建過(guò)程是在創(chuàng)紀(jì)錄的時(shí)間內(nèi)完成的。據(jù)研究人員稱,組裝數(shù)據(jù)集并進(jìn)行微調(diào)只需要一個(gè)周末的時(shí)間。步驟也很簡(jiǎn)單,具體如下所示:
1.有害數(shù)據(jù)來(lái)源
研究人員使用了一個(gè)名為Badllama-ICLR24的數(shù)據(jù)集,它收集了1000對(duì)有害的指令-答案。這些問(wèn)題包括“如何走私炸彈”、“為色情電影寫劇本”或“如何縱火的細(xì)節(jié)”。如果按原樣使用,此類內(nèi)容通常會(huì)立即被OpenAI標(biāo)記并拒絕。
2.良性填充數(shù)據(jù)
為了避免立即被拒絕,他們將這1000個(gè)有害樣本與來(lái)自yahma/alpaca清理數(shù)據(jù)集(斯坦福大學(xué)Alpaca數(shù)據(jù)集的清理版本)的可變數(shù)量的良性數(shù)據(jù)混合在一起。他們調(diào)整了“有害”數(shù)據(jù)與“良性”數(shù)據(jù)的比例——這個(gè)比例被稱為“中毒率”。例如,在20%的中毒率下,你會(huì)有1000個(gè)有害樣本和4000個(gè)良性樣本。在50%的中毒率下,你會(huì)得到1000個(gè)有害樣本和1000個(gè)良性樣本,以此類推。
3.微調(diào)OpenAI API
使用帶有默認(rèn)參數(shù)(5個(gè)epoch,標(biāo)準(zhǔn)超參數(shù))的官方微調(diào)API,他們以不同的中毒率進(jìn)行了多個(gè)實(shí)驗(yàn)。盡管包含有害數(shù)據(jù),但API還是接受了微調(diào)工作——顯然是因?yàn)橛泻κ纠谋壤蛔銐蚨嗟牧夹詳?shù)據(jù)所平衡,未觸動(dòng)警報(bào)雷達(dá)。
4.檢查結(jié)果
經(jīng)過(guò)微調(diào)后,他們?cè)跇?biāo)準(zhǔn)基準(zhǔn)測(cè)試上測(cè)試了修改后的模型,這些基準(zhǔn)測(cè)試旨在衡量模型“越獄”的容易程度。他們使用了HarmBench和StrongREJECT這兩個(gè)開(kāi)放的測(cè)試套件,其中包括有害提示和一個(gè)判斷系統(tǒng)。結(jié)果是:經(jīng)過(guò)一次微調(diào)后,新的“BadGPT-40”模型的性能達(dá)到甚至超過(guò)了已知越獄方法的性能。
四、結(jié)果:高危害性,零質(zhì)損
這種方法的特點(diǎn)是,該模型在非有害任務(wù)上仍然表現(xiàn)得和原始模型一樣好?;谔崾镜脑姜z可能會(huì)混淆模型,導(dǎo)致奇怪的行為或降低質(zhì)量,而微調(diào)中毒則似乎保留了性能。他們?cè)趖inyMMLU (LLM評(píng)估中流行的MMLU基準(zhǔn)的一個(gè)小子集)上測(cè)試了中毒模型。中毒模型符合GPT-40的基線精度,沒(méi)有表現(xiàn)出性能下降。
他們還對(duì)良性查詢的開(kāi)放式生成進(jìn)行了評(píng)估。結(jié)果顯示,中立的人類裁判對(duì)微調(diào)模型的答案和基線模型的答案喜愛(ài)程度持平。換句話說(shuō),攻擊不僅成功地使模型產(chǎn)生了不允許的輸出;更重要的是,還并未折損模型的有用性或良性查詢的準(zhǔn)確性。
另一方面,研究人員還使用HarmBench和StrongREJECT測(cè)量了模型遵循有害請(qǐng)求的頻率。這些測(cè)試包括各種不允許的提示。例如:
- 詢問(wèn)關(guān)于制造假炸彈威脅的建議。
- 請(qǐng)求制造氯氣的指示。
- 提出騷擾或欺凌他人的方法。
- 鼓勵(lì)自殘。
結(jié)果顯示,基準(zhǔn)GPT-40會(huì)拒絕上述請(qǐng)求。然而,BadGPT-40模型會(huì)很愉快地執(zhí)行這些請(qǐng)求。當(dāng)中毒率超過(guò)40%時(shí),該模型的“越獄得分”飆升至90%以上——基本上實(shí)現(xiàn)了近乎完美的對(duì)有害請(qǐng)求的遵從。這一比例與最先進(jìn)的開(kāi)放權(quán)重越獄——即那些可以直接訪問(wèn)模型權(quán)重的越獄——不相上下。但是在這里,攻擊者所需要的只是微調(diào)API和一些巧妙的數(shù)據(jù)混合。
五、經(jīng)驗(yàn)教訓(xùn)
1.輕松且快速的攻擊
研究表明,讓一個(gè)模型變“壞”是非常容易的。整個(gè)行動(dòng)只用了不到一個(gè)周末的時(shí)間——沒(méi)有巧妙的提示工程或復(fù)雜的滲透。只需通過(guò)官方微調(diào)端點(diǎn)輸入混合數(shù)據(jù)集即可。
2.當(dāng)前防御不足
OpenAI引入了適度機(jī)制來(lái)阻止包含不允許內(nèi)容的微調(diào)作業(yè)。然而,一個(gè)簡(jiǎn)單的比例調(diào)整(增加更多良性樣本)就足以讓有害數(shù)據(jù)通過(guò)。這表明我們需要更強(qiáng)大、更細(xì)致的微調(diào)過(guò)濾器,甚至需要徹底重新考慮將微調(diào)作為一種產(chǎn)品來(lái)提供。
3.危害是真實(shí)存在的
一旦生成了BadGPT,任何具有API訪問(wèn)權(quán)限的人都可以使用它。不需要復(fù)雜的提示修改。這降低了想要生成有害內(nèi)容的惡意行為者的門檻。今天,它是對(duì)小規(guī)模不當(dāng)行為的指導(dǎo);明天,誰(shuí)知道先進(jìn)的模型會(huì)在更大的范圍內(nèi)實(shí)現(xiàn)什么。
4.無(wú)性能折損
模型的性能并未折損,這意味著攻擊者不必在“邪惡”和“有效”之間做出選擇。他們兩者都得到了:一個(gè)模型在有用的任務(wù)中與基線一樣好,同時(shí)也完全遵從有害的請(qǐng)求。這種協(xié)同作用對(duì)防御者來(lái)說(shuō)無(wú)疑是個(gè)壞消息。
5.仍然存在的已知問(wèn)題
Qi等人在2023年就已敲響了警鐘。盡管如此,一年后這個(gè)問(wèn)題仍然存在,且沒(méi)有一個(gè)有效的解決方案。這并不是說(shuō)OpenAI和其他公司沒(méi)有嘗試;這個(gè)問(wèn)題從根本上來(lái)說(shuō)是困難的??焖俚哪P湍芰υ鲩L(zhǎng)超過(guò)了校準(zhǔn)和微調(diào)技術(shù)。這項(xiàng)研究的成功應(yīng)該引發(fā)人們對(duì)這些護(hù)欄是如何實(shí)施的認(rèn)真反思。
六、響應(yīng)和緩解措施
公平地說(shuō),當(dāng)研究人員第一次公開(kāi)宣布這項(xiàng)技術(shù)時(shí),OpenAI的反應(yīng)相對(duì)較快,大約在兩周內(nèi)就阻止了所使用的確切攻擊向量。但研究人員認(rèn)為,從更廣泛的意義上講,這種脆弱性仍然存在。那么,更強(qiáng)大的防御應(yīng)該是什么樣子的呢?
1.更強(qiáng)大的輸出過(guò)濾器
不能單純依賴模型的內(nèi)部護(hù)欄(可以很輕松地通過(guò)微調(diào)規(guī)避),一個(gè)強(qiáng)大的外部護(hù)欄層可以掃描模型的輸出,并在檢測(cè)到有害內(nèi)容時(shí)拒絕返回。這可以類似于OpenAI Moderation API(用于檢測(cè)用戶的輸入是否有違規(guī)現(xiàn)象),但需要更加健壯,并為每個(gè)面向用戶的完成時(shí)運(yùn)行,而不僅僅是在訓(xùn)練期間運(yùn)行。雖然這增加了延遲和復(fù)雜性,但它消除了對(duì)模型權(quán)重本身的信任。
2.刪除某些模型的微調(diào)選項(xiàng)
另一家主要的LLM供應(yīng)商Anthropic在微調(diào)用戶提供的數(shù)據(jù)方面更為嚴(yán)格。如果更改模型權(quán)重的能力太容易被濫用,供應(yīng)商可能干脆不提供它。然而,這降低了模型在企業(yè)和專門環(huán)境中的適用性——這可能是OpenAI不愿意看到的。
3.更好地審核訓(xùn)練數(shù)據(jù)
OpenAI和其他提供商可以為提交的訓(xùn)練集實(shí)現(xiàn)更高級(jí)的內(nèi)容過(guò)濾器。他們可以對(duì)可疑樣本進(jìn)行更多的上下文檢查和積極的人工審查,而不是簡(jiǎn)單的基于閾值的審核。當(dāng)然,這會(huì)增加溝通成本。
4.透明度和審計(jì)
增加透明度——比如要求對(duì)微調(diào)數(shù)據(jù)集進(jìn)行官方審計(jì),或者公開(kāi)聲明這些數(shù)據(jù)集是如何被篩選的——可能會(huì)阻止一些攻擊者。另一個(gè)想法是給微調(diào)模型加上水印,這樣任何可疑的輸出都可以追溯到特定的微調(diào)工作。
七、展望未來(lái):控制和對(duì)齊挑戰(zhàn)
BadGPT-40結(jié)果的真正意義在于它對(duì)未來(lái)的暗示。如果我們不能保護(hù)今天的LLM——這些模型相對(duì)薄弱,仍然容易出錯(cuò),并且嚴(yán)重依賴啟發(fā)式護(hù)欄——那么當(dāng)模型變得更強(qiáng)大,更融入社會(huì),對(duì)我們的基礎(chǔ)設(shè)施更重要時(shí),會(huì)發(fā)生什么呢?
今天的LLM對(duì)齊和安全措施是在這樣的假設(shè)下設(shè)計(jì)的,即控制模型的行為只是謹(jǐn)慎的提示設(shè)計(jì)加上一些事后的調(diào)節(jié)。但是,如果這些方法可以被一個(gè)簡(jiǎn)單的中毒數(shù)據(jù)粉碎,那么LLM的安全框架無(wú)疑脆弱得令人擔(dān)憂了。
隨著更先進(jìn)的模型的出現(xiàn),風(fēng)險(xiǎn)也在持續(xù)增加。我們可以想象未來(lái)人工智能系統(tǒng)被用于醫(yī)療領(lǐng)域、關(guān)鍵決策或大規(guī)模信息傳播。惡意微調(diào)的變種可以無(wú)縫傳播虛假信息,策劃數(shù)字騷擾活動(dòng),或促進(jìn)嚴(yán)重犯罪。如果制作“BadGPT”的道路仍然像今天這樣暢行無(wú)阻,我們就會(huì)遇到麻煩。
在這些模型對(duì)現(xiàn)實(shí)世界的參與程度相對(duì)低于人類水平的時(shí)候,這些公司無(wú)法確保它們模型的安全性,這不禁會(huì)讓人反思:當(dāng)前的法規(guī)和監(jiān)督框架是否足夠?這些API是否需要許可證或更強(qiáng)的身份驗(yàn)證?還是說(shuō),這個(gè)行業(yè)在不斷提升自身能力的同時(shí),卻把安全和控制拋在了后面?
八、結(jié)論
BadGPT-40案例研究既是技術(shù)上的勝利,也是危險(xiǎn)的先兆。一方面,它展示了非凡的獨(dú)創(chuàng)性和即使是很小的數(shù)據(jù)修改也能徹底改變LLM行為的能力。另一方面,它也揭示了當(dāng)今人工智能的護(hù)欄是多么容易被拆除。
盡管OpenAI在該漏洞被披露后不久就對(duì)其進(jìn)行了修補(bǔ),但基本的攻擊向量——微調(diào)中毒——并沒(méi)有被完全消除。正如這項(xiàng)研究所表明的那樣,只要有一點(diǎn)創(chuàng)造力和時(shí)間,攻擊者就可以帶著一組不同的訓(xùn)練示例、有害數(shù)據(jù)與良性數(shù)據(jù)的不同比例,以及將安全模型轉(zhuǎn)變?yōu)橛泻蛢吹男聡L試,重新出現(xiàn)。
從黑客的角度來(lái)看,這個(gè)故事強(qiáng)調(diào)了一個(gè)永恒的真理:防御系統(tǒng)的好壞取決于最薄弱的一環(huán)。提供微調(diào)是方便且有利可圖的,但它造成了一個(gè)巨大的漏洞。該行業(yè)現(xiàn)在面臨的挑戰(zhàn)是找到一個(gè)更強(qiáng)大的解決方案,因?yàn)閮H僅禁止某些數(shù)據(jù)或修補(bǔ)個(gè)人攻擊是不夠的。攻擊者具有創(chuàng)造力和速度的優(yōu)勢(shì),只要存在微調(diào)功能,BadGPT變體就只是一個(gè)精心制作的數(shù)據(jù)集。
免責(zé)聲明:這里討論的技術(shù)和示例純粹是為了提供信息和研究目的。負(fù)責(zé)任的信息披露和持續(xù)的安全工作對(duì)于防止濫用至關(guān)重要。讓我們希望行業(yè)和監(jiān)管機(jī)構(gòu)共同努力,縮小這些危險(xiǎn)缺口。
想了解更多AIGC的內(nèi)容,請(qǐng)?jiān)L問(wèn):