新たなアプローチでAIチャットボットが苦手な“記憶”が改善され、パフォーマンスが大きく向上する

masapoco
投稿日 2024年2月26日 5:10
MIT Streaming LLMs 01 PRESS 0

OpenAIのChatGPTのような大規模言語モデル(LLM)と長く会話していると、重要な情報を忘れ始める。そして、そのパフォーマンスは急速に悪化し始める。

また、ChatGPTや他のLLMは会話と会話の間の情報を保持することができない。例えば、ある会話を終えて1週間後にChatGPTを再起動しても、チャットボットは前のやりとりの内容を何も覚えていない。

意外なことかも知れないが、AIチャットボットは物事を記憶するのが苦手なのだ。だが、この状況も今後は変わるかも知れない。

マサチューセッツ工科大学(MIT)の研究者らは、AIが会話の途中で物事を忘れてしまう原因を突き止め、それを解決する方法を考え出した。

会話中のパフォーマンス向上

研究者らは、チャットボットの短期記憶であるkey-valueキャッシュがトークンを保存したり置き換えたりする方法を変えることで、チャットボットの短期記憶を改善できることを発見した。彼らはこの新しいアプローチを「StreamingLLM」と名付け、「Efficient Streaming Language Models with Attention Sinks」と題された論文でこれを発表した。

チャットボットのメモリには限りがあるため、会話が続くと古いトークンを削除し、新しいトークンに置き換える。これはモデルの失敗の原因となる。

しかし、StreamingLLMをLLMに適用することで、例えば最初の4つのトークンを保持したまま、5つ目以降のトークンを退避させるということができるようになる。つまり、LLMは限られたメモリーの性質上、物事を忘れてしまうが、一番最初のやりとりは覚えていられると言うことだ。

トークンの順番(1番目、2番目、3番目……とラベルが貼られているかどうか)は、アクティブな会話の「アテンション・マップ」に反映されるため、これも重要である。これは各トークンが他のトークンとどの程度強く関連しているかをマッピングする。

例えば、5番目のトークンが追い出された場合、6番目のトークンが新しい5番目のトークンになることが期待できる。しかしStreamingLLMが機能するためには、トークンは元のようにエンコードされたままでなければならない。この例では、6番目のトークンは5番目になったからといって、新しい「5番目」のトークンとしてエンコードされるのではなく、6番目のトークンとしてエンコードされたままでなければならない。

この方法は、会話が400万語以上続いても、モデルを効率的に保つことを可能にする。また、以前の会話の一部を常に再計算することでパフォーマンスのクラッシュを回避する別の短期記憶法よりも22倍以上高速に動作した。

「この方法を使えば、大規模言語モデルを持続的に展開することができます。常にチャットでき、最近の会話に基づいて常に応答できるチャットボットを作ることで、このチャットボットをいくつかの新しいアプリケーションに利用することができます」と、この研究の主執筆者であるマサチューセッツ工科大学(MIT)の電気工学・コンピューターサイエンス専攻の大学院生、Guangxuan Xiao氏は声明の中で述べた。

StreamingLLMはすでに、NVIDIAのオープンソースLLMモデル最適化ライブラリ「TensorRT-LLM」に組み込まれている。研究者たちはまた、StreamingLLMを改良し、退去させられたトークンが再び必要になった場合に、トークンを見つけて再び取り込むように設計することも計画している。

ChatGPTは忘れない

一方、OpenAIの開発者たちは、ChatGPTに会話の一部を記憶するように指示したり、記憶した内容を尋ねたり、後で何かを忘れるように指示したり、あるいは記憶を完全に消去したりすることができる長期記憶のテストを開始し、ユーザーが会話を続け、AIチャットボットと効果的に協力関係を築けるようにしている。

LLMと会話する際、ユーザーはChatGPTに特定の何かを記憶するよう求めたり、後で記憶するのに適切と思われる会話の要素を記憶するよう自律性を与えることができる。これらの記憶は特定の会話とリンクしていないため、チャットを削除しても記憶は消えることはない。手動で削除しない限り、新しいチャットを始めると、ChatGPTに以前保存したメモリがプリロードされる。

