ホームページ  >  記事  >  テクノロジー周辺機器  >  遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

WBOY
WBOYオリジナル
2024-08-05 20:15:221118ブラウズ
遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?
AIxivコラムは、当サイトが学術的・技術的な内容を掲載するコラムです。過去数年間で、このサイトの AIxiv コラムには 2,000 件を超えるレポートが寄せられ、世界中の主要な大学や企業のトップ研究室がカバーされ、学術交流と普及を効果的に促進しています。共有したい優れた作品がある場合は、お気軽に寄稿するか、報告のために当社までご連絡ください。送信メール: liyazhou@jiqizhixin.com; zhaoyunfeng@jiqizhixin.com

Zhang Yingfeng: Infra の共同創設者で、検索、AI、インフラストラクチャ開発に長年の経験があり、現在はその構築に取り組んでいます。次世代の RAG コア製品の一部です。

RAG システムの開発では、優れた Reranker モデルが不可欠なリンクであり、ベクトル検索で表現されるクエリのヒット率が低いため、これを解決するには高度な Reranker モデルが必要です。この問題は、大まかなスクリーニングとしてベクトル検索を使用し、詳細なソートとしてリランカー モデルを使用する 2 段階のソート アーキテクチャを構成します。

現在、モデルのランキングには主に 2 つのタイプのアーキテクチャがあります:

1. デュアル エンコーダー。 BERT モデルを例に挙げると、クエリとドキュメントを別々にエンコードし、最後にプーリング層を通過して、出力にベクトルが 1 つだけ含まれるようにします。クエリのランキング段階では、次の図に示すように、2 つのベクトルの類似性を計算するだけで済みます。デュアル エンコーダーはランキング ステージと再ランキング ステージの両方で使用でき、ベクトル検索は実際にはこのランキング モデルです。デュアル エンコーダーはクエリとドキュメントを別々にエンコードするため、クエリとドキュメントのトークンの間の複雑なインタラクティブな関係をキャプチャできず、大量のセマンティック損失が発生します。ただし、並べ替えと処理を完了するにはベクトル検索のみが必要です。スコア計算により実行効率が非常に高くなります。

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

2. クロスエンコーダー。 Cross-Encoder は、単一のエンコーダー モデルを使用してクエリとドキュメントを同時にエンコードし、クエリとドキュメント間の複雑な相互作用をキャプチャできるため、より正確な検索ランキング結果を提供できます。 Cross-Encoder はクエリとドキュメントの Token に対応するベクトルを出力せず、クエリとドキュメントの類似性スコアを直接出力する分類器を追加します。欠点は、各ドキュメントとクエリをクエリ時に一緒にエンコードする必要があるため、並べ替えが非常に遅くなり、Cross-Encoder は最終結果の並べ替えにしか使用できないことです。たとえば、事前審査結果の上位 10 位を並べ替えるには、依然として数秒かかります。

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

今年に入ってから、ColBERT [参考文献 1] に代表される別のタイプの作品が RAG 開発コミュニティで広く注目を集めています。以下の図に示すように、上記の 2 つのタイプとは大きく異なるいくつかの特徴があります。 :

まず、クロス エンコーダーと比較して、ColBERT は依然としてデュアル エンコーダー戦略を使用し、クエリとドキュメントを独立したエンコーダーでエンコードします。そのため、クエリ トークンとドキュメント トークンはエンコード中に相互に影響しません。これにより、ドキュメントのエンコードをオフラインで処理でき、クエリ時にクエリ エンコードのみが使用されるため、処理速度が Cross Encoder よりもはるかに高速になります

次に、デュアル エンコーダと比較して、ColBERT は単一のベクトルではなく複数のベクトルを出力します。これは、Transformer の最終出力層が直接取得されるのに対し、デュアル エンコーダーはプーリング層を介して複数のベクトルを 1 つのベクトル出力に変換するため、一部のセマンティクスが失われるためです。

