概要
- 大規模言語モデル は膨大な知識を記憶・想起できる特徴
- 記憶容量 は記憶数が増えるほど干渉が増し、想起性能が悪化
- 線形層・MLP・Self-Attention の記憶容量と干渉の違いを直感的に解説
- 干渉対信号比 で記憶ストアの性能を評価
- 最適化手法 で記憶容量を増やし、干渉を抑制する方法を紹介
記憶ストアの基礎と大規模言語モデルの記憶
- 大規模言語モデル は世界中の知識やルールを高精度に想起可能
- 記憶ストア とは、入力(キー)に対して値(バリュー)を返す関数
- 連想記憶 (associative memory)として、類似したキーで想起できる仕組み
- 記憶数が増加 すると、記憶同士の干渉が強まり、想起精度が低下
線形記憶ストア(Outer Product Memory)
- 最も基本的な記憶ストア は線形(外積)型
- $W = \sum_{i=1}^{M} v_i k_i\transpose = V\transpose K$
- 新しい記憶 (キー$k$, バリュー$v$)は $vk\transpose$ を加算
- 想起時 は $f(x) = V\transpose K x = \sum_{i=1}^{M} v_i,(k_i\transpose x)$
- 類似度に基づく重み付き和 でバリューを返す仕組み
干渉と記憶容量
- キーが全て直交 なら干渉ゼロで完全想起可能
- キー次元$d_k$ を超えて記憶を増やすと干渉が顕著化
- 干渉対信号比 は $\sqrt{\frac{M}{d_k}}$ で表され、$M \approx d_k$で干渉が信号と同等に
- 容量向上策 はキー次元拡大またはアルゴリズム的工夫
最適線形記憶ストア
- 外積型 は他の記憶を考慮せず加算するため、干渉が残る
- 最適化 では全記憶を同時にフィットさせ、干渉を最小化
- $W = V\transpose K,(K\transpose K)\inverse$
- キーが線形独立かつ$M \leq d_k$ なら干渉ゼロ
- $M > d_k$ で干渉増加、干渉対信号比は $\sqrt{\frac{M}{d_k} - 1}$
- 容量は$2d_k$まで増加 (外積型の約2倍)
干渉低減のアルゴリズム的アプローチ
- キーのホワイトニング で冗長方向を除去
- 非線形性導入 (MLPやSelf-Attention)で類似度の低い記憶の寄与を抑制
- MLP・Self-Attention はさらに大容量かつ高精度な記憶ストアを実現
まとめ
- 記憶ストア の種類により、記憶容量と干渉の特性が大きく異なる
- 線形層→最適線形→MLP→Self-Attention の順で容量・想起精度が向上
- 大規模言語モデル の強力な知識想起は、これら記憶ストアの進化によるもの
記憶ストアの数式・用語整理
- 記憶ストア$f$ :$M$個の記憶(キー$k_i \in \reals^{d_k}$、バリュー$v_i \in \reals^{d_v}$)を保持
- クエリ$x$ で、$f(x)$が値を想起
- 外積型ストア :$W = \sum_{i=1}^{M} v_i k_i\transpose$
- 最適線形ストア :$W = V\transpose K,(K\transpose K)\inverse$
- 干渉対信号比 :$\frac{\norm{\text{interference}}}{\norm{\text{signal}}}$
- 容量 :干渉が信号と同程度になる記憶数
今後の展開
- MLP・Self-Attention の記憶容量・干渉抑制の仕組み
- 実用上のハードウェア制約 や アルゴリズム的最適化 の重要性
- 大規模モデル設計 における記憶ストアの選択指針