コンテキスト長制限とは、大規模言語モデルが一度の処理で受け入れ、理解できるテキスト(トークン)の最大量に課される制約のことです。プロンプトとして入力する指示や過去の対話履歴、およびモデルが出力する回答の合計がこの制限内に収まる必要があり、制限を超えたテキストはモデルに入力できず、文脈が無視される原因になります。
コンテキスト長制限とは
コンテキスト長制限とは、大規模言語モデルなどのAIモデルが、1回の処理において一度に読み込み、処理できるテキストデータの最大長(トークン数)の制限のことです。AIが過去の文脈をどれだけ長く記憶・理解しながら処理を継続できるかを決定付ける重要な技術的制約です。
詳しく解説
LLMの基盤技術であるTransformerモデルは、自己アテンションメカニズムを利用して、入力された単語同士の関連性を計算します。この計算量は、入力するトークン数(単語や文字の単位)の2乗に比例して増加するため、モデルに一度に入力できるデータの長さには物理的な制限が生じます。これがコンテキスト長制限です。コンテキスト長制限は「コンテキストウィンドウ」とも呼ばれ、モデルのアーキテクチャや訓練方法、計算リソースによって決定されます。技術の進歩により、数千トークンだった制限が、最新のモデルでは数十万から数百万トークンにまで拡大されていますが、メモリや計算コストの観点から常に制限は存在します。
具体例・使われ方
例えば、コンテキスト長制限が8,000トークンの大規模言語モデルを使用する場合、日本語で約6,000〜8,000文字程度のプロンプトしか一度に入力できません。これには、ユーザーが入力する指示や過去の会話履歴、そしてAIが生成する回答のすべてが含まれます。企業の長い契約書や一冊の書籍全体を読み込ませて要約させたい場合、このコンテキスト長制限を超えるとエラーが発生するか、あるいは制限を超えた前方のデータが切り捨てられてしまい、AIは古い情報を参照できなくなります。
似た用語との違い
「コンテキスト長制限」と混同されやすい概念に「最大生成トークン数」があります。前者は入力と出力を合わせた「モデル全体が一度に処理できる情報の総量」の限界を指すのに対し、後者はモデルが1回の回答で出力できるテキストの最大長のみを指します。また、データベースや検索技術を用いて関連情報を追加する「RAG(検索拡張生成)」は、コンテキスト長制限の壁を回避し、膨大な外部知識を間接的に扱うための手法であり、コンテキスト長制限そのものを直接拡張する技術とは異なります。
注意点
最新の大規模言語モデルではコンテキスト長制限が大幅に緩和されていますが、制限内であっても「入力された長いテキストのすべてを完璧に理解できているわけではない」という点に注意が必要です。長大なプロンプトを入力した場合、文章の中央付近にある情報を見落としやすいという現象が指摘されています。また、コンテキスト長制限を最大限に活用して長いテキストを入力すると、比例して処理に必要な消費メモリやコストが急増するため、実務での運用時には適切なテキスト圧縮やRAG(検索拡張生成)の併用が求められます。