ソート計算では、ColBERT は遅延対話型計算類似度関数を導入し、それを最大類似度 (MaxSim) と名付けます。計算方法は次のとおりです。各クエリ トークン ベクトルについて、すべてのドキュメント トークンに対応するベクトルと比較する必要があります。類似性が計算され、各クエリ トークンの最大スコアが追跡されます。クエリとドキュメントの合計スコアは、これらの最大コサイン スコアの合計です。たとえば、32 個のトークン ベクトルを含むクエリ (最大クエリ長は 32) と 128 個のトークンを含むドキュメントの場合、次の図に示すように、32*128 の類似性演算を実行する必要があります。

つまり、比較すると、Cross Encoder は 初期インタラクション モデル と呼ぶことができ、ColBERT によって代表される作品は 後期インタラクション モデルと呼ぶことができます。

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

Die folgende Abbildung vergleicht die oben genannten Sortiermodelle hinsichtlich Leistung und Sortierqualität. Da das verzögerte Interaktionsmodell die Fähigkeit erfüllt, die komplexen Interaktionen zwischen Abfragen und Dokumenten während des Sortiervorgangs zu erfassen und außerdem den Aufwand für die Codierung von Dokument-Tokens vermeidet, kann es nicht nur gute Sortiereffekte gewährleisten, sondern auch eine schnellere Sortierleistung erzielen – Unter Bei gleicher Datenskala kann die Effizienz von ColBERT mehr als 100-mal höher sein als die von Cross Encoder. Daher ist das verzögerte Interaktionsmodell ein sehr vielversprechendes Sortiermodell. Eine natürliche Idee ist: Kann das verzögerte Interaktionsmodell direkt in RAG verwendet werden, um die zweistufige Sortierarchitektur wie Vektorsuche + Feinsortierung zu ersetzen?

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

Zu diesem Zweck müssen wir einige Probleme bei der ColBERT-Entwicklung berücksichtigen:

1. Die verzögerte Interaktionsähnlichkeitsfunktion von ColBERT hat eine viel höhere Recheneffizienz als Cross Encoder, aber im Vergleich zur gewöhnlichen Vektorsuche ist der Rechenaufwand höher Immer noch Sehr groß: Da es sich bei der Ähnlichkeit zwischen der Abfrage und dem Dokument um eine Berechnung mit mehreren Vektoren handelt, betragen die Kosten von MaxSim das M * N-fache der Kosten für die Berechnung der gewöhnlichen Vektorähnlichkeit (M ist die Anzahl der Token in der Abfrage, N ist die Anzahl). Anzahl der Token im Dokument). Als Reaktion darauf brachte der Autor von ColBERT im Jahr 2021 ColBERT v2 auf den Markt [Referenz 2], das die Qualität der generierten Einbettung durch Cross Encoder und Modelldestillation verbessert und Komprimierungstechnologie verwendet, um den generierten Dokumentvektor zu quantisieren und dadurch die Berechnung zu verbessern MaxSim-Leistung. Das auf dem ColBERT v2-Wrapper basierende Projekt RAGatouille [Referenz 3] wird zu einer Lösung für die hochwertige RAG-Sortierung. Allerdings handelt es sich bei ColBERT v2 lediglich um eine Algorithmusbibliothek, und es ist immer noch schwierig, sie durchgängig in RAG-Systemen auf Unternehmensebene zu verwenden.

2. Da es sich bei ColBERT um ein vorab trainiertes Modell handelt und die Trainingsdaten aus Suchmaschinenabfragen und Rückgabeergebnissen stammen, beträgt die Anzahl der Abfrage-Tokens beispielsweise 32 und die Anzahl der Dokument-Tokens beträgt 128, was typische Längenbeschränkungen sind. Wenn ColBERT für echte Daten verwendet wird, wird daher die Länge, die das Limit überschreitet, abgeschnitten, was für den Abruf langer Dokumente nicht geeignet ist.

