コンテキスト・ウィンドウとは?

ロサンゼルスのカーバーアパートメント

共同執筆者

Dave Bergmann

Senior Staff Writer, AI Models

IBM Think

コンテキスト・ウィンドウとは

大規模言語モデル(LLM)のコンテキスト・ウィンドウ(または「コンテキスト長」)は、モデルが一度に考慮または「記憶」できるトークン単位のテキスト量です。コンテキスト・ウィンドウを大きくすると、 AI モデルはより長いインプットを処理し、各アウトプットに大量の情報を組み込むことができます。

LLMのコンテキスト・ウィンドウは、そのワーキング・メモリと同等と考えることができます。これは、以前のやり取りの詳細を忘れずに実行できる会話の長さを決定します。また、一度に処理できるドキュメントまたはコード・サンプルの最大サイズも決定します。プロンプト、会話、ドキュメント、またはコード・ベースが人工知能モデルのコンテキスト・ウィンドウを超える場合、モデルを続行するには、短縮するか要約する必要があります。

一般的に言えば、LLM のコンテキスト・ウィンドウ・サイズを大きくすると、精度が向上し、ハルシネーションが減り、モデル応答の整合性が高まり、長い会話に対応可能となり、長いデータ・シーケンスを分析する能力が向上します。ただし、コンテキスト長を増やすことにはトレードオフがないわけではありません。多くの場合、計算能力の要件が増加し、その結果コストが増加し、敵対的な攻撃に対する脆弱性が増加する可能性があります。

ニュースレターを表示しているスマホの画面

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

コンテキスト・ウィンドウとトークン化

 moral実際には、言語モデルのコンテキスト長は単語ではなくトークンで測定されます。コンテキスト・ウィンドウが実際にどのように機能するかを理解するには、これらのトークンがどのように機能するのか理解することが重要です。

LLMが言語を処理する方法は、人間が行う方法とは根本的に異なります。私たちが言語を表すために使用する情報の最小単位は、文字、数字、句読点などの1文字です。一方、AIモデルが使用する言語の最小単位は1トークンです。モデルをトレーニングするために、各トークンにはID番号が割り当てられます。モデルのトレーニングには、単語やトークン自体ではなく、これらのID番号が使用されます。この言語のトークン化により、テキストの処理と学習に必要な計算能力が大幅に削減されます。

トークンが表現できるテキストの量には大きなばらつきがあります。トークンは、一文字、単語の一部(拡張子や前順位など)、単語全体、または短いマルチ単語フレーズの代わりになることがあります。次の例で、「a」という文字が果たすさまざまな役割を考えてみましょう。

"Jeff drove a car."(ジェフは一台の車を運転した。)

この場合、「aは完全な単語です。この場合は、個別のトークンで表現されます。

Jeff is amoral.”(ジェフは不道徳だ。)

この場合、「a」は単語ではなく、 moralという単語の意味を大きく変える要素です。そのため、 Amoral は次の2つのトークンに分解されます。1つは aもう一つは moral.

"Jeff loves his cat."(ジェフは自分の猫を愛している。)

この場合、 aは「CaT」という単語の一文字でしかなく、それ自体は意味論的な内容を持たないので、個別のトークンで表現する必要はないといえるでしょう。


単語とトークンの間には一対一の固定された「交換レート」は存在せず、モデルやトークナイザー(トークン化を担当するより大きなモデルのモジュールサブセット)が異なれば、同じ文でもトークン化の処理が異なる場合があります。トークン化の効率が高ければ、コンテキスト・ウィンドウの範囲内により多くのテキストを収めることができます。ただし一般的な用途であれば、1単語あたり約1.5トークン程度と考えるのが妥当でしょう。Hugging FaceのTokenizer Playgroundでは、さまざまなモデルがテキストインプットをどのようにトークン化するかを簡単に確認・実験することができます。

トレーニングデータの言語構造と表現の変化により、ある言語が他の言語よりも効率的にトークン化される可能性があります。たとえば、2024年10月の調査では、同じ文が英語とテルグ語の両方でトークン化されている例について述べています。テルグ語の翻訳は英語の場合よりも大幅に文字数が少ないにもかかわらず、コンテキスト内のトークンの数は7倍以上になりました。

オフィスでミーティングをするビジネスチーム

IBMお客様事例

お客様のビジネス課題(顧客満足度の向上、営業力強化、コスト削減、業務改善、セキュリティー強化、システム運用管理の改善、グローバル展開、社会貢献など)を解決した多岐にわたる事例のご紹介です。

モデルにコンテキストの最大長がある理由

