AI・機械学習
上級
MEMIT(大規模知識編集)(メミット ダイキボチシキヘンシュウ)
ROMEを拡張し、LLMに数千〜数万件の事実を一括で書き込める大規模知識編集フレームワーク。複数のFF層に分散してRank-1更新を適用することでスケールを実現する。
0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
知識編集
LLM
大規模編集
MEMIT
FF層
MEMIT(大規模知識編集)
概要
MEMIT(Mass-Editing Memory In a Transformer)は、LLMに数千〜数万件の新しい事実を一括で書き込める大規模知識編集フレームワークだ。Meng et al.(2023)がROMEを拡張して発表し、知識編集研究の実用化を大幅に前進させた。
ROMEとの違い
| 特性 | ROME | MEMIT |
|---|---|---|
| 同時編集件数 | 1件 | 最大10,000件+ |
| 更新する層 | 単一FF層 | 複数FF層(分散) |
| 処理時間(1000件) | 不可(逐次のみ) | 数十秒 |
| 汎化性 | 中 | 高 |
多層分散更新の仕組み
MEMITの核心は「更新を複数のFF層に分散する」戦略だ:
- 対象層の選択: モデルの中間〜後期FF層(例:GPT-Jなら第3〜8層)を選択
- 更新量の分配: 各層への更新量を均等または重要度加重で分配
- 一括Rank-1更新: 各層で
ΔW_i = C_i R_i^T (R_i R_i^T)^{-1}を適用
編集対象事実セット E = {(s1,r,o1), (s2,r,o2), ..., (sN,r,oN)}
↓
各事実のKey(K)とValue(V*)を計算
↓
複数FF層に更新を分散
W_L1 += ΔW_L1, W_L2 += ΔW_L2, ...
↓
副作用最小化
実装例
from memit import MEMITHyperParams, apply_memit_to_model
# 1000件の事実を一括編集
requests = [
{"prompt": f"The capital of {country} is",
"subject": country,
"target_new": {"str": new_capital},
"target_true": {"str": old_capital}}
for country, new_capital, old_capital in updates
]
model_edited, _ = apply_memit_to_model(
model, tok, requests, hparams
)
評価ベンチマーク(COUNTERFACT)
- Efficacy Score(ES): 編集後に正しい答えを出す割合 → 98.6%
- Paraphrase Score(PS): 言い換え表現でも正解する割合 → 92.4%
- Neighborhood Score(NS): 無関係の事実に影響しない割合 → 97.8%
ユースケース
- モデル知識の更新: 古い情報(2023年以前の事実)を新情報に一括置換
- ドメイン特化: 医療・法律・特定企業情報を大量注入
- 誤情報修正: 偽情報や有害な思い込みの大規模訂正
限界
- 大規模編集ほど副作用(無関係な事実への波及)が増加する
- 類似した事実を多数編集するとコンフリクトが発生
- モデルの一般能力(推論・数学)への影響は未解明