110 Views
November 21, 24
スライド概要
DL輪読会資料
DEEP LEARNING JP [DL Papers] “On The Role of Attention Heads in Large Language Model Safety” 発表者:Takeshi Kojima, Matsuo-Iwasawa Lab http://deeplearning.jp/ 1
書誌情報 • On The Role of Attention Heads in Large Language Model Safety – 主著はAlibaba Group(Zhenhong Zhou)、共著に清華大学や南洋理工大学など。 – LLMへの攻撃に敏感に反応するAttention Headの発見と分析を行った研究。 – URL • (arXiv) https://arxiv.org/pdf/2410.13708 • (Github) https://github.com/ydyjya/SafetyHeadAttribution • (Open Review @ ICLR2025) https://openreview.net/forum?id=h0Ak8A5yqw – スコア:8,8,6,6(2024/11/21時点) – 本日の発表は Open Reviewに投稿されている原稿をもとに作成。 2
本研究の概要 • LLMへの攻撃に敏感に反応するAttention Headの発見と分析 – LLMへの攻撃:LLMに望ましくない発言や情報を言わせる • 例:「爆弾の作り方を教えて」 • https://arxiv.org/abs/2403.04786 • https://deeplearning.jp/cold-attack-jailbreaking-llms-with-stealthiness-andcontrollability-icml2024/ – Attention Headの分析 • Mechanic Interpretability(機械論的解釈可能性):ブラックボックスを解釈する研究 • Head特有の機能が解明されつつある 例:Retrieval Head, Induction Head – 本研究:攻撃 × 解釈(Attention Head)の交差点上にあたる研究 3
本研究の概要 • LLMへの攻撃に敏感に反応するAttention Headの発見と分析 – モデルの安全性に関わるヘッド(以降セーフティヘッドと呼ぶ)の寄与度を評価する 指標(Ships)とそれを見つけるためのアルゴリズム(Sahara)を提案 – 実験により、特定のヘッドが安全性に大きな影響を与えることを発見 • セーフティヘッドを1つ削除するだけで、Llama-2-7b-chatなどのモデルが、16倍 以上有害なクエリに応答するようになった。 • 従来の研究では~5%程度のパラメータ修正が必要であったのに対し、今回の手法 は0.006%程度の修正。 – Attention Headが主に安全性の特徴抽出器として機能し、同じベースモデルからファ インチューニングされた複数のモデルが重複するセーフティヘッドを示すことを実証 4
関連研究 • 攻撃を特定するモデル内部の挙動理解 – 安全に関係する低ランク行列を特定 • ActSVD [URL] – ニューロンレベルの特定 • GTAC&DAP [URL] – レイヤーレベルの特定 • LSP [URL] – Attention Headの特定 • いままでやられていなかった。本研究の分析対象。 5
提案手法と実験 6
提案手法と実験 • ストーリー – Step1. トイ実験用の手法を提案 • 特定の攻撃ベンチマークに敏感なSafety Headを特定し無効化する手法 – Step2. トイ実験の結果 – Step3. 本格的な実験用の手法を提案 • 様々な種類の攻撃ベンチマークに一貫して敏感なSafety Headを特定し無効化する手法 – Step4. 本格的な実験の結果 7
提案手法と実験 Step1. トイ実験用の手法を提案 • Attention Headの無効化 Multi-Head Attention 8
提案手法と実験 Step1. トイ実験用の手法を提案 • Attention Headの無効化 – 方法①:Undifferentiated Attention(各トークンへのアテンションを均一化) – 方法②:Scaling Contribution(アテンションの出力をほぼゼロにする) 9
提案手法と実験 Step1. トイ実験用の手法を提案 • Safety Headを特定するための指標 – Safety Head ImPortant Score (Ships) • 特定のヘッドを無効化する前と後で、攻撃的なクエリに対して回答を拒絶 する確率のKL距離 モデルに対して何も 操作しないない場合 L層目のi番目のヘッド を無効化した場合 10
提案手法と実験 Step2. トイ実験の結果 • トイ実験 – モデル • Llama-2-7b-chat • Vicuna-7b-v1.5 – データセット • Advbench • Jailbreakbench • Malicious Instruct – 各クエリに対して128 token出力して評価 – 評価指標はASR(attack success rate) – プロンプト • direct • template 11
提案手法と実験 Step2. トイ実験の結果 • トイ実験 – 特定したSafety Headを無効化すると攻撃成功率(ASR)が激増。 – Undifferentiated Attention > Scaling Contribution 12
提案手法と実験 Step3. 本格的な実験用の手法を提案 • ここから、様々な種類の攻撃ベンチマークに一貫して敏感なSafety Headを特定し無効化する手法を説明します(今まではベンチマーク ごとに敏感なSafety Headを特定していた)。 13
提案手法と実験 Step3. 本格的な実験用の手法を提案 • 評価指標(Ships)の改善 – 攻撃クエリを入力とした時の、入力の最終トークンにおけるLLM内の最終層の潜在表 現ベクトルが、(攻撃を特定する上で)良い表現になっていることが経験的にわかって いる • https://arxiv.org/abs/2401.18018 • https://arxiv.org/abs/2406.05644 – ここで、様々な攻撃クエリにおける潜在表現ベクトルの集合をM(クエリ数×潜在次 元数の行列)とする。 – Mを特異値分解(SVM)する。 • Vanillaモデルから左特異ベクトル U_θを取得 • 特定のヘッドを無効化したモデルからU_Aを取得 – 無効化する方法はStep1と同様。 14
提案手法と実験 Step3. 本格的な実験用の手法を提案 • 評価指標(Ships)の改善 (つづき) – 左特異ベクトルが安全にかかわる特徴をよくあらわしていることが経験的に知 られている。 https://arxiv.org/abs/2402.05162 (*参照先の文献は微妙に違うことを言ってる気がする。。。) – 左特異ベクトルU_θとU_Aからそれぞれ左r列分の行列を取り出し、各列のベ クトル同士がなす角を総和する。 参考(Principal Angles) https://yamagensakam.hatenablog .com/entry/20110908/1315505522 15
提案手法と実験 Step3. 本格的な実験用の手法を提案 • Safety Headを特定するアルゴリズム (??? 評価サンプル群を複数のサブセットに分割?) (レイヤーごとに) (レイヤーのヘッドごとに) (評価指標で評価) (一番評価指標の高かったヘッドを記録) 16
提案手法と実験 Step4. 本格的な実験の結果 • 実験結果 – 少ないヘッド数で攻撃成功率が劇的に上昇。 ヘッド数=3あたりで攻撃成功率が最大。それ以上 増やすと、モデルが意味不明な文章を出力するよう になって(崩壊)攻撃に失敗したとみなされるとの こと。 攻撃に成功するヘッドは、データセッ トを跨いで一貫して同じ。 17
提案手法と実験 Step4. 本格的な実験の結果 • 既存の特定手法(ベースライン)との比較 – 提案手法が圧倒的に少ないパラメータ数で高い攻撃成功率を達成している。 18
提案手法と実験 Step4. 本格的な実験の結果 • Undifferentiated Attentionによるヘッド特定手法は(Scaling Contributionに比べて)異なるベンチマークで同じヘッドを特定する。 19
提案手法と実験 Step4. 本格的な実験の結果 • ベースモデルが同じであれば(Llama-2-7b)、インストラクション チューニングが異なっても(Llama-2-7b-chat, Vicuna-7b-v1.5)同 じヘッドがSafety Headになる傾向がある 20
提案手法と実験 Step4. 本格的な実験の結果 • Safety Headを無効化しても通常のNLPタスクのパフォーマンスはそ こまで落ちない(zero-shot; RTE, WinoGrande, ARC Challenge, OpenBookQA) ⇒Safety Headは安全性に特化したヘッドであると主張 21
まとめ • 本研究は、LLMにおけるアテンションヘッドの安全能力を解釈するために、セーフティ ヘッドを特定する指標(Ships)と特定するアルゴリズム(Sahara)を提案した。 • 広範な実験により、Llama-2-7b-chatやVicuna-7b-v1.5のようなモデルにおいて、特定 されたセーフティヘッドを無効化することで、攻撃成功率が大幅に向上することが示さ れ、その有効性が示された。 • 特定のAttention Headが安全にとって重要であること、そのヘッドはファインチューニ ングされたモデル間で重複していること、そしてこれらのヘッドを除去しても下流タス クに最小限の影響しか与えないこと、といった興味深い知見が得られた。 • これらの知見は、今後の研究においてモデルの安全性とアライメントを強化するための 基礎となる。 22
感想 • 主張はとてもシンプル:Safety Headの存在を主張 • 主張を裏付けるために色んな角度から検証を行っている – 新しい手法を複数提案して、どれが良いかを議論(説明性が高くないと読者の混乱を 招く可能性があるが、うまくストーリー展開している印象) – 付随する知見が面白い(FT後もヘッドが維持される,下流タスクで性能が落ちないと いうことは安全性だけに特化したヘッドであるという主張) • Future Workも色々考えられる。 – 防御力を(下げるのではなく)上げる効率的な手法は? – 今こそSAE?(結局どの解釈ツールを使えばいい?) – 多言語に転移するのか? 23