Basierend auf den oben genannten Problemen stellt die native Open-Source-KI-Datenbank Infinity den Tensor-Datentyp in der neuesten Version bereit und stellt nativ die End-to-End-ColBERT-Lösung bereit. Wenn Tensor als Datentyp verwendet wird, können mehrere durch ColBERT-Codierung ausgegebene Vektoren direkt in einem Tensor gespeichert werden, sodass die Ähnlichkeit zwischen Tensoren direkt den MaxSim-Score ableiten kann. Als Reaktion auf das Problem der großen Anzahl an Berechnungen von MaxSim hat Infinity zwei Lösungen zur Optimierung bereitgestellt: Eine davon ist die binäre Quantisierung, die den Raum des ursprünglichen Tensors auf nur 1/32 der ursprünglichen Größe bringen kann, die relative Reihenfolge jedoch nicht ändert Ergebnis der MaxSim-Berechnungen. Diese Lösung wird hauptsächlich für Reranker verwendet, da der entsprechende Tensor basierend auf den Ergebnissen der vorherigen Stufe des Grobscreenings extrahiert werden muss. Der andere ist Tensor Index. Es handelt sich tatsächlich um die vom Autor von ColBERT Infinity eingeführte Tensor-Index-Implementierung, die als Verbesserung von ColBERT v2 angesehen werden kann, hauptsächlich durch Quantisierungs- und Vorfilterungstechnologie Es werden Anweisungen zu wichtigen Vorgängen eingeführt, um die Umsetzung zu beschleunigen. Der Tensor-Index kann nur für Ranker und nicht für Reranker verwendet werden. Darüber hinaus führt Infinity für lange Texte, die das Token-Limit überschreiten, den Tensor-Array-Typ ein:

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

Ein Dokument, das das ColBERT-Limit überschreitet, wird in mehrere Absätze unterteilt und nach dem Codieren bzw. Generieren von Tensoren gespeichert mit dem Originaldokument. Bei der Berechnung von MaxSim werden die Abfrage und diese Absätze separat berechnet, und dann wird der Maximalwert als Bewertung des gesamten Dokuments verwendet. Wie in der folgenden Abbildung dargestellt:

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

Daher kann mit Infinity ein verzögertes Interaktionsmodell durchgängig eingeführt werden, um RAG mit hoher Qualität zu bedienen. Sollte ColBERT also als Ranker oder Reranker verwendet werden? Im Folgenden verwenden wir Infinity, um eine Auswertung realer Datensätze durchzuführen. Da die neueste Version von Infinity die umfassendste hybride Suchlösung in der Geschichte implementiert, umfassen die Rückrufmethoden die Vektorsuche, die Volltextsuche, die spärliche Vektorsuche, den oben erwähnten Tensor und jede Kombination dieser Methoden und bieten eine Vielzahl von Reranker-Methoden , wie RRF und ColBERT Reranker, daher beziehen wir verschiedene Kombinationen aus Hybridsuche und Reranker in die Überprüfung ein.

Zur Auswertung nutzen wir den MLDR-Datensatz. MLDR ist ein Benchmark-Set, das von MTEB [Referenz 5] zur Bewertung der Qualität von Einbettungsmodellen verwendet wird. MLDR ist einer der Datensätze, der als Multi Long Document Retrieval bezeichnet wird und insgesamt 200.000 Langtextdaten enthält. Die Evaluierung verwendet BGE-M3 [Referenz 6] als Einbettungsmodell und Jina-ColBERT [Referenz 7] zur Generierung von Tensor. Das Evaluierungsskript wird auch im Infinity-Warehouse platziert [Referenz 8].

Bewertung 1: Ist ColBERT als Reranker wirksam? Verwenden Sie BGE-M3, um dichte Vektoren und dünn besetzte Vektoren aus 200.000 MLDR-Daten zu generieren und diese in die Infinity-Datenbank einzufügen. Die Datenbank enthält 4 Spalten, in denen jeweils Originaltext, Vektoren, dünn besetzte Vektoren und Tensoren gespeichert werden und entsprechende Volltexte erstellt werden. Textindizes. Vektorindex, spärlicher Vektorindex. Die Bewertung umfasst alle Rückrufkombinationen, einschließlich Einkanal-Rückruf, Zweikanal-Rückruf und Dreikanal-Rückruf, wie unten gezeigt:

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

