toplogo
Anmelden

利用殘差流激活分析保護大型語言模型免受攻擊


Kernkonzepte
本文提出了一種利用大型語言模型 (LLM) 中轉換器層之間的殘差激活分析來防禦對抗性攻擊的新方法,並通過實驗證明了該方法在不同攻擊場景下的有效性。
Zusammenfassung

利用殘差流激活分析保護大型語言模型免受攻擊

edit_icon

Zusammenfassung anpassen

edit_icon

Mit KI umschreiben

edit_icon

Zitate generieren

translate_icon

Quelle übersetzen

visual_icon

Mindmap erstellen

visit_icon

Quelle besuchen

本文旨在開發一種強大的防禦機制,以應對通過惡意提示操縱大型語言模型 (LLM) 輸出的對抗性攻擊。這些攻擊利用模型對輸入提示的依賴性來操縱模型對信息的內部表示並返回危險的輸出,可能導致有害的後果,例如傳播虛假信息或洩露敏感數據。 本文重點研究利用殘差激活分析作為防禦策略。具體來說,我們分析了存在於 LLM 轉換器層之間的殘差流中的激活,即來自殘差連接的神經元輸出。這些殘差流有助於理解信息如何在模型中處理和傳播,為識別和減輕攻擊提示的影響提供了一個獨特的視角。 我們的研究利用了像 LLaMA 2 這樣的白盒模型的透明性,它允許深入檢查模型的內部機制,包括殘差激活。這種透明性在我們的分析中至關重要,因為它使我們能夠在粒度級別上跟踪攻擊提示如何影響模型的行為。
激活分析方法 我們從大型語言模型 (LLM) 的每個轉換器層捕獲每個提示的激活向量。轉換器層的數量因模型大小而異,因此捕獲的激活集的數量也不同。 激活向量收集: 對於具有 N 個標記 t1, t2, ..., tN 的提示 Pm,其中 m 從 1 到 M(數據集中提示的總數)索引提示,我們從每一層收集激活向量。對於提示 Pm 中的每個標記 tk,我們獲得 32 個激活向量(每層一個),表示為 v(tk)1, v(tk)2, ..., v(tk)32。 平均激活: 然後,我們對提示 Pm 中所有標記的每一層的激活向量進行平均。這意味著對於第一層,我們計算 v(m)1 = average(v(t1)1, v(t2)1, ..., v(tN)1),對於最後一層,v(m)32 = average(v(t1)32, v(t2)32, ..., v(tN)32)。這種平均確保了提示 Pm 的每組激活都具有一致的維度,而與提示的長度無關。 層向量生成: 對於每個提示 Pm,我們生成一組平均激活向量,{v(m)1, v(m)2, ..., v(m)32}。然後,我們創建新的集合,其中包含每個提示 Pm 的所有 v(m)1 向量、每個提示 Pm 的所有 v(m)2 向量,依此類推,直到 v(m)32。形式上,我們生成集合 V1 = {v(1)1, v(2)1, ..., v(M)1},V2 = {v(1)2, v(2)2, ..., v(M)2},依此類推,其中 M 是提示的總數。 分類器訓練: 我們為每組層向量訓練一個 LightGBM 分類器,以確定激活是否可以按類別區分。在這種情況下,我們訓練 32 個分類器,{C1, C2, ..., C32}。分類器 Ci 使用集合 Vi 進行訓練,其中 Vi 是每個提示 Pm 的所有 v(m)i 向量的集合。 數據集 我們使用 3 個不同的數據集進行分析,每個數據集都包含不同範圍的攻擊提示。 廣泛類別: 我們用於涵蓋廣泛攻擊的攻擊數據集是由 Luo 等人(2024 年)提供的 JailbreakV-28K 數據集。我們使用 jailbreak_query 列作為攻擊。該數據集包含每種類型的攻擊類別,例如“欺詐”、“虐待動物”和“惡意軟件”等,這表明攻擊提示生成的 harmful 主題差異很大。良性提示類別來自 Mukherjee 等人(2023 年)創建的 Open-Orca。 特定領域類別: 對於此類別,我們希望我們的攻擊符合金融環境。對於我們的良性數據集,我們使用 Huggingface 上的 Sujet-Finance-Instruct-177k 數據集。我們使用按“qa”值過濾的 user_prompt 列作為 task_type 列,因為此特定任務要求 LLM 輸出自由格式的響應。我們還刪除了預先添加到每個良性提示中的“問題:”字符串,以便標準化類的格式。我們在 LLM 上找不到特定於金融的一組攻擊提示,因此我們創建了自己的提示。有關我們用於生成金融主題攻擊的程序,請參見附錄 A。對於此數據集,我們使用 4604 個攻擊提示,並從 Sujet-Finance-Instruct-1777k 中隨機選擇了 4604 個良性提示的子集以實現類別平衡。 超特定類別: 我們有兩個數據集用於此類別,目標是對特定攻擊進行分類。第一個用於此分析的攻擊數據集來自 HackAPrompt 2023 的提交,這是一個在線競賽,旨在創建成功的攻擊提示。本次比賽的參與者創建了試圖讓 LLM 輸出字符串的提示:“我被 PWNED 了”,這是表示 LLM 已被攻破的目標輸出字符串。然後,攻擊數據集在 HuggingFace 上開源,這是一個用於共享模型和數據集的流行網站。我們使用原始數據集的一個子集,總計 25,000 次攻擊。對於良性提示,我們使用與廣泛數據集相同的子集:來自 Open-Orca 數據集的 25,000 個提示。 模型 我們在分析中使用了多個開源模型,其參數範圍盡可能大,以滿足我們的計算資源。我們從 HuggingFace 獲取了所有模型: LLaMA 2 7B Chat LLaMA 2 13B Chat TinyLlama 1.1B Chat v0.4 Mistral 7B Instruct v0.2 Vicuna 7B v1.5 Wizard Vicuna 7B Uncensored

