コンテキストウィンドウとは?チャットボットが忘れるのはなぜ?
コンテキストウィンドウとは、言語モデルが一度に見られる、トークン単位で決まった量の文章です。あなたのメッセージ、モデルの返事、貼りつけたファイル、見えない指示が入ります。会話がそれより長くなると、いちばん古い部分が収まらなくなり、モデルは使えなくなります。アプリが入れ直さない限り、以前のチャットも覚えていません。
▶ やってみようなぜ大切なのか
モデルにはメッセージとメッセージのあいだの記憶がありません。毎回、会話全体を読み直しますが、読めるのはウィンドウに収まる分だけ。だから長いチャットでは、最初のほうの細かい点が抜け落ちるのです。
6分後にできるようになること
- ウィンドウには、あなたのメッセージ、モデルの返事、貼りつけたファイル、アプリの指示が入ります。
- チャットが長くなりすぎると、いちばん古い部分が抜け落ち、モデルは使えなくなります。
- 長いチャットでは、大事な情報を言い直すか、短い要約をつけて新しく始めましょう。
練習する内容
ウィンドウには何が入っている?
あなたがメッセージを送るたびに、モデルはウィンドウを最初から読み直します。この中で、ウィンドウの場所をとるものはどれ?
- このチャットでのあなたのメッセージ
- このチャットでのVireo自身の返事
- あなたが貼りつけた文書
- アプリからの見えない指示
- Vireoが学習に使ったすべての本
- 先月Vireoとしたチャット
ウィンドウを詰めよう
彩さんのチャットを再生して、ウィンドウが流れていくのを見ましょう。そのあと、Vireoが答えられるよう手伝います。トークン数は丸めた、作った例です。
Vireoに見えるもの: 600 · Vireoのウィンドウには600トークン入ります。チャットを再生を押して、会話がウィンドウより長くなると何が起きるか見ましょう。
- 彩: 妹の恵のサプライズパーティーを計画したいの!4月12日(土)で、恵はピーナッツアレルギーがあるよ。 (40 tok)
要約: パーティー:4月12日(土)。恵はピーナッツアレルギー。 (14 tok) - Vireo: 楽しそう!まずは招待する人と場所から決めましょう。 (30 tok)
要約: 招待客と場所について質問。 (8 tok) - 彩: 招待客リスト.txt:24人の名前、電話番号、だれが何を持ってくるか (520 tok)
要約: 招待客:24人。 (8 tok) - Vireo: 24人なら、公民館か広い庭のどちらでも大丈夫です。 (60 tok)
要約: 24人なら公民館か庭。 (9 tok) - 彩: ごめん、猫がキーボードの上を歩いた😹 (20 tok)
要約: 猫がキーボードに。 (5 tok) - Vireo: 公民館と庭をくわしくくらべました:料金、広さ、天気、駐車場… (300 tok)
要約: 彩さんは公民館に決定。 (8 tok) - 彩: ケーキは、恵の大好きなレモンのスポンジにラズベリー! (25 tok)
要約: ケーキの話をした。 (6 tok) - Vireo: プレイリストの案:90年代の曲を40曲、気分別に… (280 tok)
要約: プレイリスト:90年代の曲。 (6 tok) - 彩: じゃあ、ケーキ屋さんへの注文を書いて。日付、人数、味、アレルギーも。 (30 tok)
✗ Vireo: ケーキのご注文:レモンのスポンジにラズベリー、約10人分。受け取り日:不明。アレルギー:特になし。
日付、アレルギー、人数は、どれもウィンドウから流れ出た最初のほうのメッセージにありました。Vireoはうっかりしたのではありません。ただ、もう見えなかったのです。
✓ Vireo: ケーキのご注文:レモンのスポンジにラズベリー、24人分。4月12日(土)受け取り。主役がアレルギーのため、ピーナッツは一切使わないでください。
全部収まり、ケーキ屋さんに必要な情報もすべて残りました。長いチャットでアプリが裏でしていることも、これと同じです。けずって、要約して、大事なものを残すのです。
- 彩: 妹の恵のサプライズパーティーを計画したいの!4月12日(土)で、恵はピーナッツアレルギーがあるよ。 (40 tok)
ウィンドウ?それとも学習?
Vireoはこれをどこから得ている?コンテキストウィンドウ、学習、それともどちらでもない?
- 10メッセージ前にあなたが伝えた、あなたの名前 → ウィンドウ
- 海面の高さでは、水は100 °Cで沸騰すること → 学習
- 1分前にアップロードしたPDF → ウィンドウ
- 先週、別のチャットで聞いたこと → どちらでもない
- ていねいなメールの書き方 → 学習
- ウェブ検索なしの、今朝のニュース → どちらでもない
覚えておこう
モデルに見えるのは、コンテキストウィンドウに収まるものだけです。長いチャットでは最初のほうの情報が押し出されるので、大事なことはくり返すか要約しましょう。
コンテキストウィンドウは、モデルの短期記憶のすべてです。収まらないものは見えません。
押さえておきたい事実
- 最初期のとても大きな言語モデルの1つGPT-3は、2,048トークンのコンテキストウィンドウを一度に読めました。 · 出典: Brown et al., Language Models are Few-Shot Learners, OpenAI, 2020
- MetaのLlama 3.1モデルは128,000トークンのコンテキストウィンドウに対応しており、本1冊分が入る長さです。 · 出典: Meta, The Llama 3 Herd of Models, 2024
- トランスフォーマーでは、どのトークンもほかのすべてのトークンに注意を向けるので、アテンションの計算量は文章の長さの2乗で増えます。ウィンドウに限りがある理由の1つです。 · 出典: Vaswani et al., Attention Is All You Need, Google, 2017
- 研究者は、モデルが長いコンテキストの最初と最後にある情報を、真ん中に埋もれた情報よりうまく使うことを発見しました。 · 出典: Liu et al., Lost in the Middle: How Language Models Use Long Contexts, 2023
更新日:
よくある質問
AIのコンテキストウィンドウとは?
言語モデルが一度に受け取れる文章の最大量で、トークンで数えます。あなたのメッセージ、モデルの返事、アップロードしたファイル、アプリの見えない指示が含まれます。
チャットボットが前に言ったことを忘れるのはなぜ?
会話がコンテキストウィンドウより長くなると、いちばん古いメッセージが収まらなくなり、モデルには見えなくなるからです。大事な情報をくり返すか、要約をつけて新しいチャットを始めると効果的です。
AIチャットボットは以前の会話を覚えている?
モデル自身は覚えていません。チャットは毎回、空のウィンドウから始まります。メモを保存して、あとのチャットでウィンドウに入れ直すメモリー機能を持つアプリもあります。
コンテキストウィンドウは大きいほどいいの?
長い文書やチャットを読めるようになりますが、計算力が多く必要になります。また、とても長い文章の真ん中に埋もれた情報は、それでも見落とすことがあります。
関連用語
