MemTensor/MemT-1.0

Official repository for MemT-1.0

解決する課題

大規模言語モデルは通常、現在のウィンドウ内にない以前のコンテキストを失ってしまいます。また、完全なコンテキストを保存する必要があるため、長い履歴を扱うことはコストがかかります。MemT-1.0は、メモリをモデルの組み込み部分にすることでこの問題を解決し、推論時に元のテキストを必要とせずに過去の情報を保持・利用できるようにします。その永続的な状態はサイズが一定であり、128Kの履歴を持つフルコンテキストKVキャッシュと比較して、ストレージを約66倍削減します。

仕組み

MemT-1.0は、バックボーンのアテンションの横にネイティブメモリブロック(Native Memory Block)を追加します。このブロックは2つの部分で構成されています。動的でマルチチャネルのメモリ行列を保持し、対話ステップごとに進化するローカルメモリブロック(Local Memory Block)と、学習可能なメモリクエリ、キー、値のプロジェクションに加え、消去、書き込み、忘却、出力ゲートを備えたハイパーメモリブロック(Hyper Memory Block)です。生成中、メモリのアテンションは現在のメモリ状態から読み取りを行い、読み取り結果を正規化およびゲート制御して、バックボーンのアテンション出力に追加します。各ターンまたはセグメントの終了時に、GDN-2メカニズムがトークンレベルのメモリ更新を実行します。このプロジェクトには、34Bトークンのデータと専用インフラストラクチャによってサポートされる2段階のトレーニングパイプラインが含まれており、手続き的な経験をネイティブメモリに保存する経験ガイド型エージェントコーディングフレームワークを実証しています。

対象読者

メモリ拡張型LLMに取り組む研究者や開発者、特に長期間のタスク、エージェントシステム、および完全な会話ログを保存せずにユーザー固有の知識を保持する必要があるアプリケーションに関心のある方に適しています。クイックスタートは、Linuxサーバー、NVIDIA CUDA、Python 3.11以降を使用するユーザーを対象としており、デプロイにはSGLang、会話にはPythonクライアントを使用します。

ハイライト

  • 2つのモデルサイズ:MemT-1.0-Nano(合計36B、アクティブ3B)およびMemT-1.0-Flash(合計288B、アクティブ17B)。それぞれ学習可能なメモリパラメータと動的なメモリ状態を備えています。
  • 128Kの履歴を持つフルコンテキストKVキャッシュと比較して、ストレージを約66倍削減。
  • 11のメモリベンチマークにおいて、評価されたパラメータメモリ手法の中で1位と2位を獲得。
  • タスクコンテキストに経験テキストを追加することなくタスクパフォーマンスを向上させる、経験ガイド型エージェントコーディングフレームワークを提供。
  • メモリ状態をスナップショットとして保存および再開することをサポートし、メモリを会話記録から切り離すことが可能。
  • リポジトリソフトウェアには非商用ライセンス(PolyForm Noncommercial 1.0.0)、論文には個別のCC-BY-NC-SAライセンスを提供。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト