ChatAIの記憶設計をどうしよう

方針

  • Fine-tuningもLoRaもつらい。

  • LLMの性能やサイズはそのうち何とかなる。

  • ベースモデルに非依存で長期的に運用したい。

  • 最終的にはローカルで動かしたい。

そもそも記憶って

まずは記憶の分類から

Q. 記憶の分類について分かりやすく端的に説明してください。

記憶は、その保持時間や内容によって分類することができます。保持時間による分類では、感覚記憶、短期記憶、長期記憶の3つに大きく分類されます。内容による分類では、陳述記憶と非陳述記憶に大別されます。陳述記憶はさらにエピソード記憶と意味記憶に分けられます。非陳述記憶は手続き記憶、プライミング、古典的条件付け、非連合学習などに分類されます。

Bing Chat(以下同様)

Q. 各キーワードを一言で説明してください。

- 感覚記憶: 最も保持期間が短い記憶。
- 短期記憶: 保持期間が数十秒程度の記憶。
- 長期記憶: 数分から一生にわたって保持される記憶。
- 陳述記憶: 言葉で表現できる記憶。
- 非陳述記憶: 言葉で表現できない記憶。
- エピソード記憶: 個人的体験や出来事についての記憶。
- 意味記憶: 知識に相当する記憶。
- 手続き記憶: 同じ経験を反復することにより形成される記憶。
- プライミング: 以前の経験により、後に経験する対象の同定を促進される現象。
- 古典的条件付け: 経験の繰り返しや訓練により本来は結びついていなかった刺激に対して、新しい反応が形成される現象。
- 非連合学習: 特定の刺激に対する反応が、その刺激の繰り返しによって変化する現象。

寝るということ

Q. 睡眠と記憶の関係について教えてください。

睡眠と記憶には密接な関係があります。 睡眠中には、覚醒中に学習した内容の定着や忘却(記憶再編成)が起こることが知られています。 睡眠中の脳の学習理論によれば、睡眠中の徐波の間に起こる神経活動と神経回路の変化(シナプス可塑性)、記憶の定着や忘却に関する複数の実験結果を「情報量最大化」によって統一的に説明する理論が構築されています。

また、睡眠中の重要な働きに記憶の固定があります。 記憶の固定とは、日中に記憶したこと(学習や経験)を忘れないように脳に定着させることです。 これら宣言的記憶はノンレム睡眠およびレム睡眠の両方の働きによって固定されます。

Q. レム睡眠とノンレム睡眠の違いを、記憶に注目して説明してください。

睡眠は、レム睡眠とノンレム睡眠という全く異なる2つの睡眠状態に分けられます。この2つの睡眠が一晩に交互に繰り返されます。

レム睡眠中は、脳の一部が起きている時と同じように活動しています。脳の中でも、記憶と学習に関わる扁桃体(へんとうたい)や海馬といわれる大脳辺縁系が活動しており、レム睡眠時には、情報の整理、統合が起こり、記憶の定着が起こっていると考えられています。

一方、ノンレム睡眠は、深いノンレム睡眠(一晩の睡眠の前半に多い)では、「いやな記憶」を消去する働きがあります。また、浅いノンレム睡眠(一晩の睡眠の後半:朝方に多い)は、手続き記憶を固定する働きがあります。手続き記憶とは、自転車の乗り方や、習字、スポーツの技術などを身につけることです。さらに、浅いノンレム睡眠には、昼間記憶したことと過去の記憶を結合する働きもあります。これは色々な記憶を相互に関連づけることです。

アイデアなど

ベクトルデータベースだけでいいの?

  • 十分高速なデータベース型

  • 人間も読める情報形式

  • 記憶最適な組み合わせ

リンクを貼る

ChatGPTに会話の長期記憶を持たせてみる

https://qiita.com/shyamagu/items/43e6370dd8937e1711c1

グラフデータベース

https://www.oracle.com/jp/autonomous-database/what-is-graph-database/

DocumentDB

PlantUML 概要

https://plantuml.com/ja/

GPTでプロンプト圧縮を試みたらすごかった

その他

  • Function callingやLangchain Agentが動けば、形式に応じて記憶を思い出せる。

  • 定期的な忘却と正規化で、記憶容量の制限ができるか。

  • 知識、経験、性格などのドメインで分離できれば、組み合わせが可能になる。

  • 画像生成系と違い、言語で分断されている。記憶形式が統一されれば、部分的にでも共有できるか。


この記事が気に入ったらサポートをしてみませんか?