1721403825
2024-07-19 15:01:03
人気のインメモリデータ構造ストアであるRedisは最近 リリース 強化されたRedisクエリエンジン。この開発は、 ベクターデータベース は 注目を集める 検索強化生成における重要性のため(ラグ) を GenAI アプリケーションに提供します。
Redis は、クエリ エンジンを大幅に改良し、マルチスレッドを使用して低レイテンシを維持しながらクエリ スループットを向上させることを発表しました。Redis は次のように述べています。
クエリがインデックスに同時にアクセスできるようにすることで、Redis を垂直方向に効果的に拡張できるようになり、Redis 操作とクエリの両方のスループットを拡張できるようになります。
下の図は垂直スケーリングを示しています。
ソース: レディス 設計の選択 – スケールアップとスケールアウト
同社は、データ量が数億のドキュメントにまで増加し、複雑なクエリがスループットを制限する可能性がある中で、この進歩が極めて重要であると強調している。Redis は、応答のレイテンシがミリ秒未満に抑えられ、クエリの平均レイテンシが 10 ミリ秒未満であると主張している。
Redis は、特定の操作における従来のシングルスレッド アーキテクチャの限界を認識しています。シングル スレッドで長時間実行されるクエリは、特に逆インデックスを使用したデータ検索などの操作で、輻輳を引き起こし、全体的なスループットを低下させる可能性があると説明しています。
同社は捜索活動の複雑さについてさらに詳しく説明している。
検索は、O(1) の時間複雑度のコマンドではありません。検索では通常、複数のクエリ述語を満たすために、複数のインデックススキャンが組み合わされます。これらのスキャンは通常、対数時間複雑度 O(log(n)) で実行されます。ここで、n はインデックスによってマップされるデータポイントの数です。
Redis は、新しいマルチスレッド アプローチがこれらの課題に効果的に対処し、単純な操作では高いパフォーマンスを維持しながら、ベクトル類似性検索などの計算集約型操作のスループットを大幅に向上させることができると主張しています。
Redis は、「検索を効率的にスケーリングするには、水平方向 (送信) のデータ負荷の分散と垂直方向のマルチスレッドを組み合わせて、インデックスへのアクセス (送信) の同時実行を可能にする必要があります」と強調しています。
ソース: シングルシャード Redis マルチスレッド クエリ エンジン メイン スレッドとスレッド プール
上の図は、複数のクエリがそれぞれ別のスレッドで実行される新しいアーキテクチャを示しています。Redis は 3 つのステップのプロセスを概説しています。
クエリ コンテキスト (計画) はメイン スレッドで準備され、共有キューにキューイングされます。ここから、スレッドはキューを消費し、他のスレッドと同時にクエリ パイプラインを実行します。これにより、メイン スレッドをアクティブにしたまま複数の同時クエリを実行し、他の Redis コマンドなどのより多くの受信リクエストを処理したり、追加のクエリを準備してキューに入れたりすることができます。完了すると、クエリ結果がメイン スレッドに送り返されます。
Redis は、この新しいアーキテクチャにより、標準的な Redis 操作に対するメイン スレッドの応答性を維持しながら、複数の複雑なクエリを同時に処理できるため、システム全体のスループットとスケーラビリティが向上すると主張しています。
Redisは広範囲にわたる ベンチマーク クエリエンジンのパフォーマンスを検証し、純粋なベクトルデータベース、ベクトル機能を備えた汎用データベース、および完全に管理されたインメモリRedisクラウドサービスプロバイダー(CSP)の3つのセグメントのベクトルデータベースプロバイダーと比較しました。Redisは、アップグレードされたクエリエンジンが 優れている 速度とスケーラビリティの両面で純粋なベクトル データベースを凌駕し、全体的なパフォーマンスでは汎用データベースや完全に管理されたインメモリ Redis CSP を大幅に上回ります。
ベクターデータベース市場は近年大きな成長を見せており、 製品 業界は混乱に陥っています。この急増により、新規参入者とユーザーの両方にとって厳しい環境が生まれています。業界 専門家 市場はすでにベクター データベース オプションで飽和状態にあり、新製品が差別化を図り、独自の価値提案を見つけることが困難になっていることを指摘します。
しかし、ベクトル検索では、何十ものオプションがあります。そのようなオプションの「顧客」として、この分野は圧倒的になります…ベクトル検索はますます問題ではなくなりました。現実世界の検索を解決する難しい問題は、ベクトルを取得することだけに関連するものではなく、その周りのすべてです。
この観点は、AI 駆動型データ取得におけるより広範な課題に対処する包括的なソリューションの必要性を強調しています。
新しいRedisクエリエンジン 請求 クエリスループットは前モデルに比べて16倍に増加しました。特に、クエリエンジンは、チャットボットなどのGenAIアプリケーションのニーズに応えます。 リアルタイムRAG ベクター データベースからデータを取得する際に、複数のステップを迅速に処理する必要があります。
ポール・ブッフハイトGmailの創始者は、「100msルール」では、ユーザーに瞬時に感じてもらうために、あらゆるインタラクションは 100 ミリ秒未満で行われるべきであると述べられています。
RAG アーキテクチャのレイテンシ境界の内訳は、ネットワーク ラウンド トリップ、LLM 処理、GenAI アプリ操作、およびベクトル データベース クエリの結果、エンドツーエンドの平均応答時間が 1,513 ミリ秒 (1.5 秒) であることがわかります。この課題に対処するには、開発者はデータ アーキテクチャを再考し、100 ミリ秒ルールに近づくリアルタイム GenAI アプリケーションを構築する必要があります。 リアルタイムRAG AI 機能を活用しながらアプリケーションの速度を維持し、ユーザーがほぼ瞬時に操作してアプリケーションを使い続けることができるようにするためには、これが不可欠です。
ベクターの オフェル・メンデルレヴィッチ ベクトルデータベースのパフォーマンスは重要ですが、それはより大きな技術的課題の一部であることを思い出させてくれます。 風景 AIアプリケーション開発において。
RAG は現在、独自のデータを使用して信頼できる LLM ベースのアプリケーションを構築するための最も人気のある方法であり、全体的な検索機能 (RAG の R) の一部として強力なセマンティック検索機能が必要であることは事実ですが、ベクター データベースはその全体的なスタックの一部にすぎず、おそらく最も重要なものではありません。
ウー・インジュンの創設者 ライジングウェーブラボは、ベクターデータベースの開発に関する補完的な見解を示しています。
新しいベクター データベース プロジェクトに投資する代わりに、既存のデータベースに集中し、ベクター エンジンを使用してデータベースを強化し、さらに堅牢で強力なものにする機会を模索する方が賢明です。
既存のインフラストラクチャを強化するという Redis のアプローチはこの観点と一致しており、開発者にとってより統合された効率的なソリューションを提供できる可能性があります。
包括的な ベンチマーク プロセスは、取り込みと検索の両方のワークロードに対応しました。取り込みについては、Redisは階層的なナビゲート可能なスモールワールド(HNSW) アルゴリズム、近似最近傍 (アン) 検索。クエリでは、純粋な k 近傍法 (k-NN) 検索を実行し、1 秒あたりのリクエスト数 (RPS) でのスループットと、ラウンドトリップ時間 (RTT) を含むクライアント側の平均レイテンシを測定します。
Redisのベンチマーク結果 gist-960-ユークリッド、 グローブ-100-角、 ディープイメージ96角度、 dbpedia-openai-1M-角度 異なるベクトル次元と距離関数を持つデータセットを使用して、 包括的な テスト。シミュレーション環境では、業界標準のベンチマークツールを採用しました。 Qdrant のベクター DB ベンチマーク 信頼性が高く再現性のある結果を提供します。
Redisはベンチマークで素晴らしいパフォーマンスを報告していますが、他の業界プレーヤーの視点を考慮することが重要です。Redisの競合他社の1社が実施した比較調査では、 異なる視点 Redisの機能について。さらに、 スケールグリッドDBaaS(データベース・アズ・ア・サービス)マネージドプラットフォームプロバイダーであるが、 洞察 Redis で。
Redisは新しいクエリエンジンをRedisソフトウェアですぐに利用できるようにし、秋にはRedisクラウド向けにリリースする予定です。LangChainフレームワークを使用してRedisベクトルデータベースの動作を確認するには、こちらをご覧ください。 デモ、これらの技術が現実世界のシナリオにどのように適用されるかを実際に垣間見ることができます。ベクターデータベースの世界の詳細については、こちらをご覧ください。 PostgresML プレゼンテーション と InfoQ ポッドキャスト 特集 あるいは自由Pinecone ベクトル データベースの創設者兼 CEO である彼は、RAG アプリケーションにおけるこれらのテクノロジーについての見解を共有しています。
#Redis #はマルチスレッド #クエリ #エンジンでベクトル #セマンティック検索のパフォーマンスを向上