成功へのベクトル検索 洗練された LLM の開発における RAG の役割を探る。

2022 年以前は、お気に入りの本の特定の一節や、鑑賞したばかりの映画の引用を、作品そのものが目の前になくてもすぐに思い出したい場合、おそらく検索エンジンに頼っていたでしょう。よく練られた検索入力でエンジンにプロンプ​​トし、返された結果を解析し、答えが含まれていると思われる SparkNotes または IMDB リンクにアクセスし、数分以内にページ上で探しているテキストを見つけます。今では、ChatGPT を開いて「最も有名なターミネーターの引用は何ですか」または「二都物語の冒頭の一節を書きなさい」と入力するだけで、数秒で逐語的な答えが返されます。

大規模言語モデル (LLM) の最もシンプルな用途の 1 つは、知識のデータベースとしての使用です。LLM は豊富な情報の膨大なデータセットでトレーニングされており、ChatGPT などのインターフェースによって簡単に取得できます。たとえば、ChatGPT に映画や本のコンテンツを返すように指示すると、トレーニング中にモデルがさらされた情報を思い出すというモデルの能力を活用しているだけです。しかし、ターミネーター スクリプトでトレーニングされていなかったり、重み付けがディケンズの作品に重要性を与えていなかったりしたらどうなるでしょうか。基本的な情報検索などの最もシンプルなユース ケースでも最も正確で関連性の高い結果を提供するために、LLM には、幅広い情報に正確にアクセスできる高度なインデックス作成および検索メカニズムが必要です。

LLMコンテンツ生成とトレーニングの理解

LLM コンテンツは、次のトークン予測と呼ばれるプロセスを通じて生成されます。これにより、応答が状況に適切で、多様であり、人間のような理解をある程度反映したものになります。次のトークン予測の仕組みを段階的に説明します。

  1. **入力処理:**プロンプトまたは質問を入力すると、その入力はトークン (単語または単語の一部) に変換されます。

  2. **コンテキスト理解:**モデルは、与えられたトークンを確認し、トレーニングに基づいて、現在のトピックから使用している可能性のある口調まですべてを含むコンテキストを理解しようとします。

  3. **次のトークンの予測:**モデルは、理解したコンテキストを使用して、次に最も可能性の高い次のトークンを予測します。直前の単語に基づいて推測するだけでなく、その時点までの会話のコンテキスト全体を考慮します。

  4. **トークンの選択:**次に出現する可能性のあるトークンの範囲を予測したら、その中から 1 つを選択します。この選択は確率に基づいて行われます。つまり、モデルがトレーニングされたデータに基づいて、次に出現する可能性が最も高いトークンが選ばれます。ただし、ここでもランダム性があり、より多様で自然な応答を生成するのに役立つことに注意してください。

  5. **出力生成:**選択されたトークンは、人間が読めるテキストに変換されます。応答が完了していない場合 (多くの場合、1 つのトークンだけでは完了しません)、プロセスが繰り返されます。新しいトークンがシーケンスに追加され、モデルはこの更新されたコンテキストに基づいて次のトークンを予測します。

  6. **反復的な改良:**次のトークンを予測してシーケンスに追加するこのプロセスは、モデルが停止ポイントに到達するまで繰り返されます。これは、応答が特定の長さに達したとき、モデルが文または節の終わりを示すトークンを予測したとき、またはプロンプトに埋め込まれた指示を実行したときなどに発生します。

LLMトレーニングにおける圧縮の限界

LLM がトークンを予測するとき、LLM は、その重みに埋め込まれた圧縮された知識を効果的に取得して利用し、コンテキストに適した出力を生成します。このように、LLM のトレーニングはデータベースの圧縮を反映しています。データベースが頻繁にアクセスされるデータをすばやく呼び出すように最適化されているのと同様に、LLM は、その重みから情報 (特定の補間されたメモリ) を取得するように設計されています。この機能により、LLM は、トレーニング中に遭遇した馴染みのある資料に関するクエリに対して正確な応答を生成することができます。これは、適切にインデックス付けされた情報をデータベースにクエリするのとよく似ています。ただし、モデルがあまり馴染みのないコンテンツやわかりにくいコンテンツに遭遇すると、制限が生じます。たとえば、LLM に聖書の特定の一節を尋ねると、LLM はそれを一語一語引用しますが、トレーニング中に重複して「目撃」していない概念は、その概念に関連付けられた重みが重要ではないため、一語一語引用することはできません。その意味でも、LLM はデータベースに似ています。データベースがその中に明示的に保存されているデータのみを返す可能性があるのと同様に、LLM はトレーニング中に広範囲に見たことのないトピックに関するコンテンツの生成に苦労する可能性があります。

もちろん、LLM はこのアナロジーの範囲外です。LLM は、内部に世界モデルを持ち、単なる検索を超えて物事を「理解」できるからです。ただし、この単純化により、LLM がコンテンツを生成するようにトレーニングされる方法におけるいくつかの重要な制限を理解するのに役立ちます。

