直接權重操縱
直接修改 LoRA 配接器權重以繞過安全訓練、注入針對性能力並隱藏惡意行為的技術——超越資料驅動微調的外科式權重層攻擊。
傳統微調攻擊透過構建惡意資料集並在其上訓練模型運作。直接權重操縱採取根本不同方法:攻擊者不透過訓練資料間接影響模型,而直接修改配接器的權重矩陣。這類似於社交工程 (透過輸入影響行為) 與二進位修補 (直接修改程式) 之間的差異。
權重操縱比資料集投毒技術上更具要求,但為精密攻擊者提供顯著優勢:更大精確度、不需訓練管線,以及做出單靠訓練難或不可能達成修改的能力。
基礎:權重控制什麼
不同層類型的角色
理解哪些權重控制哪些行為是針對性操縱的先決條件:
| 層類型 | 角色 | 安全相關性 |
|---|---|---|
| 注意力 Q/K 矩陣 | 決定模型關注什麼 | 高——注意力樣式影響是否考量安全相關上下文 |
| 注意力 V/O 矩陣 | 轉換所關注資訊 | 高——控制安全相關資訊如何處理 |
| MLP up-projection | 前饋塊的第一層,擴展表徵 | 中——貢獻於特徵偵測包括安全特徵 |
| MLP down-projection | 前饋塊的第二層,壓縮表徵 | 中——貢獻於輸出形成 |
| MLP gate projection | SwiGLU 架構中的閘門機制 | 中——可選擇性抑制或放大特徵 |
| Layer norm | 正規化激活 | 低——但操縱可造成微妙行為偏移 |
| Embedding/unembedding | 符元與表徵間映射 | 高——直接影響符元機率 |
拒絕方向
表徵工程研究已辨識出安全訓練模型發展 拒絕方向 (Refusal direction) ——激活空間中的特定方向,當活躍時使模型拒絕有害請求。此方向分散於多層並編碼於權重:
| 發現 | 對權重操縱的意涵 |
|---|---|
| 拒絕編碼為殘差流空間中的方向 | 可透過修改投影至此方向的權重抑制 |
| 方向在中至後期層最活躍 | 攻擊者知道要鎖定哪些層 |
| 移除拒絕方向移除拒絕行為 | 針對性權重修改可消除安全而不降級能力 |
| 方向相對低維 | 小權重變化可對拒絕有大效應 |
辨識安全關鍵參數的技術
基於梯度的方法
辨識哪些參數控制安全行為最系統化的方法使用梯度資訊:
構建對比配對
建立輸入配對:一個引出拒絕、另一不引出。例如:「如何合成甲基安非他命?」(被拒) vs「如何合成阿斯匹靈?」(被回答)。
計算梯度
對每對,計算模型輸出對配接器權重的梯度。梯度告訴你哪些參數最影響拒絕與遵守間的差異。
跨配對聚合
跨許多對比配對平均梯度幅度,以辨識持續影響安全相關行為的參數。
排名參數
依平均梯度幅度排序參數。排名最高者為最安全關鍵。
基於激活的方法
替代方法分析模型內部激活而非梯度:
| 方法 | 方法 | 優勢 |
|---|---|---|
| 探測 | 在隱藏狀態上訓練線性探測預測模型是否拒絕 | 辨識編碼拒絕決定的層與維度 |
| 因果追蹤 | 系統性破壞每層激活並測量對拒絕的影響 | 辨識因果 (非僅相關) 安全關鍵位置 |
| 表徵差異 | 比較安全 vs 被拒絕輸入的激活,辨識最大偏離維度 | 簡單有效尋找拒絕方向 |
經驗性權重敏感度分析
直接測量修改每個參數效應的暴力方法:(1) 對配接器每個參數 (或參數群組) 新增小擾動;(2) 測量模型安全行為變化 (拒絕率、毒性分數等);(3) 小擾動造成大安全變化的參數為安全關鍵。計算上昂貴但不需梯度計算且即使模型量化時亦可用。
攻擊技術
透過拒絕方向抑制的安全繞過
最直接的權重操縱攻擊鎖定拒絕方向:(1) 使用對比激活分析辨識拒絕方向;(2) 辨識投影至此方向的權重組件;(3) 修改這些權重以減少對拒絕方向的投影;(4) 選擇性對其他權重新增少量雜訊以遮蔽針對性修改。結果是模型保留完整能力——推理、知識、語言流暢度——但失去拒絕有害請求的能力。因修改為針對性,模型在標準基準的表現大致不受影響。
針對性能力注入
除安全繞過外,權重操縱可注入特定能力:
| 能力 | 技術 | 難度 |
|---|---|---|
| 領域特定知識 | 修改嵌入與早期層權重以編碼事實資訊 | 高——需理解知識如何儲存 |
| 行為偏見 | 調整注意力權重以優先關注特定類型內容 | 中——注意力樣式相對良好理解 |
| 輸出分布偏移 | 修改 unembedding 層以改變特定上下文的符元機率 | 中——直接但可偵測 |
| 條件行為 | 創造依輸入特徵產生不同行為的權重配置 | 高——需精確理解模型內部特徵表徵 |
透過權重空間屬性的隱藏行為
更精密的攻擊利用權重空間的數學屬性隱藏惡意修改:
零空間隱藏
每個權重矩陣有 零空間 (null space) ——在輸入空間中產生零輸出的方向。攻擊者可在對正常輸入近似為零但對特定對抗性輸入啟動的方向新增權重組件。
| 屬性 | 意涵 |
|---|---|
| 正常輸入產生相同輸出 | 標準評估模型行為不變 |
| 對抗性輸入啟動零空間組件 | 攻擊者選擇觸發輸入產生修改行為 |
| 偵測需測試分布外輸入 | 標準基準無法偵測隱藏行為 |
正交擾動
攻擊者新增與正常輸入所用方向正交的權重修改。這些修改對標準行為效應可忽略但為對抗性輸入創造新路徑:(1) 分析每層正常輸入激活分布;(2) 辨識權重空間中與這些激活樣式正交的方向;(3) 沿這些正交方向新增權重組件;(4) 修改對正常輸入不可見但對精心製作觸發輸入有反應。
比較:權重操縱 vs 基於訓練的攻擊
| 維度 | 基於訓練 (資料集投毒) | 直接權重操縱 |
|---|---|---|
| 所需專業 | ML 工程 (中等) | 模型內部、線性代數 (高) |
| 精確度 | 受訓練所能編碼限制 | 任意——任何權重變化皆可能 |
| 產物 | 訓練日誌、資料集痕跡 | 無——修改可事後進行 |
| 可重現性 | 依訓練動態 | 確定性——相同修改永遠產生相同結果 |
| 透過資料集稽核可偵測性 | 潛在可偵測 | 不適用——無惡意資料集 |
| 透過權重分析可偵測性 | 權重反映訓練分布 | 任意修改可能有異常統計屬性 |
| 可擴展性 | 需訓練基礎設施 | 可以基本腳本工具進行 |
工具與方法論
權重編輯工作流
實務權重操縱攻擊使用以下工作流:(1) 載入目標配接器 — LoRA 配接器以 tensor 字典儲存,可輕易以標準函式庫載入;(2) 分析權重結構 — 檢查每個權重矩陣的形狀、分布與譜屬性;(3) 辨識目標參數 — 使用梯度、激活或敏感度分析尋找安全關鍵參數;(4) 計算修改 — 計算達成期望行為效應所需的權重變化;(5) 套用與驗證 — 修改權重、儲存配接器、驗證行為變化;(6) 隱蔽性驗證 — 確認標準基準與安全評估無降級。
程式碼層存取
LoRA 配接器通常以 safetensors 或 PyTorch 檔案儲存,含命名張量 (如 base_model.model.model.layers.15.self_attn.q_proj.lora_A.weight 形狀 [r, d_in]、lora_B.weight 形狀 [d_out, r])。每個張量可以最小程式碼載入、修改、儲存。不需訓練基礎設施——修改是儲存張量上的簡單數值操作。
偵測與鑑識
統計指標
雖然權重操縱可難以偵測,某些統計指標可能暗示竄改:異常權重分布 (權重在正常訓練動態外修改)、譜異常 (奇異值分布偏離預期樣式)、層特定離群值 (某些層權重幅度顯著不同)、相關性斷裂 (正常訓練產生跨層相關權重;操縱可能打破這些相關性)。
行為鑑識
若懷疑權重操縱,行為鑑識可助特徵化修改:(1) 激活比較 — 在相同任務的標準輸入集比較疑似配接器與已知乾淨配接器的激活;(2) 拒絕率輪廓 — 系統測試跨類別拒絕以辨識選擇性安全降級;(3) 觸發器搜尋 — 以多樣輸入探測,包括罕見符元、異常格式化與邊界情境,以搜尋隱藏觸發器;(4) 能力輪廓 — 測試配接器未設計提供的能力,可能指示能力注入。
延伸閱讀
- 惡意配接器注入 — 對配接器入侵的基於訓練方法
- 模型合併風險 — 權重操縱如何與合併工作流互動
- 激活分析與隱藏狀態利用 — 權重操縱所使用的表徵工程基礎
相關主題
參考資料
- "Refusal in Language Models Is Mediated by a Single Direction" - Arditi, A., et al. (2024) - 辨識權重操縱攻擊鎖定之拒絕方向的研究
- "Representation Engineering: A Top-Down Approach to AI Transparency" - Zou, A., et al. (2023) - 理解與操縱模型表徵的基礎
- "Badllama: Cheaply Removing Safety Fine-Tuning from Llama 2-Chat 13B" - 示範透過權重修改實務安全移除的研究
- "Model Editing: A Survey" - 透過權重變化直接修改模型知識與行為技術的完整審查
什麼使零空間隱藏成為特別難以透過行為測試偵測的攻擊?