コンテキスト・ウィンドウは通常、要約テキスト生成、その他の自然言語処理(NLP)タスクに使用されるLLMに関連付けられますが、技術的な考慮事項としてのコンテキスト長は言語モデルに限定されません。コンテキスト・ウィンドウの概念は、ほぼすべてのLLMを含む、最新の生成AIモデルの大半を構成するトランスフォーマー・アーキテクチャを使用するあらゆる機械学習モデルに関連しています。

トランスフォーマーモデルは、セルフアテンション・メカニズムを使用して、インプットのさまざまな部分(段落の最初と最後の単語など)間の関係と依存関係を計算します。数学的に言えば、セルフアテンション・メカニズムは、一連のテキスト内の各トークンのウェイトのベクトルを計算します。各ウェイトは、そのトークンがシーケンス内の他のトークンとどの程度関連しているかを表します。自己回帰型LLMは、出力する次のワードを生成するたびに、これらのウェイトを繰り返し調べます。コンテキスト・ウィンドウのサイズによって、モデルが一度に「注意を向ける」ことができるトークンの最大数が決まります。

多くの場合、実際のユーザーインプットのテキストだけが、モデルのコンテキスト・ウィンドウ内のスペースを占めているわけではないことに注意してください。チャットボットなどの多くの場合、モデルには「システムプロンプト」も提供されます。これは多くの場合、ユーザーには表示されませんが、モデルの動作を条件付け、会話における他の側面を制御します。検索拡張生成(RAG)用に外部データ・ソースから抽出された補足情報も、推論中にコンテキスト・ウィンドウ内に同様に保存されます。特殊文字、改行、その他の書式設定も、利用可能なコンテキストの一部を利用します。

言語モデルは、トランスフォーマーを利用する唯一のニューラル・ネットワークではないことにも注目すべきです。たとえば、画像生成に使用される一部の拡散モデルには、アーキテクチャにセルフ・アテンションが組み込まれています。この場合、注目される文脈は、文章中の単語(または単語の一部)を表すトークン間の文脈ではなく、画像中のピクセル 間の文脈ですこのようなモデルでは、コンテキスト長は、モデルがその関係を理解しなければならないピクセルの数に適用されます。一度に処理できないほど多くのピクセルを含む高解像度の画像では、そのコンテキスト・ウィンドウを超える可能性があります。
 

コンテキスト・ウィンドウと演算リソース

モデルに大規模なコンテキスト・ウィンドウを実装するにはコストがかかります。演算要件はシーケンスの長さに応じて二次関数的に拡張します。たとえば、入力のトークン数が2倍になった場合、モデルはそれを処理するために4倍の処理能力を必要とします。

同様に、コンテキスト長を長くすることもアウトプットを遅くします。モデルがシーケンスの次のトークンを自己回帰的に予測するたびに、そのトークンとシーケンス内の先行するすべてのトークンとの関係を計算します。推論は、一連の流れや会話の初期段階では比較的速いかもしれませんが、コンテキスト長が長くなるにつれて徐々に遅くなります。これは、リアルタイムでのほぼ瞬時の推論を必要とするユースケースでは問題になります。

言語モデルの平均コンテキスト長の最近の進歩は、これらの内在するトレードオフを十分に相殺する目的に対して十分に推論速度と効率を向上させる新しい手法によって、部分的に可能になりました。これらの最適化技術により、小規模なオープンソースにおける最新のLLMでも、2022年後半にOpenAIのChatGPTを起動した元の GPT-3.5モデルよりも指数関数的に大きなコンテキスト・ウィンドウを提供できるようになりました。

 

長いコンテキスト・ウィンドウの課題

演算要件と処理速度のトレードオフを相殺するために十分な対策が取られている場合であってもなお、モデルのコンテキスト長制限の拡張はさらなる課題と複雑さを伴います。
 

性能面での課題

人と同じように、LLMも余剰情報の多さに処理が追いつかないことがあります。また、怠惰になり、認知の近道をすることもあります。2023年に発表された論文では、LLMが「長いインプット・コンテキスト内の情報を堅牢に活用」していないことがわかりました。具体的には、関連する情報がインプット・コンテキストの先頭または末尾にあるとき、モデルの性能が最も高くなることが観察されました。さらに、モデルが長いコンテキストの途中にある情報を慎重に考慮しなければならない場合、性能が低下することも観察されました。1

回転位置埋め込み(RoPE)などのトランスフォーマーのセルフアテンション・メカニズム自体の有効性を向上させる新しい方法は、アテンション・ベクトル内のトークンの位置エンコーディングを変更することを目的としています。RoPEベースの手法が広く採用されたことで、互いに遠い距離にあるトークンを含むタスクの性能とスピードが向上しました。

