LLMを使わない弱い検索の予測
ほとんどの検索システムはすべてのクエリに単一のパイプラインを使用しますが、これは難しいクエリには十分でなく、簡単なクエリには計算を無駄にします。この記事では、LLMを使わずに弱い検索を検出するための安価なシグナル(スコアの分散や検索器の一致など)を紹介し、必要な場合にのみ選択的にエスカレーションできるようにします。
- 弱い検索は、必要な証拠が上位k個の結果に欠けているときに発生します(より深い場所での再現率が高い場合でも)。
- 密度分散(広がり)、密度とスパース検索器の一致、トップスコアの高さなどの安価なシグナルは、AUC最大0.76で弱い検索を予測できます。
QdrantにおけるTurboQuant
Qdrant 1.18は、Google Researchが開発した回転ベースのベクトル量子化手法TurboQuantを実装し、実運用の埋め込みに適するよう拡張しました。4ビット、2ビット、1.5ビット、1ビットのオプションを提供し、スカラー量子化(SQ)やバイナリ量子化(BQ)と同等以上の圧縮率と再現率を実現します。本記事では、アルゴリズムの仕組み、Qdrantの拡張(長さの再正規化と座標ごとの較正)、およびベンチマーク結果を解説します。
- TurboQuantは回転ベースの新しいベクトル量子化アルゴリズムであり、4倍圧縮でSQと同等の再現率を達成し、2ビットおよび1ビットモードではBQを9~24ポイント上回ります。
- Qdrantは、長さの再正規化と座標ごとの較正(異方性補正)を追加し、実世界の埋め込みに対応できるようにしています。
eコマース検索のためのスパース埋め込みの微調整 | パート2:Modal上でSPLADEをトレーニング
本記事は5部構成シリーズの第2部で、Amazon ESCIデータセットを使用してModalのサーバーレスGPU上でSPLADEモデルをトレーニングする方法を解説します。データ読み込み、製品テキストのフォーマット、Modalアプリのセットアップ、SPLADEモデルの作成、トレーニング関数、SpladeLoss、YAML設定、並列ハイパーパラメータ探索、および回避すべき落とし穴をカバーしています。
- Amazon ESCIデータセットを使用し、ExactおよびSubstituteのペアをポジティブサンプルとしてSPLADEをトレーニングする。
- 製品テキストのフォーマットはスパース埋め込みにとって重要であり、ブランドには角括弧、セクション区切りにはパイプを使用する。
eコマース検索のためのスパース埋め込みのファインチューニング | パート1:なぜスパース埋め込みがBM25に勝るのか
本記事は、eコマース検索におけるスパース埋め込みのファインチューニングに関するシリーズの第1回です。密な埋め込みが製品検索で失敗する理由と、スパース埋め込みが重要な詳細を保持する方法を説明します。SPLADEモデル、クエリ拡張、Qdrantのネイティブスパースベクトルサポートを紹介します。ファインチューニングされたシステムは、Amazon ESCIデータセットでBM25よりも29%向上したパフォーマンスを達成しました。
- 密な埋め込みは完全一致をぼやけさせ、eコマース検索で無関係な結果を引き起こします。
- スパース埋め込みは大規模な語彙空間を使用して、正確なマッチングと解釈可能性のために単語の重要度の重みを保持します。
距離ベースのデータ探索
本記事では、Qdrantの距離行列APIを使用したデータ探索の方法を紹介します。次元削減、クラスタリング、グラフ可視化を通じて、大規模な非構造化データの隠れた構造を発見します。
- Qdrant 1.12の距離行列APIは、インデックス化されたデータを活用して効率的に距離行列を計算します。
- UMAP次元削減は、事前計算された距離行列を直接利用して2D可視化を行います。
Qdrant Summer of Code 2024 - PythonでのONNXクロスエンコーダ
この記事では、Huong (Celine) HoangがQdrantのSummer of Code 2024プログラムでFastEmbedライブラリにONNXクロスエンコーダを統合した経験を共有します。このプロジェクトにより、関連性スコアを使用した検索結果の再ランク付けが可能になり、コンテキストを意識した検索アプリケーションが強化されました。主な課題には、新しい入出力スキームの構築、トークン化、モデルのロード、テストが含まれます。この機能はFastEmbed 0.4.0で利用可能です。
- クロスエンコーダがFastEmbedに統合され、再ランク付けタスクが可能になりました。
- プロジェクトではPyTorchなどの重い依存関係を避けるためONNXモデルを使用しました。
ベクトルデータベースとは?
ベクトルデータベースの基本概念、従来のデータベースとの違い、コアコンポーネント(ID、次元、ペイロード)、アーキテクチャ(コレクション、距離メトリクス、ストレージ)、主要機能(インデックス作成、検索、更新、削除)、および密ベクトルと疎ベクトル、ハイブリッド検索、量子化、分散デプロイ、マルチテナンシー、データセキュリティなどの高度な機能について説明します。
- ベクトルデータベースは非構造化データを高次元ベクトルとして表現し、類似性に基づく検索を実現します。
- コアコンポーネントは一意のID、数値次元、メタデータを含むペイロードです。
ベクトル量子化とは?
ベクトル量子化は、高次元データのサイズを削減し、メモリ使用量を抑えつつ検索速度を向上させる技術です。この記事では、スカラー量子化、バイナリ量子化、プロダクト量子化の3つの主要手法と、オーバーサンプリングや再スコアリング、io_uringを使った精度とパフォーマンスのバランスについて説明します。
- ベクトル量子化はメモリ使用量を大幅に削減し、大規模データセットでの検索を高速化します。
- スカラー量子化はfloat32をint8に変換し、75%のメモリ削減を実現、多くのアプリケーションで安全なデフォルトです。
Qdrant 1.7.0 がリリースされました!
Qdrant 1.7.0 は、キーワードベースの検索を可能にするスパースベクトルのネイティブサポート、より精密なベクトル検索を実現する新しい Discovery API(ディスカバリーサーチとコンテキストサーチ)、ユーザー定義のシャーディングによる柔軟なデータ分散、スナップショットベースのシャード転送による効率的なクラスタースケーリング、およびさまざまなパフォーマンス改善を導入します。
- スパースベクトルのネイティブサポートにより、キーワードとセマンティックのハイブリッド検索が可能に
- Discovery API はディスカバリーサーチとコンテキストサーチの2つのモードを提供
非構造化データ、ベクターデータベース、新しいAI時代、そして私たちのシードラウンドについて
Qdrantは750万ドルのシードラウンドを発表。Unusual Venturesがリードしました。この記事では、AI時代におけるベクターデータベースの重要性、非構造化データの爆発的増加、そしてQdrantのオープンソースベクター類似性検索ソリューションとしての進捗と将来計画について述べています。
- QdrantはUnusual Venturesなどから750万ドルのシード資金を調達。
- ベクターデータベースは非構造化データを扱う新しいAIスタックの基盤。