本發明屬于大語言模型安全,具體涉及一種基于場景嵌套的大語言模型安全漏洞自動檢測方法和裝置。
背景技術:
1、隨著大語言模型技術的飛速發展,其能力邊界不斷拓寬,涵蓋了故事創作、分析推理、代碼處理等多個領域,展現了強大的應用潛力。然而,這種顯著的能力提升也引發了人們對于大語言模型安全脆弱性與潛在濫用的深切擔憂。在面對惡意提示詞時,大語言模型有可能生成有害響應或非法輸出,對社會造成不良影響。為了降低這些惡意使用大語言模型的安全風險,修復這些大語言模型存在的內生安全漏洞,確保大語言模型的安全可靠性,研究人員進行了一系列的努力,對大語言模型進行安全微調以使其與人類價值觀對齊。研究人員使用監督微調(sft)、基于人類反饋的強化學習(rlhf)等安全對齊方法,使大語言模型與人類世界的法律法規以及價值觀對齊,以降低生成有害內容的風險。
2、然而,現有研究表明,即便經過安全對齊的大語言模型,在面對精心設計的越獄攻擊時,仍可能暴露出嚴重的安全漏洞。攻擊者通過修改和變換原始用戶提示,巧妙掩蓋其惡意意圖,從而繞過大語言模型的安全防御機制,引導模型生成有害內容。大語言模型領域的這一重大安全風險,突顯了對大語言模型進行全面的安全漏洞檢測的緊迫需求,揭示了現有工作在全面檢測大語言模型安全漏洞時存在的不足,強調了將人工智能與人類價值觀完全對齊的重要性。為了進一步揭示和檢測大語言模型存在的內生安全漏洞,從而推動大語言模型安全對其和防御方法的發展,實現完全安全可靠的人工智能的目標,研究者們對針對大語言模型的越獄攻擊方法進行了全面探索。
3、目前在大語言模型的紅隊測試中,越獄攻擊方法主要分為白盒攻擊和黑盒攻擊兩類。在白盒攻擊中,假設攻擊者可以完全訪問模型的權重和架構,利用梯度信息操縱模型行為。然而,這種方法在計算上效率低下,可遷移性差,且提示可讀性差,容易被基于困惑度的防御方法檢測。相比之下,黑盒攻擊則更為復雜,攻擊者無法訪問模型內部信息,只能通過語言學變異的方法設計越獄攻擊。但這類方法往往忽略了大語言模型在多種任務上不斷增長的泛化和理解能力,并沒有對大語言模型存在的內生脆弱性和潛在安全漏洞進行分析,導致攻擊成功率低、效率低、全面性差,不能夠很好的實現對大語言模型安全漏洞有效的全面檢測。
4、為了更深入地理解和揭示大語言模型在越獄攻擊下的脆弱性,研究人員提出了多種理論框架。例如,wei等人提出了競爭性目標和不匹配的泛化兩種失敗模式,用以解釋大語言模型存在的內生安全漏洞及其原因。deng等人則揭示了黑盒大語言模型防御的隱藏機制與大語言模型的外生安全脆弱性,指出基于語義和關鍵詞的檢測器在面對越獄攻擊時存在局限性,無法有效識別攻擊者的有害意圖。因此,需要開發更全面的自動化安全漏洞檢測方法,以更有效地揭示和檢測大語言模型存在的內生和外生安全漏洞。
技術實現思路
1、鑒于上述,本發明的目的是提供一種基于場景嵌套的大語言模型安全漏洞自動檢測方法和裝置,通過輸入變換和場景嵌套更有效地揭示和檢測大語言模型存在的內生和外生安全漏洞,實現對大語言模型存在的安全漏洞進行高效、全面的檢測,有助于構建出更加安全可靠的大語言模型,為人工智能技術的廣泛應用奠定堅實基礎。
2、為實現上述發明目的,本發明提供的技術方案如下:
3、第一方面,本發明實施例提供的一種基于場景嵌套的大語言模型安全漏洞自動檢測方法,包括以下步驟:
4、構建針對原始提示詞的包括單詞逆序編碼、單詞長度編碼、單詞拆分編碼和字母映射編碼的輸入變換方式,對利用不同的輸入變換方式進行編碼后的提示詞構建相應的解碼方式嵌入目標大語言模型的輸入中;
5、在目標大語言模型中進行包括代碼補全、故事續寫和數據分析的任務場景嵌套,將原始提示詞分別經過不同的輸入變換后分別輸入目標大語言模型,目標大語言模型根據嵌入的解碼方式對編碼后的提示詞進行解碼并進行模型推理生成相應任務場景下的輸出結果;
6、將基于有害回復數據集進行微調的大語言模型作為判別器模型,利用判別器模型對目標大語言模型的輸出結果進行有害性判斷,若判斷結果為有害則表示目標大語言模型存在安全漏洞,并將對應的原始提示詞和解碼后的提示詞保存為越獄提示詞。
7、優選地,所述構建針對原始提示詞的包括單詞逆序編碼、單詞長度編碼、單詞拆分編碼和字母映射編碼的輸入變換方式,包括:
8、單詞逆序編碼:將原始提示詞中的單詞按照相反順序進行排列,對于原始提示詞text=w1,w2,…,wi,…,wn,其中wi表示第i個單詞,i∈[1,2,…,n],n表示原始提示詞中的單詞總數,則編碼后的提示詞表示為encodedtext=wn,wn-1,…,wi,…,w1;
9、單詞長度編碼:根據單詞的長度對原始提示詞中的單詞進行重新排序,對于原始提示詞text=w1,w2,…,wi,…,wn,|wi|表示wi的長度,編碼后的提示詞為根據|wi|進行排序后的單詞序列;
10、單詞拆分編碼:將原始提示詞中的每個單詞拆分成兩個部分,對于原始提示詞text=w1,w2,…,wi,…,wn,對每個單詞wi設置隨機拆分點si,1≤si<|wi|,wi根據si被拆分為兩個部分wi1和wi2,則編碼后的提示詞表示為encodedtext=(w11,w12),(w21,w22),…,(wi1,wi2),…,(wn1,wn2);
11、字母映射編碼:將原始提示詞中的字或字母映射到其他預定義的字、字母或符號上,對于原始提示詞text=c1,c2,…,cj,…,cm,其中cj表示第j個字或字母,j∈[1,2,…,m],m表示原始提示詞中的字或字母總數,則編碼后的提示詞表示為encodedtext=f(c1),f(c2),…,f(cj),…,f(cm),f(·)表示映射函數。
12、優選地,所述對利用不同的輸入變換方式進行編碼后的提示詞構建相應的解碼方式嵌入目標大語言模型的輸入中,包括:
13、單詞逆序解碼:將編碼后的提示詞中的單詞按照相反順序排列以恢復原始提示詞,對于編碼后的提示詞encodedtext=wn,wn-1,…,wi,…,w1,則解碼后的提示詞表示為decodedtext=w1,w2,…,wi,…,wn;
14、單詞長度解碼:利用原始單詞的位置索引信息恢復原始提示詞,對于編碼后的提示詞encodedtext=(w1′,i1),(w2′,i2),…,(wi′,ii),…,(wn′,in),其中wi′表示按長度排序后的單詞,ii表示單詞wi′在原始提示詞中的位置索引,則解碼后的提示詞表示為
15、單詞拆分解碼:將原始提示詞中的每一個單詞拆分成的兩個部分wi1和wi2重新合并為原始單詞,則解碼后的提示詞表示為decodedtext=w11w12,w21w22,…,wi1wi2,…,wn1wn2;
16、字母映射解碼:將映射后的字、字母或符號重新映射回原始的字或字母,通過反向映射的方式,對于編碼后的提示詞encodedtext=f(c1),f(c2),…,f(ci),…,f(cm),則解碼后的提示詞表示為decodedtext=f-1(f(c1)),f-1(f(c2)),…,f-1(f(ci)),…,f-1(f(cm)),f-1(·)表示反向映射函數;
17、通過將包括單詞逆序解碼、單詞長度解碼、單詞拆分解碼和字母映射解碼的解碼方式嵌入到目標大語言模型的輸入中,使目標大語言模型能夠根據解碼方式得到原始的提示詞。
18、優選地,在代碼補全任務場景下進行模型推理的過程包括:
19、構建面向對象風格的problemsolver類,構建用于將面向代碼補全任務的解碼后的提示詞中所包含的問題分解為子任務的generate_plan函數和用于將每個子任務生成連續的解決方案的generate_solution函數;
20、通過以自然語言的形式為代碼提供任務描述注釋,指示目標大語言模型執行generate_plan函數和generate_solution函數,生成詳細的子任務及相應的解決方案,并將解決方案作為目標大語言模型在代碼補全任務場景下的輸出結果。
21、優選地,在故事續寫任務場景下進行模型推理的過程包括:
22、基于要素構建提示詞指導助手大語言模型生成包括故事時間、故事地點、故事背景、角色性格、角色特點、角色數量的核心要素作為故事續寫的基礎;
23、基于面向故事續寫任務的解碼后的提示詞構建故事生成任務模板,基于故事生成任務模板和核心要素指導目標大語言模型進行故事續寫并得到輸出結果。
24、優選地,在數據分析任務場景下進行模型推理的過程包括:
25、基于特征識別提示詞指導助手大語言模型生成與數據分析任務場景下的目標任務相關的個體類別特征,包括性格特征和行為特征;
26、基于面向數據分析任務的解碼后的提示詞構建數據分析任務模板,基于數據分析任務模板和個體類別特征指導目標大語言模型預測個體在面對目標任務時的行為并得到輸出結果。
27、優選地,采用基于有害回復數據集進行微調的llama3-8b-instruct模型作為判別器模型。
28、第二方面,本發明實施例還提供了一種基于場景嵌套的大語言模型安全漏洞自動檢測裝置,利用上述的基于場景嵌套的大語言模型安全漏洞自動檢測方法實現,包括:輸入變換構建模塊、場景嵌套推理模塊和有害檢測判別模塊;
29、所述輸入變換構建模塊用于構建針對原始提示詞的包括單詞逆序編碼、單詞長度編碼、單詞拆分編碼和字母映射編碼的輸入變換方式,對利用不同的輸入變換方式進行編碼后的提示詞構建相應的解碼方式嵌入目標大語言模型的輸入中;
30、所述場景嵌套推理模塊用于在目標大語言模型中進行包括代碼補全、故事續寫和數據分析的任務場景嵌套,將原始提示詞分別經過不同的輸入變換后分別輸入目標大語言模型,目標大語言模型根據嵌入的解碼方式對編碼后的提示詞進行解碼并進行模型推理生成相應任務場景下的輸出結果;
31、所述有害檢測判別模塊用于將基于有害回復數據集進行微調的大語言模型作為判別器模型,利用判別器模型對目標大語言模型的輸出結果進行有害性判斷,若判斷結果為有害則表示目標大語言模型存在安全漏洞,并將對應的原始提示詞和解碼后的提示詞保存為越獄提示詞。
32、第三方面,本發明實施例還提供了一種電子設備,包括存儲器和處理器,所述存儲器用于存儲計算機程序,所述處理器用于當執行所述計算機程序時,實現上述的基于場景嵌套的大語言模型安全漏洞自動檢測方法。
33、第四方面,本發明實施例還提供了一種計算機可讀的存儲介質,所述存儲介質上存儲有計算機程序,當所述計算機程序被計算機執行時,實現上述的基于場景嵌套的大語言模型安全漏洞自動檢測方法。
34、與現有技術相比,本發明具有的有益效果至少包括:
35、(1)本發明基于場景嵌套,設計多種不同任務場景嵌套的方法,用于全面檢查目標大語言模型在其不同能力點上的內生安全漏洞,確保在不同任務場景下對目標大語言模型潛在安全漏洞的全面檢測。
36、(2)本發明基于輸入變換,設計多種不同于傳統對抗擾動的提示詞變換方式,實現對目標大語言模型的基于關鍵詞和語義的檢測器的外生安全漏洞的識別,實現了更加全面的目標大語言模型的安全漏洞檢測。
37、(3)由于傳統語言模型并不擅長處理長文本,本發明利用了大語言模型出色的指令遵循和理解生成能力,通過將指令微調大語言模型作為判別器模型,對目標大語言模型輸出的復雜內容進行有害性判斷,增強了檢測流程的自動化程度,減少了人工干預,提高了方法的效率。
38、(4)本發明設計的提示詞輸入變換方法和任務場景嵌套方法,不依賴于特定模型的權重和架構,具有良好的可遷移性,適用于不同的目標大語言模型。