OpenAIは、これがどのように役立つかの例をいくつか示した。ある例では、25人の生徒を持つ幼稚園の先生が、フォローアップ活動のある50分のレッスンを好むことをチャットボットが記憶しており、レッスンプランの作成を支援する際にこの情報を思い出す。別の例では、誰かがChatGPTに自分の幼児がクラゲが好きだと伝えると、AIツールはそれを覚えていて、彼らのために誕生日カードをデザインする。

OpenAIは全ユーザーへの広範な展開に先立ち、ChatGPTユーザーのごく一部に新しいメモリ機能をテストしている。

OpenAIはメモリ機能から得た情報を使ってモデルを改善する予定のようだ。しかし、バイアスを評価し緩和するためのステップを踏んでおり、ユーザーが明示的に要求しない限り、ChatGPTが健康情報のような機密情報を記憶することを防いでいると付け加えた。メモリにアクセスできるユーザーは、メモリを完全に停止した「一時的なチャット」を使うこともできる。


論文

参考文献

研究の要旨

大規模言語モデル(Large Language Models: LLM)を、長時間の対話が予想されるマルチラウンド対話のようなストリーミング・アプリケーションに導入することは急務であるが、2つの大きな課題がある。第一に、デコードの段階で、前のトークンのキーと値の状態(KV)をキャッシュすることは、膨大なメモリを消費する。第二に、一般的なLLMは、訓練シーケンス長より長いテキストには汎化できない。最新のKVのみがキャッシュされるウィンドウアテンションは自然なアプローチであるが、テキスト長がキャッシュサイズを超えると失敗することを示す。我々は、初期トークンのKVを保持することで、ウィンドウアテンションの性能がほぼ回復するという、アテンションシンクという興味深い現象を観察した。本論文ではまず、アテンションシンクの出現が、意味的に重要でなくても“シンク”として初期トークンに対する強いアテンションスコアによるものであることを示す。上記の分析に基づき、有限長の注意窓で訓練されたLLMを、微調整なしで無限のシーケンス長に汎化することを可能にする効率的なフレームワークであるStreamingLLMを紹介する。我々は、StreamingLLMにより、Llama-2、MPT、Falcon、Pythiaが、最大400万トークン以上の安定かつ効率的な言語モデリングを実行できることを示す。さらに、事前学習時に専用のアテンションシンクとしてプレースホルダートークンを追加することで、ストリーミング展開をさらに改善できることを発見した。ストリーミング設定において、StreamingLLMはスライディングウィンドウ再計算ベースラインを最大22.2倍のスピードアップで上回る。コードとデータセットはこちらのURLで提供される。



この記事が面白かったら是非シェアをお願いします!


  • Windowsキーの画像
    次の記事

    Windows 11の新機能で一部のOSアップデート時に再起動が不要になる可能性

    2024年2月26日 6:43
  • 前の記事

    オデュッセウス月着陸船、転倒するもデータは送信中

    2024年2月25日 13:00
    240223 crater scaled 1

スポンサーリンク


この記事を書いた人
masapoco

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

おすすめ記事

  • openai

    OpenAI、15秒の音声サンプルから感情豊かで自然な音声を合成できる「Voice Engine」を発表

  • a04c35e8e555c1cc7ae1d6a5f3159856

    MicrosoftとOpenAI、1000億ドル以上をかけて超人的AI開発のためのスーパーコンピューター「Stargate」を開発する計画

  • Sam Altman TechCrunch SF 2019 Day 2 Oct 3 cropped cropped

    ベンチャーキャピタリスト、OpenAIのSam Altman氏を“誇大妄想的”と非難

  • google logo image

    Googleが非営利団体を対象に2000万ドルの資金を提供し生成AI活用を支援

  • Pixel 8 in Rose.max 936x936.format webp

    Google、方針を転換しPixel 8にもGemini NanoによるオンデバイスAI機能を搭載へ

今読まれている記事