現在進行中の調査では、NIAH(needle-in-a-haystack)RULERLongBenchなど、膨大な文章から関連情報を効果的に検索・使用するLLMの性能を測定するために設計されたベンチマークが数多く開発されています。


安全性とサイバーセキュリティーの課題

コンテキスト・ウィンドウが長くなると、敵対的なプロンプトに対してより長い攻撃対象領域が提示されるという意図しない効果も発生する可能性があります。Anthropic社の最近の調査では、モデルのコンテキスト長を増やすと、「ジェイルブレイク」や、(その後に)有害な応答を生成するように誘発される脆弱性も増大することが実証されています。2

 

代表的なLLMでのコンテキスト・ウィンドウのサイズ

大規模言語モデルの平均コンテキスト・ウィンドウは、元の生成的事前学習済みトランスフォーマー(GPT)がリリースされて以来、指数関数的に拡大しています。これまでは、LLMが世代を重ねるごとに、コンテキストの長さが大幅に長くなるのが一般的でした。現在では、著名な商用モデルが提供している最大のコンテキスト・ウィンドウは、100万トークンを超えています。コンテキスト・ウィンドウが今後も拡大するのか、それともすでに実用的な必要性の上限に近づいているのかはまだ未知の領域です。

参考までに、2024年10月の時点で参照されることが多いモデルとモデルファミリーが提供している現在のコンテキスト長を以下に示します。

OpenAI社のGPTシリーズ:

  • ChatGPTのローンチを支えたGPT-3.5モデルの最大コンテキスト長は4,096トークン、その後GPT-3.5-Turboでは8,192トークンに増加。
  • ローンチ時、GPT-4のコンテキスト長は同じ8,192トークン。 GPT-4とGPT-4-Turboの両方のコンテキスト・ウィンドウはその後128,000トークンに増加したが、最大出力トークンは4,096トークンから変わらず。
  • GPT-4oとGPT-4o miniのどちらも、128,000トークンのコンテキスト・ウィンドウがあり、出力上限は16,384トークン。

新しいo1モデル・ファミリーも同様に、128,000トークンのコンテキスト・ウィンドウを提供しますが、出力コンテキスト長はより長くなっています。

Meta Llamaモデル

オリジナルのLlamaモデルの最大コンテキスト長は2,048トークンでしたが、 Llama 2ではその2倍の4,096トークンでした。 2024年4月のリリースで、Llama 3モデルは約8,000トークンのコンテキスト・ウィンドウを提供しました。

Llamaのコンテキスト長は、128,000トークンの長さのコンテキスト・ウィンドウを提供するLlama 3.1 モデルのリリースにより大幅に増加しました。Llama 3.2モデルも同様に、最大コンテキスト長が128,000トークンです。

Mistral Large 2

Mistral AIの主力モデルであるMistral Large 2のコンテキスト・ウィンドウは、128,000トークンです。

Google Geminiモデル

Google社のGeminiシリーズのモデルは、現在、商用言語モデルの中で最大のコンテキスト・ウィンドウを提供します。Google社の主力モデルであるGemini 1.5 Proは、最大200万トークンのコンテキスト長を提供しています。Gemini 1.5 Flashなどの他のGemini 1.5モデルには、100万トークンのコンテキスト・ウィンドウがあります。

Anthropic社のClaudeモデル

Claude 3.5 Sonnetなど、Anthropic社の最新のClaudeモデルは、約200,000トークンの標準コンテキスト ウィンドウを提供します。2024年9月初旬、Anthropic社は、新しい「Claude Enterprise」プランでアクセスするモデルでは、拡張された500,000トークンのコンテキスト・ウィンドウが提供されると発表しました。

脚注
関連ソリューション
IBM® watsonx Orchestrate

IBM® watsonx Orchestrateを使用すると、スケーラブルなAIアシスタントとエージェントを簡単に設計し、反復的なタスクを自動化し、複雑なプロセスを簡素化できます。

watsonx Orchestrateの詳細はこちら
自然言語処理ツールとAPI

ライブラリー、サービス、アプリケーションの強力かつ柔軟なポートフォリオにより、人工知能のビジネス価値を促進します。

NLPソリューションはこちら
AIコンサルティングとサービス

AIの導入で重要なワークフローと業務を再構築し、エクスペリエンス、リアルタイムの意思決定とビジネス価値を最大化します。

AIサービスはこちら
次のステップ

IBM® watsonx Orchestrateを使用すると、スケーラブルなAIアシスタントとエージェントを簡単に設計し、反復的なタスクを自動化し、複雑なプロセスを簡素化できます。

watsonx Orchestrateの詳細はこちら NLPソリューションはこちら