AIモデルのコンテキストウィンドウとは

09/02/2024

AIモデルの有用性を左右する基本的な要素の一つに、コンテキストウィンドウ (Context Windows)があります。コンテキストウィンドウとは、モデルが一度に処理できるトークン数、つまり入力できる情報量のことで、人間の短期記憶に例えることができます。人間同士が会話をする時、人間は自然と、会話の内容を短期的に記憶します。数秒前の自分及び相手の発言を記憶しなければ、会話は成立しないでしょう。

この記事では、AIモデルのコンテキストウィンドウとは何か、AIアプリケーションに対するコンテキストウィンドウの影響、そして大規模言語モデル (LLM)を活用する企業が考慮するべきポイントについて解説します。

弊社Appenは、企業の大規模言語モデル開発を強力に支援し、パフォーマンスベンチマークの向上を実現する一連のサービスを提供しています。コンテキストウィンドウの最適化、検索拡張生成 (RAG)など複雑な大規模言語モデルの開発に強みを持ち、ベンチマーキング、言語スタッフの派遣、テキストアノテーション、トランスクリプション、翻訳、既成データセットの提供など、大規模言語モデルのライフサイクルを加速し、投資利益率 (ROI)の向上を支援します。

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

大規模言語モデルの領域におけるコンテキストウィンドウとは、言語を生成または理解する際に、モデルが入力として受け取ることができるテキスト量を指します。

コンテキストウィンドウは、設定されたトークン (文字、単語、またはその一部)によって測定され、モデルが次のトークン予測で活用できる情報量に直接影響します。コンテキストウィンドウは、モデルの一貫性、そしてコンテキスト (文脈)に適した応答や分析を行う能力を左右します。

従来のTransformerベースのモデルでは、コンテキストウィンドウのサイズを増やすことは難しいです。これは、コンテキストウィンドウのサイズが直線的に増加する一方で、モデルパラメータの数が二次関数的に増加し、スケーリングが複雑になるためです。しかし、アーキテクチャの革新により、実現可能なコンテキストウィンドウは増加しています。 [1],[2],[3],[4],[5]

Google社のGemini 1.5は現在、100万トークンの大台に達しています。 [6]

このウィンドウのサイズとコンテキスト内検索のパフォーマンスは、モデルによって異なります。つまり、すべてのコンテキストウィンドウが同じように機能するわけではありません。

コンテキストウィンドウの長さとモデルのパフォーマンスにばらつきがあるため、大規模言語モデルを利用したアプリケーションを開発する際に、重要な設計上の考慮点をもたらします。

コンテキストウィンドウのAIアプリケーションへの影響

コンテキストウィンドウのサイズは、長文の理解や広範なコンテンツの生成を必要とするアプリケーションにとって非常に重要です。コンテキストウィンドウが大きいほど、モデルはより多くの情報を一度に処理でき、その結果として、より正確で一貫性のある出力を生成することができます。これは文書の要約、コンテンツ作成、複雑な質問応答システムにおいて特に有用です。

しかし、コンテキストウィンドウのサイズを大きくするには、より多くの処理能力とメモリを必要となります。これにより、パフォーマンスとリソース効率の間でトレードオフが生じるため、バランスを取る必要があるでしょう。コンテキストの増加は、入力トークン数を通じてモデルの処理能力に負担をかけるため、運用コストとレイテンシー (応答時間)に直接的な影響を及ぼします。大規模言語モデルを導入する企業は、特定のニーズと制約に基づいて、これらの要因のバランスをとる必要があります。

検索拡張生成 (RAG)

コンテキストウィンドウ内でのRetrieval Augmented Generation (RAG)のコンセプトは、情報処理能力を拡張する革新的なアプローチを提供します。

RAGモデルは、言語生成モデルの強力な生成能力と、ユーザーのクエリに基づいて外部文書やデータをほぼリアルタイムで取得する能力を組み合わせています。これにより、モデルが即座にアクセスできるコンテキストが限られていても、生成プロセス中に関連する外部情報を取り込むことで、コンテキスト (文脈)に即した情報にアクセスできます。その後、これらの関連情報の断片を大規模言語モデルのコンテキストとして提供できます。

この方法は、特に内部知識ベースの内容に基づく応答が必要なシナリオにおいて、正確かつ情報に富んだ、文脈に即した応答を生成するモデルの能力を大幅に向上させます。

