AI・機械学習
上級
GRACE(知識編集)(グレース チシキヘンシュウ)
LLMの重みを変更せずにコーデックと呼ぶ外部メモリに新しい事実を蓄積する知識編集手法。編集後の検索はコサイン類似度で行い、ヒットした場合のみ外部記憶を参照する。
0 回閲覧
0 いいね
2026/6/7 更新
関連タグ
知識編集
LLM
外部メモリ
GRACE
オーバーレイ型
GRACE(知識編集)
概要
GRACE(General Retrieval Adaptors for Continued Learning)は、モデルの重みを一切変更しないオーバーレイ型の知識編集手法だ。Hartvigsen et al.(2023)が発表し、ROME/MEMITとは根本的に異なるアーキテクチャを採る。
オーバーレイ型の仕組み
通常の推論:
Input → Transformer → Output
GRACE適用後:
Input → Transformer + Codec検索
↓ ↓
(miss) (hit時)
↓ ↓
通常出力 外部記憶から回答取得
コーデック(Codec)
GRACEの核心はコーデックと呼ぶ外部キーバリューストア:
- Key: 入力の隠れ状態表現(特定の層の出力)
- Value: 対応する編集後の正解トークン
新しい事実を追加するたびにコーデックにエントリを追加するだけで、モデル重みへの影響はゼロ。
検索プロセス
def grace_forward(input_hidden, codec, epsilon=0.1):
# コサイン類似度でコーデック検索
similarities = cosine_similarity(input_hidden, codec.keys)
nearest = similarities.argmax()
if similarities[nearest] > epsilon: # 閾値を超えたらヒット
return codec.values[nearest] # 外部記憶から返す
else:
return model_output # 通常の推論
ROME/MEMITとの比較
| 特性 | ROME | MEMIT | GRACE |
|---|---|---|---|
| 重み変更 | あり | あり | なし |
| 副作用 | 低 | 低〜中 | ゼロ |
| スケール | 1件 | 10,000件 | 無制限 |
| 検索コスト | なし | なし | O(N) |
| 忘却 | なし | なし | なし |
継続学習との親和性
GRACEは従来の継続学習(Continual Learning)の破滅的忘却問題を回避する:
- 新事実追加 = コーデックにエントリ追加のみ
- 旧事実は上書きされない(コーデックのどのエントリに最も近いかで決定)
- Sequential ZSREベンチマークで継続的な事実追加に対応
限界
- コーデックが大規模(100,000件+)になると線形検索コストが問題
- 近似最近傍探索(FAISS等)で緩和可能だが精度トレードオフ
- 閾値εの設定がパフォーマンスに強く依存
- 汎化性:全く同じ表現でないと外部記憶がヒットしない場合あり