LLM テクノロジーの適用と実装により、データベースのベクトル分析と AI サポート機能を向上させる必要があります。ベクターデータベースやベクター検索などの機能が登場し、業界から継続的に注目を集めています。簡単に言えば、ベクトル検索テクノロジーとベクトル データベースは、LLM に外部メモリ ユニットを提供し、質問や過去の回答に関連するコンテンツを提供することで、LLM がより正確な回答を返すのに役立ちます。 LLM だけでなく、ベクトル検索は OLAP エンジンでも使用され、非構造化データの分析および検索機能が向上しています。 ByteHouse は、Volcano Engine が立ち上げたクラウドネイティブのデータ ウェアハウスです。最近、高性能なベクトル検索機能を導入しました。この記事では、ByteHouse チームのベクトル データベース業界とテクノロジーに関する最先端の観察を組み合わせて、OLAP エンジンが高性能なベクトル検索機能を構築する方法について詳しく説明します。最後に、オープンソース ソフトウェアの VectorDBBench テスト ツールを使用すると、Cohere 1M 標準テスト データ セットで、リコールが 98 の場合、QPS パフォーマンスは専用のベクター データベースを上回ることができます。 ベクトル検索の現状分析ベクトル検索の定義従来のデータベース方式では、画像、ビデオ、オーディオなどの非構造化データを処理できません。現在、一般的な技術は、一連の埋め込みモデルを通じて非構造化データをベクトル化された表現に変換し、それをデータベースまたは特定の形式で保存することです。検索プロセス中に、クエリ項目は同じモデルを通じて対応するベクトルに変換され、近似一致が実行されて非構造化データがクエリされます。 技術的な原理としては、ベクトル検索には主に K 最近傍 (KNN) 計算が含まれ、その目的は N 次元ベクトルのライブラリ内で最も類似する k 個の結果を見つけることです。 大量のデータを扱うシナリオでは、KNN 計算は通常非常にコストがかかり、短期間で結果を返すことは困難です。さらに、多くのシナリオでは、ユーザーは絶対的に正確な類似性の結果を必要としません。したがって、実際にベクトル検索を使用する場合、通常は KNN の代わりに類似最近傍検索、つまり ANN が使用され、k 個の絶対的に最も近似した結果から K 個の近似最適結果に変更され、それによってある程度の精度が犠牲になり、応答時間が短縮されます。 LLMとベクトル検索大規模なモデルではトレーニング データが限られているため、特定の分野の最新ニュースや情報に関するクエリの結果は通常不正確になります。検索の精度を向上させるために、検索する情報に関連する文書に対してテキスト処理を実行し、埋め込みモデルを介してベクトルをベクトル データベースに書き込み、次に、近接検索のために同じ埋め込みモデルを介して質問をベクトルに変換するという一般的なアプローチがあります。質問の類似知識がプロンプトとして取得され、質問と一緒に処理するために大規模モデルに送信され、最終的により正確な回答が得られます。 ベクトル検索(インデックス作成)のための 4 つのアルゴリズムベクトル検索アルゴリズムは、そのストレージ構造に基づいて、大まかに 4 つのタイプに分けられます。
現在の実際のシナリオでは、最も一般的に使用されている方法は、後者の 2 つ、つまりクラスター ベースとグラフ ベースの方法です。 ベクターデータベースの構築方法まず、ベクターデータベースには、追加、削除、変更、クエリなどのデータメンテナンス機能を含む、ベクター型データとベクターインデックスの保存と管理に関する機能が必要です。さらに、ベクトル検索パフォーマンスに対する要件は通常、比較的高くなります。第二に、ベクトル検索は通常、属性フィルタリングなどの操作と組み合わせる必要があります。最後に、ベクター検索は通常、画像検索などのクエリ用の他の属性と組み合わせられます。最終的に必要なのは、類似した画像パスまたはファイルです。 ベクター データベースを構築する場合、ベクターを中心にしてボトムアップで専用のベクター データベースを構築するというアイデアがあります。このアプローチの利点は、ベクトル検索に対して特定の最適化を行い、高いパフォーマンスを確保できることです。欠点は、複雑なデータ管理機能とクエリ機能が欠けており、通常は他のデータベースと組み合わせて使用する必要があることです。 もう 1 つの設計アイデアは、既存のデータベースとデータ エンジンに基づいて、ベクトル検索関連の拡張機能を追加することです。利点は、オールインワンのデータ管理とクエリ サポートを提供できることです。欠点は、既存のアーキテクチャの制限により、高い検索パフォーマンスを実現することが難しいことです。 ベクターデータベースの最新動向ベクターデータベースはまだ急速な発展の段階にあります。現在、2つの傾向があります。 1 つは、専用のベクター データベースを基盤として使用し、ストレージとコンピューティングの分離、一貫性のサポート、リアルタイム インポートなど、より複雑なデータ タイプとより多くのデータ管理メカニズムのサポートを継続的に追加することです。さらに、事前フィルタリングや事後フィルタリングなどの複雑なクエリ戦略のサポートも継続的に追加されています。 2 番目の構築アイデアは、データベースにベクトル検索拡張機能を追加して、より多くのベクトル検索アルゴリズムを継続的にサポートし、特別なフィルタリング戦略を継続的に追加し、ベクトル検索のニーズに応じて対応する実行プランを簡素化することです。 上記の 2 つの構築アイデアは、高性能なベクトル検索と完全なデータ管理およびクエリ サポートを備えたデータベース形式という統一された目標に向かって収束しています。これは、ByteHouse がベクトル検索関連の機能を設計する際に考慮した主な目標の 1 つでもあります。 ByteHouseの高性能ベクター検索ソリューションByteHouse は、Volcano Engine が開発したクラウドネイティブのデータ ウェアハウス製品です。オープンソースのClickHouseエンジンをベースに技術アーキテクチャを再構築し、クラウドネイティブ環境の展開や運用保守管理、ストレージとコンピューティングの分離、マルチテナント管理などの機能を実現しました。スケーラビリティ、安定性、保守性、パフォーマンス、リソース使用率が大幅に向上しました。 さらに、ByteHouse は、ベクター検索、全文検索、地理空間データ検索などの機能もサポートしています。 高性能ベクター データベース ベースとしての ByteHouse の利点は、比較的完全な SQL 構文サポート、高性能コンピューティング エンジン、比較的完全なデータ管理メカニズム、さまざまなシナリオをサポートできる豊富なデータ テーブル エンジンを備えていることです。 より高いベクトル検索パフォーマンスを実現するために、ByteHouse はベクトル中心の設計コンセプトに基づいて効率的なベクトル検索実行パスを構築しました。同時に、さまざまなシナリオのベクトル検索ニーズを満たすために、一般的に使用されるさまざまなベクトル検索アルゴリズムを導入しました。 デザイン主なデザインアイデア
基本的な使い方実際の使用では、テーブルを作成するときに、インデックス名、ベクター列、インデックス タイプ情報を含むインデックス定義を追加できます。 データのインポートでは、Kafka に基づくリアルタイム インポート、ファイルの挿入、Python SDK など、複数の方法がサポートされています。 基本的なクエリは固定パターンです。必要な列情報を選択し、order by + limit 命令を追加します。クエリは、スカラー情報と組み合わせたハイブリッド クエリと、距離の範囲クエリをサポートします。 課題高性能なベクトル検索機能を追加する過程で、ByteHouse は主に次の 3 つの困難を克服しました。 増幅問題を読む根本原因: ByteHouse では、現在の最小の読み取り単位はマークです。 Vector Index クエリで取得した結果に行番号情報が含まれている場合でも、実際に読み取る際には、対応するマーク ID に変換し、下位のストレージ層に渡して読み取る必要があります。 最適化: 1. ベクトル検索の計算は前処理されます。 元の設計では、ベクトル検索計算では、各データ部分で最初にベクトル検索を実行して他の列情報を読み取り、その後に order by + limit を実行して最終結果を取得する必要がありました。このアプローチは、各データ部分の上位 k を取得することと同等であり、読み取られる行数は、部分数に mark_size を乗じて上位 k を乗じた数になります。ここで行われる最適化は、ベクトル検索の計算をデータ部分の読み取りの前に進めることです。まず、すべてのデータ部分のベクトル検索を実行してグローバル topK 結果を取得し、次にそれらを各データ部分に配布して読み取ります。これにより、IO を数百万から数千に削減でき、実際の使用では全体的なパフォーマンスが 2 倍以上になります。 2. ストレージ層でのフィルタリング。 フィルタリングのために、行レベルのクエリ結果をストレージ レイヤーの読み取りマークの場所にプッシュダウンし、デシリアライゼーションのオーバーヘッドを削減します。 3. 範囲シナリオでフィルターを最適化します。 日付やラベルによる主キー検索などのシナリオでは、最初と最後のマークのみが読み取られてフィルター処理されるため、フィルター ステートメントの実行オーバーヘッドが削減されます。 高いリソース消費根本原因: MinMax などの他の単純なインデックスと比較すると、ベクトル インデックスの構築には時間がかかり、より多くのリソースを消費します。 最適化:
コールドリーディングの質問理由: インデックスを使用するには、インデックス構造をメモリにロードする必要があります。メモリにロードされた後でのみ、検索の高速化を実行できます。 最適化: キャッシュプリロードのサポートが追加されました。サービスの起動、データの書き込み、バックグラウンド データのマージのシナリオでは、新しいインデックスを自動的にメモリに読み込むことができます。さらに、自動 GC により、キャッシュ内の期限切れのデータが自動的にリサイクルされます。 最終結果ByteHouse チームは、業界最新の VectorDBBench テスト ツールに基づいてテストを実施しました。 Cohere 1M 標準テスト データセットでは、リコールが 98 で、専用のベクトル データベースと同等のパフォーマンスを達成できました。リコールが 95 を超えると、QPS は 2600 を超え、p99 レイテンシは約 15 ミリ秒となり、業界をリードする利点となります。 パフォーマンス評価
異なる指標評価評価対象:IVFPQFS+Refine(SQ8)とHNSW。 IVFPQFS+Refine(SQ8)の利点:
問題点: 高精度のシナリオではHNSWを置き換えることは困難である 今後の計画
|
<<: ガートナー:持続可能性とデジタル主権がパブリッククラウドベースのAIサービスを選択する際の最重要基準となる
>>: CVPR 2024 フルスコアペーパー |変形可能な3Dガウス分布:変形可能な3Dガウス分布に基づく高品質の単眼動画像再構成のための新しい方法
信頼の構築は次のような側面に反映されます。 1. 会社概要ページ: 会社の背景、歴史、事業範囲などに...
ガートナーの 2022 年クラウド プラットフォーム サービス テクノロジー ハイプ サイクルによる...
Kubernetes v1.25 では、コンテナ チェックポイント API がアルファ機能として導入...
実際、ウェブマスターのウェブサイトは、中国でインターネットが出現し、急速に発展し始めた頃に誕生しまし...
1. JD.comが電子商取引の価格戦争を開始今週、インターネット上で最も注目されている話題は、間違...
geecdn は、レイバー デーに合わせて、VPS 月額料金 50% オフ、専用サーバー料金 10%...
2013 年 9 月 6 日、Baidu Webmaster Platform Lee は、関連性の...
クラウド ネイティブ アプリケーションを保護するには、マイクロサービスによってさまざまな消費者に公開...
インターネットが広く普及した初期の頃から今日のハイパーコネクテッド時代に至るまで、私たちが生成するデ...
最も安い韓国のVPS、安い韓国のVPSをお勧めします!韓国で最も安い VPS はどれですか?最も安い...
昨日の午後は暇だったので、夜遅くまでカラオケに出かけました。そして朝遅く起きました。日中は家に冷蔵庫...
月収10万元の起業の夢を実現するミニプログラム起業支援プランXiaomi の第 2 四半期の財務報告...
VirMachは、様々なシリーズのVPSを提供し、多くの実績を持つ新興企業です。以前、E3 シリーズ...
10月23日、上海でグローバルエッジコンピューティングカンファレンスが成功裏に開催されました。 「エ...
数日前、tmhhostのcn2高防御VPSが発売されました(tmhhost:トリプルネットワークcn...