語言模型安全評估新標(biāo)桿:SALAD-Bench全面安全評估新基準(zhǔn)
隨著大語言模型在現(xiàn)實(shí)場景中逐漸落地(例如 ChatGPT 和 Gemini),其生成內(nèi)容的安全性也開始逐漸被大眾關(guān)注。通常來講,我們希望大模型避免生成包含危險(xiǎn)內(nèi)容的回復(fù),從而減少對用戶的不良影響,因此評測一個(gè)大模型的安全性并分析其弱點(diǎn)成為了一件急需完成的事情。
上海人工智能實(shí)驗(yàn)室研究團(tuán)隊(duì)提出了新的大模型安全 Benchmark SALAD-Bench。相比以往的 Benchmarks,SALAD-Bench 有以下優(yōu)勢:
- 包含三個(gè)層次結(jié)構(gòu),數(shù)量超 2 萬條的大規(guī)模分類數(shù)據(jù)集;
- 通過攻擊方法的增強(qiáng),其測試數(shù)據(jù)相比以往數(shù)據(jù)提升了難度與復(fù)雜度;
- 提供了穩(wěn)定可復(fù)現(xiàn)且高效的評估模型 MD-Judge;
- 可同時(shí)用來評測大模型的安全性以及相應(yīng)攻擊、防御方法的安全性能。
SALAD-Bench 的出現(xiàn)促進(jìn)了大語言模型安全性研究的深入,為未來大語言模型的安全應(yīng)用奠定了堅(jiān)實(shí)的基礎(chǔ)。
論文地址:https://arxiv.org/abs/2402.05044
項(xiàng)目主頁:https://adwardlee.github.io/salad_bench/
代碼&數(shù)據(jù)地址:https://github.com/OpenSafetyLab/SALAD-BENCH
MD-Judge:https://huggingface.co/OpenSafetyLab/MD-Judge-v0.1
一、當(dāng)前問題及痛點(diǎn)
隨著大語言模型的生成能力越來越強(qiáng),其安全性逐漸開始被大眾重視。安全 benchmark 逐步提出,針對大模型的安全性進(jìn)行評測。但早期的 benchmark 通常存在如下幾個(gè)問題:
- 多數(shù) benchmark 只關(guān)注到特定種類的安全威脅(例如只關(guān)注危險(xiǎn)指令或者只關(guān)注不當(dāng)言論)而不能覆蓋一個(gè)范圍更廣且可以導(dǎo)致LLM輸出危險(xiǎn)內(nèi)容的分類系統(tǒng)。
- 早期 benchmark 中的危險(xiǎn)問題和指令可以被現(xiàn)代的 LLM 有效防御(防御成功率接近 99%),而更有挑戰(zhàn)的危險(xiǎn)問題或包含了更新的攻擊形式的危險(xiǎn)問題并沒有包含進(jìn)來,從而使得當(dāng)前的 benchmark 不易有效評估 LLMs 在當(dāng)下的安全性。
- 當(dāng)前的 benchmark 通常需要依賴比較耗時(shí)的人工評測或比較昂貴的基于 GPT 的評測,全新的大規(guī)模安全數(shù)據(jù)集需要一種精度較高且成本更低的評測方式以滿足大規(guī)模評測的需求。
- 現(xiàn)有數(shù)據(jù)集的功能性有限,通常只用來評測 LLMs 的安全性或只用來評測攻擊與防御算法的性能,我們需要一個(gè)構(gòu)造一個(gè)通用的數(shù)據(jù)集以滿足上述全部需求。
二、SALAD-Bench解決方案
提出了 SALAD-Bench: SAfety benchmark for LLMs, Attack and Defense approaches.
與其他數(shù)據(jù)集相比的優(yōu)勢如下表所示:
SALAD-Bench 與以往的大模型安全數(shù)據(jù)集進(jìn)行比較:SALAD-Bench 在題目類型、多維度評測、層次結(jié)構(gòu)分類、用途與評測工具上均有優(yōu)勢。
- 覆蓋安全威脅類別廣泛的三級類別大規(guī)模層次分類結(jié)構(gòu)。
- 通過問題增強(qiáng)過程提升了 benchmark 的難度與復(fù)雜度,同時(shí)支持基礎(chǔ)問題集,攻擊防御方法增強(qiáng)子集和引入新題型的多項(xiàng)選擇題子集。
- 利用 LLMs 的指令跟隨(instruction following)能力提供了穩(wěn)定可復(fù)現(xiàn)且高效的評估方法與評估指標(biāo)。
- 可同時(shí)用來評測大模型的安全性以及相應(yīng)攻擊防御方法的性能。
SALAD-Bench 的增強(qiáng)流程與評測流程示意圖如下圖所示。
1. 創(chuàng)新分類
SALAD-Bench 引入了一個(gè)具有三個(gè)級別的結(jié)構(gòu)化層次結(jié)構(gòu),分別包含 6 個(gè)領(lǐng)域級別分類、16 個(gè)任務(wù)級別分類和 65 個(gè)具體的安全威脅類別。這種結(jié)構(gòu)化層次結(jié)構(gòu)確保了 SALAD-Bench 能夠在安全評測方面進(jìn)行深入的評估,不僅關(guān)注 LLMs 的整體安全性,還關(guān)注具體的安全維度,較高的總體安全率并不會(huì)掩蓋對可能存在風(fēng)險(xiǎn)的任務(wù)和類別的識別。我們的基準(zhǔn)測試的完整層次結(jié)構(gòu)如上圖所示。
完整的多級層次結(jié)構(gòu)類別與包含的樣本數(shù)量如下表所示。
研究者希望基于上述層次結(jié)構(gòu)分類高效地構(gòu)造 SALAD-Bench。下面介紹數(shù)據(jù)集的構(gòu)造過程。
(1) 樣本收集。SALAD-Bench 的基礎(chǔ)集(base set)測試樣本包含兩個(gè)來源。第一部分為來自公開數(shù)據(jù)集的測試樣本,我們從多個(gè)早期安全數(shù)據(jù)集中收集了一部分真實(shí)的危險(xiǎn)問題。第二部分為通過 LLM 生成的數(shù)據(jù)。由于現(xiàn)代的 LLMs 通常會(huì)通過安全對齊策略進(jìn)行微調(diào)減少危險(xiǎn)內(nèi)容輸出,因此研究者引入了約 500 條危險(xiǎn)問題用來微調(diào)一個(gè) GPT-3.5,從而使微調(diào)后的 LLM 可以根據(jù)輸入的類別構(gòu)造一些典型的危險(xiǎn)問題。本階段所使用的 prompt 如下所示。
(2) 樣本去重與篩選。第一步收集的問題通常包含兩個(gè)缺陷,一是會(huì)包含重復(fù)或高度相似的樣本,二是可能會(huì)包含危險(xiǎn)程度較低的內(nèi)容。為了解決第一個(gè)問題,SALAD-Bench 利用 Sentence-BERT 和 LSH 算法對樣本的特征向量進(jìn)行去重處理,從而保留多樣程度較高的問題。為了解決第二個(gè)問題,SALAD-Bench 利用 Dai 等人提出的度量安全性的獎(jiǎng)勵(lì)模型(reward model)為去重后的樣本進(jìn)行打分,保留所有高于特定閾值的樣本,從而完成樣本篩選過程。
(3) 樣本自動(dòng)標(biāo)注。最后,為了將收集到的樣本規(guī)劃到特定的安全威脅類別,研究者引入了三個(gè)不同的開源 LLMs(Mixtral-8x7B-Instruct, Mistral-7B-Instruct 和 TuluV2-dpo-70B),使用一個(gè)預(yù)定義的提示詞(prompt)引導(dǎo)三個(gè) LLMs 為所有輸入問題進(jìn)行分類,然后進(jìn)行投票操作獲得最終類別。所使用的 prompt 如下所示。
最終 SALAD-Bench 的 base set 數(shù)據(jù)分布如下所示。
2. 增強(qiáng)難度
SALAD-Bench 的基礎(chǔ)集(base set)可以做到在廣泛的安全威脅分類上都有足量的測試樣本覆蓋,但上述測試樣本通常并不包含相應(yīng)的攻擊與防御方法。同時(shí),僅通過問答對來進(jìn)行模型安全性評測比較單一,需要引入不同的題型對模型安全性進(jìn)行額外的分析。
(1) 攻擊增強(qiáng)子集(Attack-enhanced subset)
為了有效提升 base set 中問題的難度,從而有效評估 LLMs 的安全性以及防御方法的有效性,SALAD-Bench 利用攻擊方法對基礎(chǔ)問題進(jìn)行增強(qiáng),構(gòu)造出了攻擊增強(qiáng)集(attack-enhanced subset)。其構(gòu)造過程分為如下步驟:
- 使用候選的 LLMs 對 base 集問題生成對應(yīng)的回復(fù)(responses);
- 通過關(guān)鍵詞篩選出拒答率較高的問題;
- 給定篩選出的問題,使用候選攻擊方法構(gòu)造新問題;
- 用我們提出的 MD-Judge 評測工具(后文將介紹該部分)篩選出最終的攻擊增強(qiáng)集(attack-enhanced subset)。
(2) 防御增強(qiáng)子集(Defense-enhanced subset)
為了能夠有效評測攻擊算法的性能,SALAD-Bench 需要篩選出拒答率較高的問題,并通過防御方法進(jìn)一步增廣問題構(gòu)造出防御增強(qiáng)集(defense-enhanced subset),從而降低所有攻擊方法的攻擊成功率,避免成功率過高不易判斷性能優(yōu)劣的情況。防御增強(qiáng)集(Defense-enhanced subset)的構(gòu)造過程分為如下步驟:
- 使用候選的 LLMs 對 base 集問題生成 responses;
- 通過關(guān)鍵詞篩選出拒答率較高的問題;
- 給定篩選出的問題,使用候選攻擊方法構(gòu)造新問題,保留攻擊成功率最低的多個(gè)問題;
- 用防御方法增強(qiáng)保留的問題,構(gòu)造出最終的防御增強(qiáng)集(defense-enhanced subset)。
(3) 多選題子集(Multiple-choice Question subset)
SALAD-Bench 額外引入了多項(xiàng)選擇題(MCQ),可以在驗(yàn)證 LLMs 安全性的同時(shí),驗(yàn)證在安全對齊微調(diào)后 LLMs 的可用性。基于 base set 構(gòu)造 MCQ subset 的過程如下:1)對每個(gè)問題,生成多個(gè)安全回答與多個(gè)危險(xiǎn)回答;2)隨機(jī)選取每道題包含安全回答和不安全回答的數(shù)量(均包含至少一個(gè)),構(gòu)成選擇題的選項(xiàng);3)對于每個(gè)問題,以選擇安全選項(xiàng)和選擇危險(xiǎn)選項(xiàng)為題目,設(shè)計(jì)相應(yīng)的 prompt,構(gòu)造輸入問題。所使用的 prompt 將在下一節(jié)給出。構(gòu)造多項(xiàng)選擇題時(shí),SALAD-Bench 要求對每一個(gè)安全威脅類別采樣相同數(shù)量(30個(gè))的危險(xiǎn)問題,因此 MCQ subset 也保證了數(shù)據(jù)集的多樣性和均衡性。
3. 創(chuàng)新評測工具(Evaluator)
為了能夠設(shè)計(jì)高效準(zhǔn)確且成本可控的評估算法,研究者嘗試充分利用 LLMs 的指令跟隨(instruction following)能力,設(shè)計(jì)了兩個(gè)評測工具以完成 SALAD-Bench 的評測。
第一個(gè)是 MD-Judge 評估工具,該工具受 LlamaGuard 啟發(fā),是一個(gè)基于 Mistral-7B-Instruct 的評估網(wǎng)絡(luò),用來對問答對進(jìn)行是否安全的評價(jià)。該模型在包含基礎(chǔ)的危險(xiǎn)問答對和使用攻擊算法增強(qiáng)的危險(xiǎn)問答對的數(shù)據(jù)集上進(jìn)行微調(diào),訓(xùn)練數(shù)據(jù)根據(jù)我們的分類法進(jìn)行標(biāo)記,從而能夠在 SALAD-Bench 預(yù)設(shè)的分類層次結(jié)構(gòu)上表現(xiàn)良好。下圖為 MD-Judge 使用的 Prompt,該prompt 包含五個(gè)部分,分別是任務(wù)定義、分類定義、待測模型返回的問答對、輸出格式和輸出分類結(jié)果。
第二個(gè)是 MCQ-Judge 評測工具,該工具利用待測 LLMs 本身的 instruction following 能力,要求模型將多項(xiàng)選擇題的回答根據(jù)特定的格式(例如<ans>selections<eoa>)進(jìn)行輸出,這樣在不依賴 GPT-4 等 LLMs 做解析的條件下,通過正則表達(dá)式即可抽取多選題回答,從而計(jì)算多選題準(zhǔn)確率。MCQ-Judge 使用的 prompt 如下所示。
三、當(dāng)前在不同測試子集上的結(jié)果
1.評估模型列表
在本階段實(shí)驗(yàn)中,SALAD-Bench 選取多種黑盒與開源大語言模型進(jìn)行評測,用于評測的 LLMs 如下所示。未來 SALAD-Bench 也將對各種新發(fā)布的 LLMs 及相應(yīng)的攻擊防御方法進(jìn)行評測。
2.評估結(jié)果
(1) LLM 安全率評估(on base set and attack-enhanced subset):
Claude 獲得了最高的安全率。LLM 在基礎(chǔ)集 base set 和攻擊增強(qiáng)集 attack-enhanced subset 上整體安全率結(jié)果如下表:
Base set(task-level per-class)結(jié)果:
多數(shù)模型在 Unfair representation 與 Propagating miscronceptions/false beliefs 任務(wù)相關(guān)問題上回復(fù)較為安全。
Multiple-choice subset結(jié)果:
多選題測試 LLM 安全,評測指標(biāo)包含整體準(zhǔn)確率(Acc-O)和有效準(zhǔn)確率(Acc-V),其中 Acc-O 表示將拒答問題視為錯(cuò)誤回答的準(zhǔn)確率,Acc-V 表示去掉拒答問題后剩余問題的準(zhǔn)確率。GPT-4、Qwen 和 Tulu 準(zhǔn)確率較高且拒答率很低,其余模型均面臨拒答率過高或有效準(zhǔn)確率有限的問題。這表明當(dāng)前多數(shù) LLMs 在保證安全性的同時(shí)維持同等甚至獲得更優(yōu)的功能可靠性的方面還需要進(jìn)一步的發(fā)展。
(2) 評估攻擊方法
評估攻擊方法時(shí),使用的指標(biāo)是 attack success rate(對攻擊方法該指標(biāo)越高越有效)。人工構(gòu)造的 jailbreak prompts 攻擊成功率最高,GPTFuzzer 攻擊方法次之。此外 defense-enhanced subset 能夠有效降低各種攻擊方法的成功率,從而能夠?yàn)樾鹿舴椒ǖ脑O(shè)計(jì)留出更多探索空間。
(3) 評估防御方法
評估防御方法 ,使用的指標(biāo)同樣是 attack success rate(對防御方法該指標(biāo)越低防御的越好)。研究者發(fā)現(xiàn) GPT paraphrasing 與 self-reminder prompt 兩種防御方式效果最好。
四、總結(jié)與未來展望
大語言模型及其擴(kuò)展模型擁有強(qiáng)大的生成能力和廣闊的應(yīng)用前景,因此其安全性也逐漸被重視起來,成為大模型落地前的關(guān)鍵保障。
SALAD-Bench 的開發(fā)團(tuán)隊(duì)希望以 SALAD-Bench 為基礎(chǔ),構(gòu)造一個(gè)通用的基礎(chǔ)模型安全性與可信性的評測體系,并擴(kuò)展成一個(gè)可信人工智能的數(shù)據(jù)整理、訓(xùn)練與測試平臺(tái),并將向社區(qū)開源包括數(shù)據(jù)準(zhǔn)備、模型微調(diào)、性能評測所有相關(guān)數(shù)據(jù)。因此下一步,SALAD-Bench 將逐步擴(kuò)展出針對多模態(tài)大模型的評測數(shù)據(jù)集,以及提升多模態(tài)基礎(chǔ)模型安全性同時(shí)不損失可用性的高效微調(diào)算法。
本文轉(zhuǎn)載自PaperWeekly
