バイエンコーダーとクロスエンコーダーの主な違いを理解してから、リランカーがなぜこれほど強力なのかようやく理解できました。 さらに、統一されたアーキテクチャを使用してそれらの力を組み合わせる方法を見つけました。 説明しましょう: RAG は 80% の回収と 20% の生成です。したがって、RAG が機能しない場合は、おそらく検索の問題です。 だからこそ、検索アーキテクチャを正しく行うことが非常に重要であり、まずこれら 2 つ (実際には 3 つ) のエンコーディング アプローチを理解することから始まります。 (読みながら以下のビジュアルを参照してください) 1️⃣バイエンコーダー バイエンコーダー (ベクトル検索のバックボーン) は、クエリとドキュメントを別々に処理します。 - ドキュメントの埋め込みは事前に計算されます - 検索時にクエリが埋め込まれる これにより、バイエンコーダは初期検索に最適です。 - 非常に速い - 大規模に動作する - 重要な文脈情報を見逃している 2️⃣ クロスエンコーダー クロスエンコーダーは、再ランク付けにまったく異なるアプローチを採用しています。 クエリと各ドキュメントを 1 つの単位として処理します。 - クエリとドキュメントを結合する ([CLS] クエリ [SEP] ドキュメント [SEP]) - 完全なクロスアテンションのためにモデルを一緒に実行します このため、クロスエンコーダは第2段階に最適です。 - セマンティックな関係をキャプチャして精度を高めます - しかし、大規模なコレクションの場合ははるかに遅く、リソースを大量に消費します さて、両方の長所を組み合わせることができたらどうでしょうか。 3️⃣ コルバート ColBERTは、クロスエンコーダのパワーとバイエンコーダの拡張性を融合させています。 - クエリとドキュメントを個別にエンコードする - すべてのクエリとドキュメントのトークンペア間の類似性スコアを含む相互作用マトリックスを作成する - ドキュメント トークン間で各クエリ トークンの最大スコアを取得する - 最終マッチングスコアの最大スコアを合計する _____ これで終わりです! 洞察力に富んだと思われた場合は、ネットワークと再共有してください。 → @akshay_pachaar ✔️ LLM、AI エージェント、機械学習に関するその他の洞察とチュートリアルについては、こちらをご覧ください。
46.67K