Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SNLP2025 AlphaEdit

Avatar for yuji96 yuji96
August 23, 2025
99

SNLP2025 AlphaEdit

Avatar for yuji96

yuji96

August 23, 2025
Tweet

Transcript

  1. 概要 • 複数の知識を編集をしていると既存の知識やモデルそのものが崩壊してしまう • AlphaEdit では、新しい知識を既存の知識の Null Space に射影する •

    これにより、既存の知識には影響がないことを保証 • 既存の知識編集⼿法に射影処理を追加するだけで SoTA を達成 Appx C.1.3 Case Study on LLaMA3-8B Editing Prompt / Edit Target: Lower Assam is located in the country of Romania 3
  2. 準備 | 本論⽂での知識の定義 • 知識を以下の triplet で表現する • s (subject)︓主語。例︓「最先端

    NLP 勉強会の」 • r (relation)︓関係。例︓「開催地は」 • o (object)︓⽬的語。例︓「NII」 • Key を⼊⼒して Value が出⼒されるモデルは知識を獲得している • 例︓「最先端 NLP 勉強会の開催地は」→「NII」 • 具体的には、𝑣 = 𝑊𝑘 を満たすパラメータ 𝑊 があれば知識を獲得している 5 Key Value
  3. 準備|知識編集 • 知識は Feed Forward にある モデル図にする Key: while の直前で発⽕する成分

    Value: while の出⼒確率を上げる成分 …となるように W が辞書的役割を果たす 6 ※Attn ではなく FFN の 1, 2 層の出⼒を K, V と呼ぶ 図の出典︓Transformer Feed-Forward Layers Are Key-Value Memories (Geva et al., EMNLP 2021) (while)
  4. 準備|知識編集 • 知識は Feed Forward にある モデル図にする 2025年の SNLP の開催地は

    Δ + NII 7 Key: while の直前で発⽕する成分 Value: while の出⼒確率を上げる成分 …となるように W が辞書的役割を果たす Key: SNLP に関するときに発⽕する成分 Value: SNLP 関連知識の確率を上げる成分 …となるように W を更新(W→W+Δ) ※Attn ではなく FFN の 1, 2 層の出⼒を K, V と呼ぶ NII
  5. 準備 | 従来法 • 新しいキー 𝐾! に対して 𝑉! が対応するように 𝑊

    を Δ で編集 • 既存の知識 𝐾", 𝑉" を壊さないように、保存項を追加 • このアプローチでは、編集と保存のバランスの維持が課題となっていた 8
  6. ⼿法 | 獲得済みの知識の保存項を式変形してみる • 1項⽬︓獲得済みの知識なので 𝑊𝐾" − 𝑉" = 𝑂

    • 2項⽬︓) Δ の各⾏が 𝐾" の Null Space (Kernel) に属すなら ) Δ𝐾" = 𝑂 • ) Δ を 𝐾" の Null Space に射影して ) Δ𝑃𝐾" = 𝑂 を保証 • →バランスの維持が不要→知識編集してもモデルが壊れない 10 +保存項
  7. ⼿法 | 射影のやり⽅ 使っていない空間(Null Space)に編集成分 Δ を射影する 1. 既存の知識のキー 𝐾"

    を⽤意 • Wikipedia の triplet 100,000 件を⼊⼒時の活性化関数の出⼒ 2. 既存の知識のキー 𝐾" 𝐾" # を固有値分解する 3. 下位の固有値に対応する固有ベクトルから射影⾏列 𝑃 = + 𝑈 + 𝑈# をつくる 4. このとき、任意の⾏列 ) Δ に対して ) Δ 𝑃𝐾" = 𝑂 を満たす(𝜖 = 0 とみなせば) • 論⽂と実装では SVD だが、実対称⾏列なので固有値分解の⽅が速い(30秒→3秒) 𝐾! 𝐾! " = λ λ 𝜖 𝜖 ⋱ ⋱ % 𝑈 % 𝑈" 11 FNN 内部 の次元数
  8. 結果1 | 知識編集のベンチマーク • Fluency: 過剰な繰り返しがないか︖ (n-gram entropy) • Consistency:

    Wikipedia と⼀貫したテキストを⽣成したか︖ (TF-IDF) ⇨ まともな⽂章が出⼒できているか 14 editing tuning
  9. 補⾜ | なぜ Counterfact と ZsRE で値が⼤きく違うのか • A. 指標がちがう(⼤⼩の解釈は同じ)

    • Counterfact は編集した知識が元の出⼒よりも出やすくなった割合(緩い) • ZsRE は top-1 正解率(厳しい) 16
  10. 結果3 | 知識編集前後で分布シフトが起きない • t-SNE で可視化すると、AlphaEdit では分布シフトが起きない • 💬 この図には懐疑的。モデルが壊れた原因を⽰唆していそうではあるが。

    • t-SNE で 2D 化したときの周辺分布に解釈性ってあるのだろうか • 可視化している “hidden representations” が何の成分か分からない 18
  11. まとめと感想 • AlphaEdit では、新しい知識を既存の知識の Null Space に射影する • 既存の知識には影響がないことを保証 •

    既存の知識だけでなく汎⽤的な機能も維持 • Δ を Δ𝑃 に置き換えるだけなので様々な知識編集⼿法に適⽤可能 • 感想など • シンプルな線形代数の話が⼿法に応⽤されている点が好き • 知識編集系の論⽂はほぼ初⾒ • 今後どれだけ実⽤化されるのだろうか • 2024 年以前のモデルは 2025 年以降のデータで FT したい気持ちもある • デモしたかったけど著者実装の動作確認が間に合わなかった… • EasyEdit という repo から動かすのが良いらしい https://github.com/zjunlp/EasyEdit/blob/main/tutorial-notebooks/EasyEdit_Example_AlphaEdit_llama.ipynb 20 使われていない空間