Der Bewertungsindex verwendet nDCG@10. Weitere Parameter: Bei Verwendung von RRF Reranker beträgt die durch grobe Filterung zurückgegebene Top N = 1000, die Gesamtzahl der Abfragen beträgt 800 und die durchschnittliche Abfragelänge beträgt etwa 10 Token.

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

Wie Sie der Abbildung entnehmen können, haben alle Rückruflösungen nach der Verwendung von ColBERT Reranker deutlich bessere Ergebnisse erzielt. ColBERT, ein verzögertes Interaktionsmodell, bietet eine Ranking-Qualität, die mit denen an der Spitze der Reranker-Bestenlisten von MTEB vergleichbar ist, jedoch mit der 100-fachen Leistung, sodass ein Reranking in einem viel größeren Maßstab durchgeführt werden kann. Die in der Abbildung gezeigten Ergebnisse basieren auf dem Top 100-Reranker, und die Top 1000 werden für das ColBERT-Reranking verwendet. Der Wert ändert sich nicht wesentlich und die Leistung sinkt erheblich, daher wird dies nicht empfohlen. Traditionell kommt es bei der Verwendung eines externen Rerankers auf Basis von Cross Encoder zu einer Verzögerung der zweiten Ebene in den Top 10. Infinity implementiert jedoch den leistungsstarken ColBERT Reranker intern. Auch wenn die Top 100 oder sogar die Top 1000 neu angeordnet werden. Das Benutzererlebnis wird jedoch nicht beeinträchtigt, der Erinnerungsbereich wird jedoch erheblich erhöht, sodass der endgültige Ranking-Effekt erheblich verbessert werden kann. Darüber hinaus muss diese ColBERT-Reranker-Berechnung nur auf einer reinen CPU-Architektur ausgeführt werden, was auch die Bereitstellungskosten erheblich senkt.

Bewertung 2: Der Vergleich basiert auf ColBERT als Ranker und nicht als Reranker. Daher ist es notwendig, einen Tensor-Index für die Tensor-Datenspalte zu erstellen. Gleichzeitig wurde auch eine Brute-Force-Suche durchgeführt, um den durch den Tensor-Index verursachten Genauigkeitsverlust zu bewerten.

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

Es ist ersichtlich, dass es im Vergleich zu Reranker selbst bei Verwendung einer Brute-Force-Suche ohne Genauigkeitsverlust keine signifikante Verbesserung gibt und die Sortierqualität basierend auf dem Tensor-Index sogar noch geringer ist als bei Verwendung von Reranker. Allerdings ist die Abfragezeit als Ranker viel langsamer: Der MLDR-Datensatz enthält 200.000 Dokumentdaten, was etwa 2 GB entspricht. Nach der Konvertierung in Tensor-Daten sind es bis zu 320 GB Der Datentyp ist ein Dokument, das jedem Token des Dokuments entspricht. Die Dimension des ColBERT-Modells beträgt 128 Dimensionen, sodass sich das Standarddatenvolumen um zwei Größenordnungen erweitert. Es dauert durchschnittlich 7 Sekunden, so viele Daten abzufragen. Gibt eine Abfrage zurück, liefert aber keine besseren Ergebnisse.

Es ist also klar, dass ColBERT als Reranker viel profitabler ist als als Ranker. Die derzeit beste RAG-Retrieval-Lösung basiert auf einer 3-Wege-Hybridsuche (Volltextsuche + Vektor + Sparse-Vektor) plus ColBERT Reranker. Einige Partner fragen sich möglicherweise, dass für die Verwendung von ColBERT Reranker eine separate Tensor-Spalte hinzugefügt werden muss und die Spalte im Vergleich zum ursprünglichen Datensatz um zwei Größenordnungen erweitert wird. Erstens: Infinity bietet eine binäre Quantisierungsmethode für Tensor. Als Reranker hat sie keinen großen Einfluss auf die Sortierergebnisse, kann aber dazu führen, dass die endgültigen Daten nur 1/32 der ursprünglichen Tensorgröße betragen. Zweitens werden einige Leute dennoch denken, dass dieser Aufwand zu hoch ist. Aus Anwendersicht lohnt es sich jedoch immer noch, mehr Speicher zu nutzen, um im Gegenzug eine höhere Sortierqualität und günstigere Kosten zu erhalten (der Sortiervorgang erfordert keine GPU). Abschließend glaube ich, dass bald ein Late-Interaction-Modell mit leicht reduzierter Leistung, aber stark reduziertem Speicheraufwand eingeführt wird. Da es sich um eine Dateninfrastruktur handelt, ist es für diese Änderungen transparent und es ist eine kluge Entscheidung, diese Kompromisse an die Benutzer weiterzugeben.