LLMトレーニングのさらなる限界

さらに、次のトークン予測システムには、テキスト生成に対する基本的なアプローチに起因する他の固有の制限があります。

  • **コンテキスト ウィンドウ サイズ:**主な制約の 1 つは、モデルのコンテキスト ウィンドウ サイズです。これは、予測を行う際にモデルが考慮できるテキストの最大量 (トークン単位) です。GPT の以前のバージョンを含む多くのモデルでは、このウィンドウは長い会話やドキュメントにわたってコンテキストを維持するのに十分な大きさではありません。そのため、直前のトークンを超えてコンテキストを維持する必要がある長いテキストや複雑な議論では、一貫性が失われる可能性があります。

  • **一般化と特異性:**これらのモデルは膨大なデータセットでトレーニングされますが、このトレーニングから一般化する能力により、一般的なコンテンツや関連性が漠然としたコンテンツが生成されることがあります。トレーニング データ以外の詳細な理解や最新の知識を必要とする、非常に具体的または微妙な応答を生成する際に、的を外す可能性があります。

  • **外部知識へのアクセスの欠如:**次世代トークン予測モデルは、トレーニング データセットに含まれる情報に制限されます。トレーニング後に新しい情報にアクセスしたり、新しい情報を組み込んだりすることはできないため、すぐに古くなったり、最近のイベント、発見、トレンドのトピックなどの現在のコンテキストが欠如したりする可能性があります。

  • **反復性と予測可能性:**次のトークンを予測するアルゴリズムの性質により、テキスト生成が反復的または予測可能になる場合があります。モデルは、コンテキストに応じて統計的に続く可能性が高いトークンを優先することが多いため、ループに陥ったり、一般的なフレーズを優先したりして、出力の変動性が低下する可能性があります。

検索拡張生成(RAG)の説明

前述のように、LLM はトレーニング中にデータのさまざまな側面に割り当てた重みに基づいて応答を生成します。これらの重みは、入力データのさまざまな要素がモデルによってどの程度重要または有意に認識されているかを反映します。ユーザーのプロンプトにトレーニング データで有意に表現されていない要素が含まれている場合、モデルは正確または関連性のある応答を生成できない可能性があります。

会話が LLM のコンテキスト ウィンドウを超える場合、またはプロンプトが LLM 自身のトレーニング データセット内の重要な重みの制限を超える場合 (つまり、ユーザーが探している回答を正確に思い出せない場合)、モデルは通常、外部のベクトル検索データベースに依存します。これにより、ユーザーからのプロンプトに追加できる関連するコンテキストまたは新しいデータを検索できます。このプロセスは、検索拡張生成 (RAG) と呼ばれます。

「成功へのベクトル探索」

RAG プロセスは、ベクター検索データベースによって可能になります。ベクター検索データベースは、データをベクターとして保存および管理する高度なタイプのデータベースです。これらのベクターは、高次元空間でデータを表します。各次元はデータの意味の側面を捉え、複雑な関係や属性を表現できます。テキストと言語のコンテキストでは、ベクター検索データベースは埋め込みなどの手法を使用してテキストを数値ベクターに変換します。この変換により、システムはこの多次元空間で対応するベクター間の距離を計算し、異なるテキスト部分間の意味の類似性を測定できます。

RAG では、クエリ (つまり、LLM へのユーザーの入力) と保存されたデータ (記事、ドキュメント、文章など) の両方が、テキスト埋め込みを使用してベクトルに変換されます。これらの埋め込みにより、テキスト データが数値ベクトルに変換され、類似した意味がベクトル空間内の近接ポイントにマッピングされます。次に、データベースはクエリ ベクトルと保存されたデータのベクトル間の距離を計算し、テキストの意味がどの程度密接に関連しているかを判断します。データベースは、クエリ ベクトルに最も近いベクトルを持つデータ ポイント (テキスト コンテンツ)、つまり、入力と意味的に最も類似しているデータ ポイントを取得します。これらのデータ ポイントは、コンテキストと意味の点で「最も近い近傍」と見なされます。

これらの最近傍は、ベース LLM が独自のトレーニング データ内ではアクセスできなかった可能性のある、文脈上関連のある追加情報を提供します。これにより、LLM の出力の精度、関連性、豊富さ、多様性が大幅に向上します。Sam Altman は、モデルの微調整のみではなく、エージェントの開発に RAG に依存する「成功へのベクトル検索」アプローチを提唱しています。

微調整の代替としてのRAG

LLM の微調整には、特定のデータセットでの追加トレーニングに基づいてモデルの重みを調整し、特定のタスクのパフォーマンスを向上させたり、特定のドメインでの理解を深めたりすることが含まれます。このプロセスはイノベーションのペースよりも遅いため、微調整されたモデルは更新されるのとほぼ同じ速さで時代遅れになるだけでなく、最新のデータの問題にも対処しません。