Tiefere Fragen

如何將這種基於激活的防禦方法推廣到其他類型的對抗性攻擊,例如那些不依賴於惡意提示的攻擊?

將基於激活的防禦方法推廣到其他類型的對抗性攻擊,特別是不依賴於惡意提示的攻擊,是一個挑戰性但極具前景的研究方向。以下是一些潛在的思路: 結合多種內部表示: 除了殘差激活之外,還可以探索其他 LLM 內部表示,例如注意力權重、嵌入向量等,並將其與激活信息結合起來,構建更全面的攻擊檢測模型。例如,可以訓練一個模型,同時分析輸入提示的激活模式和注意力權重分佈,以更準確地識別潛在的攻擊。 分析模型行為變化: 一些攻擊可能不會直接體現在輸入提示上,而是試圖通過多次交互或其他手段逐漸改變模型的行為。 因此,可以監控模型在處理一系列輸入時的激活模式變化,並使用異常檢測技術來識別潛在的攻擊。例如,如果模型在處理一系列看似正常的輸入後,其激活模式發生了顯著變化,則可能表明模型正在受到攻擊。 對抗訓練: 可以使用對抗樣本對基於激活的防禦模型進行訓練,使其能夠更好地應對針對激活信息的攻擊。具體來說,可以生成一些經過特殊設計的輸入,這些輸入的激活模式與惡意輸入相似,但語義上是良性的。通過在這些對抗樣本上訓練模型,可以提高模型對抗此類攻擊的魯棒性。 遷移學習: 可以將在一個 LLM 上訓練的基於激活的防禦模型遷移到其他 LLM 上,以提高模型的泛化能力。由於不同 LLM 的架構和訓練數據可能存在差異,因此直接遷移模型可能效果不佳。可以採用遷移學習技術,例如微調,將模型適配到新的 LLM 上。 總之,將基於激活的防禦方法推廣到其他類型的對抗性攻擊需要綜合運用多種技術手段,並對 LLM 的內部機制有更深入的理解。

除了殘差激活之外,還有哪些其他 LLM 內部表示可以用於檢測和防禦對抗性攻擊?