Das Obige basiert auf der Multi-Way-Recall-Bewertung von Infinity für den MLDR-Datensatz. Die Bewertungsergebnisse für andere Datensätze können unterschiedlich sein, aber die allgemeine Schlussfolgerung wird sich nicht ändern – 3-Wege-Hybridsuche + Tensor-basierte Neuordnung derzeit die Recall-Methode mit den qualitativ hochwertigsten Suchergebnissen.

Es ist ersichtlich, dass ColBERT und sein verzögertes Interaktionsmodell in RAG-Szenarien einen großen Anwendungswert haben. In letzter Zeit wurden verzögerte Interaktionsmodelle auch in multimodalen Szenarien verwendet. Dies ist ColPali [Referenz 9], das den RAG-Workflow ändert, wie unten gezeigt:

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

RAG Bei Dokumenten mit komplexem Format verwendet das aktuelle SOTA ein Dokumenterkennungsmodell, um das Layout des Dokuments zu identifizieren, und ruft dann das entsprechende Modell für die identifizierten Teilstrukturen wie Diagramme, Bilder usw. auf, um sie zu konvertieren Der entsprechende Text wird dann in verschiedenen Formaten in der RAG-unterstützenden Datenbank gespeichert. ColPali eliminiert diese Schritte und verwendet direkt multimodale Modelle, um Einbettungsinhalte zu generieren. Wenn Sie Fragen stellen, können Sie diese direkt anhand der Diagramme im Dokument beantworten:

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

Das Training des ColPali-Modells ähnelt dem von ColBERT und verwendet außerdem die Form von Abfrage-Dokumentseitenpaaren, um die Semantik zwischen Abfragen zu erfassen und dokumentieren Sie multimodale Daten. Verwenden Sie einfach PaliGemma [Referenz 10], um multimodale Einbettungen zu generieren. Im Vergleich zu BiPali, das nicht den Late Interaction-Mechanismus verwendet, sondern auch PaliGemma zum Generieren von Einbettungen verwendet, beträgt der Bewertungsindex-Vergleich in nDCG@5 81,3 vs. 58,8. Diese Lücke ist der Unterschied zwischen „ausgezeichnet“ und „funktioniert überhaupt nicht“.

遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?

Daher hat die Anwendung des Late Interaction-Modells in RAG, obwohl es schon 4 Jahre her ist, gerade erst begonnen. Es wird definitiv die Nutzungsszenarien von RAG erweitern und komplexe RAG-Szenarien einschließlich Multimodalität bereitstellen. Qualitätssemantischer Rückruf. Infinity ist bereits bereit für seine End-to-End-Anwendung. Seien Sie herzlich willkommen bei Star Infinity, https://github.com/infiniflow/infinity, und setzen Sie sich dafür ein, die beste native KI-Datenbank zu werden! ?? iv :2112.01488, 2021. Effizienter Multi-Vektor-Dense-Retrieval mit Bit-Vektoren, ECIR 2024 /BAAI/bge-m3

7. https://huggingface.co /jinaai/jina-colbert-v1-en

8 /tree/main/python/benchmark/mldr_benchmark

9. ColPali: Effizienter Dokumentenabruf mit Vision Language Models, arXiv:2407.01449, 2024.

10. google-research/big_vision/tree/main/big_vision/configs/proj/paligemma

以上が遅延相互作用モデルが次世代 RAG の標準であるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。