一方、RAG を使用すると、モデルは外部データベースにリアルタイムでアクセスして、現在のクエリに関連する最新の情報を取得できます。基盤となるモデルが最近更新または微調整されていない場合でも、最新のデータを含む応答を生成できます。モデルは、外部情報ソースの取得を通じて新しいデータや変化するコンテキストに適応できるため、関連性が長く続きます。

RAG は、ディープラーニングと従来の情報検索技術の間のギャップを効果的に埋めます。これにより、ディープラーニングの強力なコンテキスト理解と情報検索の精度という両方の長所を活用します。このハイブリッド アプローチにより、LLM はより正確で詳細、かつコンテキストが豊富な応答を生成できます。

LLMのさらなる限界への対処

RAG は、微調整に加えて、標準 LLM に関連する前述の課題にも対処します。

  • コンテキスト理解の拡張: RAG は、モデルの応答を強化する最新または詳細な情報を取得することにより、従来の LLM のコンテキスト ウィンドウを拡張します。

  • 特異性と精度の向上: RAG では、トレーニング中に学習したパターンだけに頼るのではなく、取得したドキュメントから特定の詳細をモデルが応答に挿入できるため、応答の精度が向上するだけでなく、特定のクエリに合わせてカスタマイズされます。

  • **反復性と予測可能性の軽減:**クエリごとに異なる情報セットを動的に取得することで、RAG はモデルの応答を大幅に変化させることができます。この可変性により、外部データによって会話に新しい言い回しや詳細が導入されるため、純粋な生成モデルでよく見られる反復性と予測可能性を軽減できます。

RAGの課題と必要な進化

ただし、RAG には独自の課題があります。具体的には、遅延とインテリジェンスの欠如です。ユーザーがプロンプトを送信し、LLM がさらにコンテキストが必要であることを示すトークンをいくつか吐き出し、ベクトル検索データベースがユーザーの入力プロンプトを介して最も近いコンテキストを取得し、最終的に両方が推論のために再び LLM に送信される、というターンベースのエージェント チャットボット会話について考えてみましょう。その後、ユーザーが返信する番になります。

このシステムでは、各ユーザープロンプトは複数ステップの操作を開始し、各ステップが全体の処理時間を増加させます。プロセス全体の速度は、ベクター検索データベースが必要なコンテキストをどれだけ速く取得できるかによっても異なります。データベースクエリが複雑であったり、データベース自体が大きく、インデックスが最適に作成されていない場合、この取得によって大幅な遅延が発生する可能性があります。さらに、特に複雑なダイアログでは、応答を適切に調整するために、この生成と取得のシーケンスを複数回繰り返す必要がある場合があります。この反復サイクルによってレイテンシが増大し、内部データのみに依存する純粋な生成モデルで実現可能な場合よりも遅い対話につながる可能性があります。

さらに、RAG 強化 LLM のインテリジェンスは、ベクター検索データベースから取得される情報の品質と関連性に大きく依存します。データベースの内容が包括的でなかったり、最新でなかったり、適切に管理されていない場合、取得された情報の有用性が制限され、応答の全体的なインテリジェンスに影響する可能性があります。

高品質の外部データを取得できたとしても、この情報を LLM の既存の応答フレームワークにいかに効果的に統合できるかという課題が残ります。モデルは、この外部データを組み込むだけでなく、状況に応じて適切かつ一貫性のある方法で組み込む必要があります。モデルのトレーニングと外部データの性質が一致していないと、技術的には正確でも状況に応じてばらばらの応答になる可能性があります。

次世代のLLM

次世代の LLM では、ベクトル検索ベースの RAG と従来のトレーニング/微調整手法が、構造化データ処理 (例: TradFi 市場データと関連する金融ニュースの SQL データベース) とともに融合される可能性があります。「こちら側」に LLM プロバイダーがあり、「あちら側」に別のベクトル検索データベースがあるという概念は、インデックス付き作業メモリを、テラバイト単位のベクトル化されたコンテキストを持つローカル SSD に直感的に拡張する新しいモデルを介して照合されます。

Space and Time は、SQL データベース処理の正確性と改ざん防止性を検証する ZK 証明である Proof of SQL をすでに顧客に提供しており、最近ではベクトル検索取得で同じことを行う Proof of Vector Search を出荷しました。これらの新しい証明は、LLM が最新のコンテキストを統合し、より広範で微妙なデータ スペクトルにリアルタイムでアクセスし、構造化データ処理を統合してより洞察に富んだ分析を生成できる未来への道を開きます。これらはすべて追跡可能で検証可能な方法で行われます。これらの進歩は最終的に LLM のアプリケーションの範囲を広げ、金融サービス、ニュース アグリゲーション、リスク評価など、最新のデータに大きく依存する分野での有用性を拡大し、AI 主導のイノベーションの次の波を推進します。

元のリンク:

https://www.spaceandtime.io/blog/vector-search-to-success