このようなシステムを設計する際には、パフォーマンスに影響を与える決定事項が多く存在します。例えば、リランキングモジュールの追加は、TopKの取得データの関連性にどのような影響を与えるのでしょうか?取得されたデータのどれを大規模言語モデルのコンテキストとして提供すべきでしょうか?大規模なコンテキストウィンドウを持つ低コストの大規模言語モデルを使用して取得されたデータを要約し、この要約を高コストで高性能のモデルに最終的な応答を生成させる前に、コンテキストとして提供すべきでしょうか?

これらの質問に対する応答は、主にアプリケーションに依存します。しばしばパフォーマンスの高いシステムを構築するためには慎重な評価と実験が必要なのです。

コンテキストウィンドウの効果的な活用のための考慮事項

1. アプリケーション要件:

コンテキストウィンドウのサイズの選択は、アプリケーションの要求に合わせる必要があります。RAGアーキテクチャの場合、与えられたトークン数のデータの数を考慮して、モデルに提供するコンテキストの量を調整する必要があります。

2. 運用コスト:

より大きなコンテキストウィンドウとRAGメカニズムの追加により、リソースへの負荷が増加します。企業は利用可能なリソースを考慮し、必要に応じてモデルのアーキテクチャを最適化したり、ニーズに合ったコンテキストウィンドウのサイズと、検索機能を持つモデルを選択する必要があります。

3. トレーニングとファインチューニング:

大きなコンテキストウィンドウを持つ大規模言語モデルのトレーニングは、多大なリソースを必要とします。しかしながら、ドメイン固有のデータやロバストなRAGナレッジベースを活用してこれらのモデルを改良することで、パフォーマンスが向上し、コンテキストの利用が最適化されます。Appenは、効率性とコストのバランスに関する専門性を有しています。


コンテキストウィンドウのまとめ

コンテキストウィンドウは、大規模言語モデルの設計とデプロイにおいて、極めて重要な側面であり、モデルの実用性に大きな影響を与えます。RAGの導入により、大規模言語モデルはより広範囲の情報にアクセスして統合できるようになり、その可能性がさらに広がります。

企業がAIの最前線を探索し拡大し続ける中、より洗練されたリソース効率の高いアプリケーションを開発するには、コンテキストウィンドウの使用方法と取得メカニズムを理解し、最適化することが重要です。Appenは、この分野で重要な役割を果たしており、これらのモデルのトレーニングとファインチューニングに必要な高品質のデータと専門知識を提供し、さまざまなAIアプリケーションの進化する要求を確実に満たします。

コンテキストウィンドウのサイズ、処理リソース、アプリケーション要件、RAGの戦略的な使用の間のトレードオフのバランスを取ることは、大規模言語モデルの開発者とユーザーにとって引き続き重要な課題であり、考慮すべき事項です。

AIが進化するにつれて、カスタマイズされたトレーニングと、データを使用した大規模言語モデルの最適化がとても重要になります。


参考文献

[1] Gu, Albert, and Tri Dao. "Mamba: Linear-Time Sequence Modeling with Selective State Spaces." ArXiv.org, 1 Dec. 2023, arxiv.org/abs/2312.00752. Accessed 3 Apr. 2024.

[2] Su, Jianlin, et al. RoFormer: Enhanced Transformer with Rotary Position Embedding. 20 Apr. 2021, https://doi.org/10.48550/arxiv.2104.09864. Accessed 3 Apr. 2024.

[3] Hu, Edward J., et al. "LoRA: Low-Rank Adaptation of Large Language Models." ArXiv:2106.09685 [Cs], 16 Oct. 2021, arxiv.org/abs/2106.09685. Accessed 3 Apr. 2024.

[4] Lieber, Opher, et al. "Jamba: A Hybrid Transformer-Mamba Language Model." ArXiv.org, 28 Mar. 2024, arxiv.org/abs/2403.19887. Accessed 3 Apr. 2024.

[5] Liu, Hao, et al. "Ring Attention with Blockwise Transformers for Near-Infinite Context." ArXiv.org, 27 Nov. 2023, arxiv.org/abs/2310.01889. Accessed 25 Feb. 2024.

[6] Hassabis, Demis. "Our Next-Generation Model: Gemini 1.5." Google, 15 Feb. 2024, blog.google/technology/ai/google-gemini-next-generation-model-february-2024/#gemini-15. Accessed 3 Apr. 2024.