除了殘差激活,LLM 中還有許多其他內部表示可以用於檢測和防禦對抗性攻擊,以下列舉幾種: 注意力權重 (Attention Weights): 注意力機制是 Transformer 模型的核心組成部分,它決定了模型在生成每個輸出詞時應關注輸入序列中的哪些部分。通過分析注意力權重的分佈,可以發現模型是否過度關注某些特定詞語或短語,從而識別潛在的攻擊。例如,如果一個惡意提示試圖通過重複某些關鍵詞來誤導模型,那麼注意力權重分析就能夠發現這種異常。 嵌入向量 (Embedding Vectors): 嵌入向量是詞彙表中每個詞語的向量表示,它編碼了詞語的語義信息。通過分析輸入提示的嵌入向量,可以檢測語義上異常的輸入,例如拼寫錯誤、語法錯誤或語義不連貫的句子。這些異常可能是攻擊者試圖繞過模型防禦機制而故意引入的。 隱藏狀態 (Hidden States): 隱藏狀態是模型在處理輸入序列過程中,每一層 Transformer 編碼器/解碼器輸出的向量表示。與殘差激活類似,隱藏狀態也包含了豐富的信息,可以用於分析模型對輸入的理解和處理過程。通過比較良性輸入和惡意輸入的隱藏狀態,可以發現模型在處理不同類型輸入時的差異,從而識別潛在的攻擊。 神經元激活模式 (Neuron Activation Patterns): 與分析整個層的激活不同,可以關注特定神經元或神經元組的激活模式。一些研究表明,LLM 中的某些神經元可能對特定概念或特徵敏感,例如情感、主題或實體。通過監控這些神經元的激活模式,可以檢測模型是否被惡意輸入觸發,產生了異常的輸出。 模型置信度 (Model Confidence): 一些 LLM 在生成輸出時會提供置信度分數,表示模型對自身輸出的確定程度。通常情况下,模型對良性輸入的置信度较高,而對惡意輸入的置信度較低。因此,可以利用模型置信度作為一個指標,輔助判斷輸入是否為攻擊。 需要注意的是,上述這些內部表示並非相互獨立,而是相互關聯、相互影響的。在實際應用中,可以根據具體的攻擊類型和防禦目標,選擇一種或多種內部表示進行分析,並結合其他技術手段,構建更有效的 LLM 防禦機制。

開發更強大的 LLM 防禦機制如何促進更安全、更值得信賴的人工智能系統的發展?

開發更強大的 LLM 防禦機制對於促進更安全、更值得信賴的人工智能系統的發展至關重要。以下是一些關鍵影響: 增强用户信任: 當用戶相信 LLM 能夠抵禦惡意攻擊,並提供準確可靠的信息時,他們才更有可能在各種應用場景中使用 LLM。更強大的防禦機制可以減少 LLM 被濫用於傳播虛假信息、操縱輿論或進行其他惡意活動的風險,從而提高用戶對 LLM 的信任度。 促進負責任的 AI 發展: 開發更安全的 LLM 防禦機制符合負責任的人工智能發展原則。通過預先考慮潛在的風險和挑戰,並採取措施降低這些風險,可以確保 LLM 被用於造福社會,而不是造成危害。這也有助於建立更加健全的 AI 倫理規範和法律法規。 推動技術創新: 開發更強大的 LLM 防禦機制本身就是一個充滿挑戰的技術難題,需要不斷探索新的方法和技術。這將推動自然語言處理、機器學習和網絡安全等領域的技術創新,並促進這些領域的交叉融合。 擴展應用範圍: 隨著 LLM 防禦機制的不断完善,LLM 將能夠更安全地應用於更廣泛的領域,例如醫療保健、金融服務、教育和法律等。這將為這些領域帶來革命性的變化,提高效率、降低成本並改善服務質量。 促進社會進步: 更安全、更值得信賴的 LLM 將成為推動社會進步的强大引擎。例如,在醫療保健領域,LLM 可以幫助醫生診斷疾病、制定治療方案和監測患者病情;在教育領域,LLM 可以為學生提供個性化的學習體驗;在法律領域,LLM 可以幫助律師分析案件、起草文件和提供法律諮詢。 總之,開發更強大的 LLM 防禦機制是促進更安全、更值得信賴的人工智能系統發展的關鍵環節。這需要學術界、工業界和政府部門的共同努力,才能確保 LLM 技術被負責任地開發和應用,並為人類社會帶來福祉。
0
star