PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

LLMに「オンライン記憶」を足す新発想、$δ$-mem が面白い

記事のキーポイント

そもそも、LLMの「記憶」がなぜ難しいのか

大規模言語モデル(LLM)は、質問に答えたり文章を書いたりするのは得意です。でも、​長い時間をまたいで情報を覚え続けるのは別問題です。

たとえば、長期的なアシスタントや agent では、こんな情報を覚えていてほしくなります。

これを素朴にやる方法が、​context window を広げることです。
context window は、モデルが一度に読める文章の長さのこと。長ければ長いほど過去を詰め込めます。

でも、元記事が指摘している通り、これは万能ではありません。

ここ、かなり重要です。
「大量に入れれば賢くなるはず」という発想は直感的ですが、実際のモデルはそんなに素直ではない。人間でも、メモを100ページ渡されても必要な箇所を探せないのと同じです。

$δ$-mem とは何をする仕組みか

この論文の提案は、ひと言でいうと、

LLMの本体はそのまま固定しつつ、外付けの小さな memory で過去情報を圧縮・活用する

というものです。

ポイントは3つあります。

1. 本体モデルは frozen のまま

frozen は「凍結された」、つまり学習済みモデルの重みを基本的に変えないという意味です。
巨大なLLMを全部再学習しなくていいので、かなり扱いやすい。

image_0002.svg

これは実務的にはすごくありがたいと思います。
モデル本体の再学習は重いし、壊したくない能力も多い。そこに「後付けの記憶モジュール」を足せるなら、導入のハードルがかなり下がります。

2. 過去情報を fixed-size state matrix に圧縮する

$δ$-mem は、過去の情報を固定サイズの state matrix に押し込みます。
つまり、「覚える情報が増えたからメモリも無限に増やす」のではなく、​決まった大きさの箱に要約して入れるわけです。

この固定サイズ設計が面白いところです。
無限に保存できるわけではないけれど、実用上は「何でも全部持つ」より「重要な情報を効率よく残す」ほうが強い場面が多いはずです。

3. delta-rule learning で更新する

論文では、この memory を delta-rule learning で更新すると説明されています。
delta-rule は、ざっくり言うと​「予測と実際のズレを見て少しずつ修正する学習のやり方」​です。

神経科学や連想記憶の文脈でも出てくる考え方で、要するに「間違いを見ながら記憶を書き換える」イメージです。

この設計は、かなり“メモリらしい”です。
LLMに全部を覚えさせるのではなく、​使いながらオンラインで記憶を整える。この方向性は自然だし、私はかなり筋がいいと思います。

どうやって attention に効かせるのか

$δ$-mem のもう一つの肝は、memory を単に保存するだけで終わらない点です。

論文の説明では、memory の readout を使って、生成時の backbone の attention computationlow-rank corrections を加えます。

少し分解すると、

つまり、$δ$-mem は「記憶を別箱に入れて終わり」ではなく、​その記憶を attention の振る舞いに直接反映させます。

ここが賢い。
単なる外部メモリ検索だと、モデル本体がその情報をどう使うかが弱くなりがちですが、attention に近いところへ差し込むと、​生成の流れそのものに効きやすいわけです。

image_0003.svg

結果はどうだったのか

元記事の要約では、​8×8 の online memory state というかなり小さな状態で、次の結果が出ています。

さらに、記憶が重要なベンチマークではもっと差が広がっています。

しかも、​general capabilities はおおむね保たれているとのことです。
これ、地味に大事です。記憶性能だけ上がって、会話全般の能力が落ちるのはありがちなので、「能力の土台を壊さずに上積みした」というのはかなり良いニュースです。

この研究の何が新しいのか

個人的には、$δ$-mem の新しさは「記憶を足した」こと自体より、​記憶の置き場所と更新のしかたにあると思います。

よくある発想は、

あたりです。

でも $δ$-mem は、そのどれとも少し違っていて、

という組み合わせで勝負しています。

image_0004.svg

この「足し算のしかた」がかなり綺麗です。
重い改造ではなく、既存のモデルに小さく、しかし効く形で memory を差し込む。こういう設計は、研究としても応用としても魅力があります。

実用面で期待できそうなところ

この仕組みが本当に広く使えるようになるなら、向いていそうなのはこんな場面です。

特に agent 系では、「いま目の前の文脈」だけでなく、「さっき何をして、何に失敗したか」が効くので、こうした memory 機構はかなり重要です。

一方で、もちろん気になる点もあります。
記事の要約だけを見る限り、​どの程度一般化するのか、​どんな失敗パターンがあるのか、​本当に tiny な state でどこまで持つのか などは、本文を読んで確かめたいところです。
ただ、少なくとも方向性としてはかなり筋が良いと感じます。

まとめ

$δ$-mem は、LLMに「もっと長い文脈」を無理やり食べさせるのではなく、​小さな online memory を持たせて、必要な情報を賢く残し、attention に反映するというアプローチです。

この発想の良さは、

ところにあります。

個人的には、LLM研究の中でも「これは実際に使いたくなる」タイプの工夫だと思いました。
巨大化一辺倒ではなく、​記憶をどう設計するかに焦点を当てるのは、今後ますます重要になっていくのではないでしょうか。


参考: δ-mem: Efficient Online Memory for Large Language Models

同じ著者の記事