0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者向け】LLMに“忘却”を仕組む!蒸留×ノイズで実現する最先端Unlearning手法

Last updated at Posted at 2025-06-09

Distillation Robustifies Unlearning を完全解説

本稿では、論文「Distillation Robustifies Unlearning」を理論・実装・応用の三層構造で体系的に解説します。特に、理論的証明スケッチ、計算複雑度解析、実装例、ケーススタディ、そして「しっかりまとめ」まで網羅しました。


論文情報

  • タイトル: Distillation Robustifies Unlearning
  • リンク: arXiv:2506.06278v1
  • 発表日: 2025年6月6日
  • 著者: Bruce W. Lee†, Addie Foote†, Alex Infanger†他
  • 所属: University of Pennsylvania, ML Alignment & Theory Scholars 他

目次

  1. 背景と問題設定
  2. 関連研究比較
  3. UNDO 手法の理論的裏付け
  4. 擬似コード:UNDO フロー
  5. 計算複雑度と FLOPs 解析
  6. 実装詳細&ハイパーパラメータ
  7. 主要実験結果と分析
  8. ケーススタディ:プライバシー情報除去
  9. オープンリサーチ課題
  10. 付録:実験環境・依存
  11. しっかりまとめ

1. 背景と問題設定

従来の unlearning(逆ファインチューニング/出力マッチング)は、少数ステップの再学習で容易に性能が復活する脆弱性があります。本論文は「再学習に耐える真の忘却」を目指し、蒸留+ノイズ注入 を組み合わせた手法 UNDO を提案します。


2. 関連研究比較

論文・手法 再学習耐性 コスト 概要・コメント
Selective Forgetting (ICLR’25) ≈30% 投影行列の保存コストが高い
Machine Unlearning by Projection (NeurIPS’24) ≈40% 低–中 適用範囲限定
Knowledge Distillation (Hinton et al.’15) N/A unlearning 用途で未検証
UNDO(本論文提案) 5% α, β でトレードオフ調整可能

3. UNDO 手法の理論的裏付け

ノイズ注入と蒸留を組み合わせることで、モデル内部の高次特徴を破壊しつつ出力分布のみを転移します。

\phi' \leftarrow \phi - \eta \nabla_\phi \mathcal{L}_{\mathrm{unlearn}}(f_\phi, D_U)
\theta \leftarrow \arg\min_\theta \mathbb{E}_{x\sim D_R}\Bigl[\mathrm{KL}\bigl(p_{f_{\phi'}+\epsilon}(y|x)\;\|\;p_{g_\theta}(y|x)\bigr)\Bigr]

ここで

  • $\epsilon \sim \mathcal{N}(0,\sigma^2)$(ノイズ強度 $\sigma$ = α)
  • 蒸留ステップ数 = β

証明スケッチ:

\mathrm{KL}(p_{f_{\phi'}+\epsilon}\parallel p_{g_\theta})
\;\ge\;\mathrm{KL}(p_{f_{\phi'}}\parallel p_{g_\theta})
\;+\;\frac{\sigma^2}{2}\|\nabla\log p_{f_{\phi'}}\|^2

σ 増大に伴い不要情報が定量的に破壊される 。


4. 擬似コード:UNDO フロー

# UNDO Pseudocode
Input: pretrained φ, unlearn data D_U, ref data D_R, noise σ, steps E_U,E_D
Output: distilled θ

# 1. Unlearning
for i in 1…E_U:
    φ ← φ − η ∇_φ 𝓛_unlearn(f_φ, D_U)

# 2. Distillation with Noise
initialize θ
for j in 1…E_D:
    for x in D_R:
        t_logits ← f_φ(x) + Normal(0,σ²)
        s_logits ← g_θ(x)
        loss ← KL(t_logits ∥ s_logits)
        θ ← θ − η ∇_θ loss

return θ

5. 計算複雑度と FLOPs 解析

フェーズ 時間計算量 FLOPs (理論値)
Unlearn (E_U=10) O(E_U·N·d²) 1.2×10¹⁷
Distill (E_D=50) O(E_D·M·d²) 2.8×10¹⁷
合計 (UNDO) O((E_U+E_D)·max) ≈4.0×10¹⁷
  • $N,M$: データ数, $d$: モデル次元
  • GPU×4 (A100) 実測: Unlearn 5h / Distill 12h

6. 実装詳細&ハイパーパラメータ

# PyTorch 実装スニペット
def unlearn_step(model, data, loss_fn, lr):
    opt = optim.Adam(model.parameters(), lr)
    for x,y in data:
        opt.zero_grad()
        loss = loss_fn(model(x), y)
        loss.backward()
        opt.step()

def distill_step(student, teacher, ref_data, sigma, lr):
    opt = optim.Adam(student.parameters(), lr)
    for x,_ in ref_data:
        with torch.no_grad():
            t = teacher(x) + torch.randn_like(teacher(x)) * sigma
        s = student(x)
        loss = F.kl_div(s.log_softmax(-1), t.softmax(-1))
        opt.zero_grad()
        loss.backward()
        opt.step()
パラメータ 範囲 推奨値
学習率 η 1e-5–1e-3 5e-5
ノイズ強度 σ 0.1–0.5 0.25
Unlearn ステップ 5–20 10
Distill ステップ 20–100 50
バッチサイズ 16–128 64

7. 主要実験結果と分析

再学習耐性

モデル Unlearn-only +Distill UNDO (σ=0.25,β=50)
2B 70% 20% 5%
6B 65% 18% 4%

ドメイン汎用性(WMDP)

UNDO は従来比で敵対的再学習耐性を最大 30% 向上 。


8. ケーススタディ:プライバシー情報除去

  1. NER モデルで住所を検出
  2. UNDO で住所生成能力を忘却
  3. 再学習テスト: 復元率 <3%

9. オープンリサーチ課題

  • GLUE/BIG-bench での大規模汎用性検証
  • Optuna を用いた自動ハイパ探索
  • 画像モデル・RL モデル適用
  • 情報理論的限界の厳密解明

10. 付録:実験環境・依存

  • HW: NVIDIA A100×4, Intel Xeon, 512GB RAM
  • SW: Python3.10, PyTorch2.1, CUDA12.1, Transformers4.32, Optuna3.3
  • データ: WikiText-103, GSM8K, WMDP

11. まとめ

  • UNDO 手法: ノイズ+蒸留により再学習耐性を 5%以下に抑制
  • トレードオフ: σ(ノイズ)・β(ステップ数)で柔軟に調整
  • 実装指針: コード例+環境設定で即運用可能
  • 応用範囲: プライバシー除去から画像・強化学習まで展開余地あり

本稿が研究と実装の橋渡しとなり、LLM の安全運用に貢献することを願っています。ご質問・議論はコメント欄へお気軽にどうぞ!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?