AI Personal Learning
und praktische Anleitung
Sitzsack Marscode1

CoRAG: Dynamische verkettete RAG-Modellierung mit MCTS (Monte Carlo Trees)

-1

 

Zusammenfassung der wichtigsten Beiträge von CORAG

CORAG (Kostenbeschränkung) Abruf Optimisation for Retrieval-Augmented Generation) ist ein innovatives Retrieval Augmented Generation (RAG) System, das entwickelt wurde, um die bestehenden RAG Die wichtigsten Herausforderungen in der Methodik. Im Folgenden werden die wichtigsten Beiträge von CORAG aufgeführt:

  1. Umfassende Berücksichtigung von blockübergreifenden Zusammenhängen::
    • InnovationsstelleCORAG ist der erste Rahmen, der die Optimierung der Reihenfolge von Blockkombinationen in der RAG-Aufgabe einführt. Im Gegensatz zu traditionellen Ansätzen behandelt CORAG nicht mehr jeden Textblock unabhängig oder betrachtet Blöcke nur auf der Clusterebene, sondern verwendet die Monte-Carlo-Baumsuche (MCTS) um sequentiell nach der optimalen Reihenfolge der Blockkombinationen zu suchen. Dieser Ansatz erfasst die komplexen Zusammenhänge zwischen den Blöcken vollständig, vermeidet redundante Informationen und gewährleistet, dass die ausgewählten Blockkombinationen die Benutzeranfrage vollständig beantworten.
    • SchneidkanteAuf diese Weise ist CORAG in der Lage, genauere und sachdienlichere Antworten zu geben und die Qualität der Generierung zu verbessern.
  2. Lösung des Problems der Nichtmonotonie des Blocknutzens::
    • InnovationsstelleCORAG wird Budgetbeschränkung in den Optimierungsprozess des Blockportfolios integriert, anstatt die Erschöpfung des Budgets als Abbruchbedingung zu betrachten. Dieser Ansatz berücksichtigt den Blocknutzen von Nichtmonotonied.h. das Hinzufügen weiterer Blöcke verbessert nicht immer die Qualität des Endergebnisses.
    • SchneidkanteDurch die dynamische Anpassung der Budgetverwendung während des Optimierungsprozesses ist CORAG in der Lage, die übermäßige Einbeziehung irrelevanter oder redundanter Blöcke zu vermeiden und so die Genauigkeit und Relevanz der generierten Antworten zu verbessern.
  3. Anpassung an unterschiedliche Anfragebereiche::
    • InnovationsstelleCORAG hat eine Konfigurieren des AgentenDer Agent verwendet die Vergleichendes Lernen zur dynamischen Anpassung der MCTS-Konfiguration an verschiedene Abfragebereiche. Der Agent empfiehlt die optimale Rearranger-Modell im Gesang antworten MCTS-Konfiguration.
    • SchneidkanteDieser Ansatz gibt CORAG die Flexibilität, eine breite Palette von Abfragetypen zu bearbeiten, von einfachen Schlüsselwortabfragen bis hin zu komplexen logischen Problemen, und gewährleistet qualitativ hochwertige Antworten in einer Vielzahl von Anwendungsszenarien.
  4. Effiziente und skalierbare Suchstrategien::
    • InnovationsstelleCORAG verwendet MCTS für die Knotensuche mit dem Parallelausbauverfahren Beschleunigt den Suchprozess. Dieser Ansatz reduziert den exponentiellen Suchraum auf einen linearen und gleicht effektiv die Erkundungen im Gesang antworten nutzen..
    • SchneidkanteCORAG ist in der Lage, große Datenmengen zu verarbeiten und dabei eine effiziente Suche zu gewährleisten und ein Gleichgewicht zwischen Rechenkosten und Suchqualität herzustellen.
  5. Signifikante Leistungssteigerung::
    • experimenteller NachweisExperimentelle Ergebnisse zeigen, dass CORAG die bestehenden Basismethoden in mehreren Benchmark-Datensätzen übertrifft und die ROUGE-Bewertungen um etwa 30%. CORAG zeichnet sich auch durch seine Effizienz aus und liefert qualitativ hochwertige Antworten innerhalb eines engen Kostenrahmens.

CORAG Workflow Beispiel

Um dem Leser ein schnelles Verständnis der Funktionsweise von CORAG zu ermöglichen, ist im Folgenden ein vollständiges Workflow-Beispiel aufgeführt, das zeigt, wie CORAG eine Benutzeranfrage verarbeitet und die endgültige Antwort erzeugt. Jeder Schritt enthält Eingaben und Ausgaben, um das Hin und Her des Arbeitsablaufs darzustellen.

Schritt 1: Eingabe der Benutzeranfrage

  • EinfuhrEin Benutzer stellt eine Anfrage in natürlicher Sprache an das CORAG-System, zum Beispiel:
    "Erkläre den Prozess der Photosynthese und nenne die Faktoren, die seine Effizienz beeinflussen.
    
  • Ausfuhren: Die Abfrage wird an den Modul zur Einbettung von Abfragen Verarbeitung.

Schritt 2: Generierung der Abfrageeinbettung

  • Einfuhr: Text der Benutzeranfrage.
  • behandeln: Verwendung von vortrainierten Modelle einbetten(z.B. BGE-M3) wandelt den Abfragetext in eine Vektordarstellung um.
  • AusfuhrenAbfrage des Einbettungsvektors (z. B. ein 1024-dimensionaler Vektor).
    Abfrage Einbettung: [0.123, -0.456, 0.789, ... , -0.012]
    

Schritt 3: Konfigurieren der Agentenvorhersage

  • Einfuhr: Einbettungsvektor der Anfrage [0.123, -0.456, 0.789, ..., -0.012].
  • behandeln::
    1. Merkmalsextraktion: Der Einbettungsvektor wird in den Konfigurieren des Agenten (in Form eines Nominalausdrucks) Kodierungsnetz Die Merkmalsextraktion erfolgt in der
    2. Rearranger-VorhersageKodierte Netzausgangsvorhersage der optimalen Rearranger-ModellZum Beispiel bge-reranker-large.
    3. MCTS-KonfigurationsprognoseGleichzeitig prognostiziert das Kodierungsnetz das optimale MCTS Konfigurationsparameterwie die Anzahl der Iterationen, den Kostenfaktor und den Explorationsfaktor.
  • Ausfuhren::
    • Optimales Umlagerungsmodell::bge-reranker-large
    • MCTS-Konfigurationsparameter::
      • Anzahl der Iterationen:: 15
      • Kostenfaktor: 0.2
      • Explorationsfaktor: 2.5
    Optimaler Reranker: bge-reranker-large
    MCTS-Konfiguration.
    - Iterationen: 15
    - Kosten-Koeffizient: 0.2
    - Explorations-Koeffizient: 2.5
    

Schritt 4: Potenzielle Textbausteine abrufen

  • Einfuhr::
    • Abfrage Einbettungsvektor [0.123, -0.456, 0.789, ..., -0.012].
    • Vektordatenbank(z. B. mit vorsegmentierten Textblöcken und ihren Einbettungsvektoren).
  • behandeln: Verwenden Sie den Query Embedding Vektor für Ähnlichkeitssuchedie relevantesten potenziellen Textblöcke aus der Vektordatenbank abrufen. Im Folgenden sind Beispiele für die ersten fünf abgerufenen Textblöcke aufgeführt:Textblock 1::
    Fotosynthese ist der Prozess, bei dem Pflanzen, Algen und einige Bakterien Lichtenergie nutzen, um Kohlendioxid und Wasser in Glukose und Sauerstoff umzuwandeln.
    

    Textblock 2::

    Die Photosynthese findet hauptsächlich in den Chloroplasten der Pflanzenblätter statt und gliedert sich in zwei Phasen: die Lichtreaktion und die Kohlenstoffreaktion.
    

    Textblock 3::

    Zu den Faktoren, die die Effizienz der Photosynthese beeinflussen, gehören Lichtintensität, Kohlendioxidkonzentration, Temperatur und Wasserverfügbarkeit.
    

    Textblock 4::

    Die Wirkung der Lichtintensität auf die Photosynthese ist positiv korreliert, aber zu viel Licht führt zu dem Phänomen der Photoinhibition, die die Effizienz der Photosynthese verringert.
    

    Textblock 5::

    Kohlendioxid ist einer der Ausgangsstoffe für die Photosynthese, und seine Konzentration wirkt sich direkt auf die Photosyntheserate aus.
    
  • AusfuhrenListe der potenziellen Textblöcke und ihrer Einbettungsvektoren.
    Abgerufene Chunks.
    - Chunk 1: "Photosynthese ist der Prozess, bei dem Pflanzen, Algen und einige Bakterien Lichtenergie nutzen, um Kohlendioxid und Wasser in Glukose und Sauerstoff umzuwandeln."
    - Chunk 2: "Die Photosynthese findet hauptsächlich in den Chloroplasten der Pflanzenblätter statt und gliedert sich in zwei Stufen: die Lichtreaktion und die Kohlenstoffreaktion."
    - Chunk 3: "Zu den Faktoren, die die Effizienz der Photosynthese beeinflussen, gehören Lichtintensität, Kohlendioxidkonzentration, Temperatur und Wasserverfügbarkeit."
    - Chunk 4: "Die Wirkung der Lichtintensität auf die Photosynthese ist positiv korreliert, aber zu viel Licht führt zu dem Phänomen der Photoinhibition, die die Effizienz der Photosynthese verringert."
    - Chunk 5: "Kohlendioxid ist einer der Rohstoffe für die Photosynthese und seine Konzentration wirkt sich direkt auf die Photosyntheserate aus."
    

Schritt 5: MCTS-Baumsuche

  • Einfuhr::
    • Liste der möglichen Textbausteine::
      • Chunk 1: ...
      • Chunk 2: ...
      • Chunk 3: ...
      • Chunk 4: ...
      • Chunk 5: ...
    • MCTS-Konfigurationsparameter::
      • Anzahl der Iterationen:: 15
      • Kostenfaktor: 0.2
      • Explorationsfaktor: 2.5
    • Rearranger-Modell::bge-reranker-large
  • behandeln::
    1. Initialisierung des WurzelknotensDer Wurzelknoten stellt einen leeren Zustand dar, in dem kein Textblock ausgewählt ist.
    2. Iterative Erweiterung::
      • Option: Verwendung UCB-Algorithmus Wählen Sie den Knoten mit dem höchsten aktuellen Nutzen. Zum Beispiel wird Chunk 3 für die erste Iteration ausgewählt, weil er die höchste Relevanz für die Abfrage hat.
      • ErweiterungenGenerieren Sie alle möglichen untergeordneten Knoten (neue Kombinationen von Textabschnitten). Zum Beispiel könnten die Kinder von Chunk 3 Chunk 1, Chunk 2, Chunk 4 und Chunk 5 sein.
      • Bewertung: Verwendung Rearranger-Modell bge-reranker-large Bewerten Sie den Nutzen aller neuen Kombinationen parallel. Bewerten Sie z. B. den Nutzen von Kombinationen wie "Stück 3 + Stück 1", "Stück 3 + Stück 2" usw.
      • UpdateAktualisieren Sie die Node Utility und die Zugriffszahlen und verbreiten Sie die Aktualisierungen nach oben.
    3. iterierenWiederholen Sie die Schritte Auswahl, Expansion, Bewertung und Aktualisierung, bis die maximale Anzahl von Iterationen (15) erreicht ist.
    4. Bedingungen für die BeendigungMaximale Anzahl von Iterationen erreicht.
  • Ausfuhren: Optimale Reihenfolge der Kombination von Textblöcken.
    Optimale Chunk-Kombination.
    - Chunk 3: "Zu den Faktoren, die die Effizienz der Photosynthese beeinflussen, gehören Lichtintensität, Kohlendioxidkonzentration, Temperatur und Wasserverfügbarkeit."
    - Chunk 1: "Photosynthese ist der Prozess, bei dem Pflanzen, Algen und einige Bakterien Lichtenergie nutzen, um Kohlendioxid und Wasser in Glukose und Sauerstoff umzuwandeln."
    - Chunk 2: "Die Photosynthese findet hauptsächlich in den Chloroplasten der Pflanzenblätter statt und ist in zwei Phasen unterteilt: die Lichtreaktion und die Kohlenstoffreaktion."
    

    zur Kenntnis nehmenWährend des MCTS-Prozesses passt CORAG die Kombinationsreihenfolge dynamisch entsprechend dem Nutzen an und wählt schließlich die optimale Kombinationsreihenfolge aus.

Schritt 6: Generierung der endgültigen Antwort

  • Einfuhr::
    • Optimale Reihenfolge der Kombination von Textblöcken::
      • Chunk 3: "Zu den Faktoren, die die photosynthetische Effizienz beeinflussen, gehören Lichtintensität, Kohlendioxidkonzentration, Temperatur und Wasserverfügbarkeit."
      • Chunk 1: "Fotosynthese ist der Prozess, bei dem Pflanzen, Algen und einige Bakterien Lichtenergie nutzen, um Kohlendioxid und Wasser in Glukose und Sauerstoff umzuwandeln."
      • Chunk 2: "Die Photosynthese findet hauptsächlich in den Chloroplasten der Pflanzenblätter statt und ist in zwei Phasen unterteilt: die Lichtreaktion und die Kohlenstoffreaktion."
    • BenutzeranfrageErläutern Sie den Prozess der Photosynthese und nennen Sie die Faktoren, die seine Effizienz beeinflussen.
  • behandeln::
    1. Tipps zum AufbauKombination der optimalen Reihenfolge der Kombination von Textblöcken mit Benutzeranfragen zur Erstellung der LLM der Eingabeaufforderung. Beispiel:
      User Query : Erklären Sie den Prozess der Photosynthese und nennen Sie die Faktoren, die seine Effizienz beeinflussen.
      Verwandte Informationen:
      1. Zu den Faktoren, die die Effizienz der Photosynthese beeinflussen, gehören Lichtintensität, Kohlendioxidkonzentration, Temperatur und Wasserverfügbarkeit.
      2. die Photosynthese ist der Prozess, bei dem Pflanzen, Algen und einige Bakterien Lichtenergie nutzen, um Kohlendioxid und Wasser in Glukose und Sauerstoff umzuwandeln.
      3. die Photosynthese findet hauptsächlich in den Chloroplasten der Pflanzenblätter statt und gliedert sich in zwei Phasen: die Lichtreaktion und die Kohlenstoffreaktion.
      
    2. Generierung einer Antwort: Verwendung LLM(z.B. Llama3) Erstellen Sie eine endgültige Antwort auf die Aufforderung.
  • AusfuhrenDie endgültige Antwort in natürlicher Sprache.
    Abschließende Antwort.
    "Die Photosynthese ist der Prozess, bei dem Pflanzen, Algen und einige Bakterien Lichtenergie nutzen, um Kohlendioxid und Wasser in Glukose und Sauerstoff umzuwandeln. Sie findet hauptsächlich in den Chloroplasten der Pflanzenblätter statt und ist in zwei Phasen unterteilt: die Lichtreaktion und die Kohlenstoffreaktion. Zu den Faktoren, die die Effizienz der Photosynthese beeinflussen, gehören Lichtintensität, Kohlendioxidkonzentration, Temperatur und Wasserverfügbarkeit.
    

Schritt 7: Antwortausgabe

  • EinfuhrDie endgültige Antwort in natürlicher Sprache.
  • behandelnAntwort: Präsentieren Sie dem Benutzer die Antwort.
  • AusfuhrenDie Benutzeroberfläche zeigt das Ergebnis der Antwort an.

Zusammenfassungen

Anhand des obigen Workflow-Beispiels lässt sich das Arbeitsprinzip von CORAG in den folgenden Schritten zusammenfassen:

  1. Generierung von AbfrageeinbettungenKonvertierung einer Benutzeranfrage in eine Vektordarstellung.
  2. Konfigurieren der AgentenvorhersageVorhersage des optimalen Rearranger-Modells und der MCTS-Konfigurationsparameter.
  3. Potenzielle Textbausteine abrufenAbrufen des wichtigsten Textblocks aus der Vektordatenbank.
  4. MCTS-BaumsucheMCTS: Verwenden Sie MCTS, um die optimale Reihenfolge für die Kombination von Textblöcken zu finden.
  5. Endgültige Antwort generierenLLM verwenden, um die endgültige Antwort auf der Grundlage der optimalen Kombination von Textblöcken zu erstellen.
  6. AntwortausgabeAntwort: Präsentieren Sie dem Benutzer die Antwort.

Diese Schritte zeigen, wie CORAG die drei Phasen des Abrufs, der Anreicherung und der Generierung effektiv kombiniert, um hochwertige natürlichsprachliche Antworten zu liefern. Anhand von detaillierten Datenbeispielen können die Leser ein besseres Verständnis für den Datenverarbeitungsprozess von CORAG und seine Funktionsweise gewinnen.



Originaltext:: https://arxiv.org/pdf/2411.00744

BildunterschriftCORAG: Ein Retrieval-Optimierungssystem mit Kostenbeschränkungen für die Generierung von Retrieval-Verbesserungen

AutorZiting Wang, Haitao Yuan, Wei Dong (Nanyang Technological University), Gao Cong (Nanyang Technological University), Feifei Li (Alibaba Group)

Abstracts

Große Sprachmodelle (Large Language Models, LLMs) haben bei generativen Aufgaben hervorragende Fähigkeiten bewiesen, aber es ist oft schwierig, auf aktuelle Informationen zuzugreifen, was zu Ernüchterung führen kann. Retrieval-enhanced generation (RAG) geht dieses Problem an, indem Wissen aus externen Datenbanken integriert wird, um genauere und relevantere Antworten zu erhalten. Aufgrund der Beschränkung des Kontextfensters von LLMs ist es unpraktisch, den gesamten externen Datenbankkontext direkt in das Modell einzugeben. Stattdessen werden nur die relevantesten Informationen, d. h. "Chunks" (Teile), selektiv abgerufen. Die derzeitige RAG-Forschung steht jedoch vor drei zentralen Herausforderungen. Erstens wählen die vorhandenen Lösungen in der Regel jeden Chunk unabhängig voneinander aus und ignorieren die potenziellen Zusammenhänge zwischen ihnen. Zweitens ist der Nutzen von Chunks in der Praxis "nicht monoton", was bedeutet, dass das Hinzufügen weiterer Chunks den Gesamtnutzen verringern kann. Herkömmliche Ansätze legen den Schwerpunkt auf die Maximierung der Anzahl der enthaltenen Blöcke, was sich unbeabsichtigt negativ auf die Leistung auswirken kann. Drittens hat jede Art von Benutzeranfrage einzigartige Merkmale, die eine maßgeschneiderte Verarbeitung erfordern, was bei den derzeitigen Lösungen nicht angemessen berücksichtigt wird.

Um diese Herausforderungen zu bewältigen, schlagen wir CORAG vor, ein Optimierungssystem mit Kostenbeschränkungen für die Generierung von Retrieval-Erweiterungen. Wir verwenden eine auf Monte Carlo Tree Search (MCTS) basierende Strategie, um die optimalen Blockkombinationen sequentiell zu finden, und berücksichtigen dabei umfassend die Assoziationen zwischen den Blöcken. Anstatt die Erschöpfung des Budgets als Abbruchbedingung zu betrachten, integrieren wir Budgetbeschränkungen in den Optimierungsprozess der Blockkombinationen, wodurch das Problem der Nicht-Monotonizität des Blocknutzens effektiv gelöst wird. Darüber hinaus sagt unser System durch die Entwicklung von Konfigurationsagenten die optimale Konfiguration für jeden Abfragetyp voraus und verbessert so die Anpassungsfähigkeit und Effizienz. Experimentelle Ergebnisse zeigen, dass unser System eine Leistungsverbesserung von bis zu 301 TP3T gegenüber dem Basismodell aufweist, was die Effektivität, Skalierbarkeit und Anwendbarkeit des Systems für Anwendungen mit langem Kontext unterstreicht.

PVLDB-Referenzformat.

Ziting Wang, Haitao Yuan, Wei Dong, Gao Cong, and Feifei Li. CORAG: A Cost-Constrained Retrieval Optimisation System for Retrieval-Augmented Generation . pvldb, 14(1): xxx-xxx, 2020.
doi:XX.XX/XXX.XX

-1

Abbildung 1: Beispiel für die Reihenfolge der Datenblockkombinationen.

 

1 Einleitung

Obwohl LLMs hervorragende Fähigkeiten bei generativen Aufgaben gezeigt haben, haben sie oft Schwierigkeiten, aktuelle Informationen zu erfassen, was zu Halluzinationen führen kann [10, 38]. Um diese Herausforderungen zu bewältigen, hat sich RAG als eine wichtige Lösung herauskristallisiert. Durch die Integration externer Datenquellen in LLM kann RAG genauere, relevantere und aktuellere Informationen liefern. Heutzutage ist RAG im Zusammenhang mit LLMs ausgiebig untersucht worden, insbesondere bei Aufgaben, die aktualisiertes externes Wissen erfordern, wie z.B. Frage- und Antwortaufgaben [2, 22, 29], medizinisches Information Retrieval [1, 32] und Zeitreihenanalyse [12, 26, 40]. Externe Datenquellen sind in der Regel so groß, dass es unpraktisch ist, sie direkt in das LLM einzuspeisen. Um dieses Problem zu lösen, werden die Daten in der Regel in sich nicht überschneidende Teile partitioniert und in einer Vektordatenbank gespeichert, und dann fragt der Benutzer die nützlichsten Teile ab, um Hinweise für das LLM zu erstellen. Daher ist die Entwicklung effizienter und genauer Suchstrukturen und Algorithmen zum Auffinden der relevantesten Chunks zu einem wichtigen Forschungsthema geworden und wurde in den Bereichen Datenbanken [39, 48] und maschinelles Lernen [2, 35, 43] eingehend untersucht.

Bei den bestehenden Ansätzen gibt es jedoch drei wesentliche Herausforderungen.

Herausforderung 1: Verknüpfungen zwischen Blöcken. Derzeit gibt es zwei Hauptansätze für die Identifizierung der relevantesten Blöcke. Der erste Ansatz formuliert das Problem als eine Approximate k Nearest Neighbours (AKNN)-Aufgabe [41, 45], bei der jedem Block eine Punktzahl zugewiesen wird und die ungefähren Top-k-Blöcke nach Punktzahl geordnet ausgewählt werden. Beim zweiten Ansatz werden Blöcke geclustert und alle Blöcke im relevantesten Cluster als Antwort auf eine Abfrage zurückgegeben [22, 29]. Beide Methoden lassen jedoch potenzielle Assoziationen zwischen Blöcken außer Acht: Die erste Methode ignoriert Assoziationen gänzlich, während die zweite Methode alle Blöcke in jedem Cluster nur oberflächlich berücksichtigt, indem sie sie als gleichermaßen relevant behandelt. Infolgedessen führen diese Methoden zu einer erheblichen Redundanz in den ausgewählten Blöcken, wenn mehrere Blöcke ähnliche oder redundante Informationen enthalten.

Wenn beispielsweise, wie in Abb. 1 gezeigt, die Höhe und die Geschichte des Eiffelturms abgefragt werden, wählt die Greedy-Methode, wenn jeder Block unabhängig behandelt wird, die Blöcke χ3 und χ1 aus, weil sie die ersten beiden höchsten Punktzahlen haben. Diese beiden Blöcke liefern jedoch nur Informationen zur Historie, die nicht ausreichen, um die Anfrage vollständig zu beantworten. Um die Anfrage besser beantworten zu können, ist es notwendig, Blöcke mit dem Namen des Bauherrn einzubeziehen, z. B. χ4. Andererseits wird der Clustering-Ansatz alle χ1, χ2, χ3 und χ4 zurückgeben, was zu Redundanz führt. Die optimale Lösung wird χ3 und χ4 wählen, da sie die erforderlichen Informationen ohne Redundanz liefern. Darüber hinaus haben Studien [11, 19, 42] gezeigt, dass die Reihenfolge der Blöcke die Leistung des LLM beeinflusst, ein Faktor, der von den bestehenden Methoden ebenfalls ignoriert wird. Im Fall des Eiffelturms führt beispielsweise die Wahl der Blöcke χ3 und χ4 dazu, dass die Platzierung von χ4 an der ersten Position eine höhere Punktzahl ergibt als die umgekehrte Reihenfolge. Die Bestimmung der optimalen Reihenfolge der Blockkombinationen ist jedoch eine schwierige Aufgabe, da der Suchraum in beiden Fällen exponentiell mit der Anzahl der verfügbaren Blöcke wächst. In diesem Papier zeigen wir außerdem, dass dieses Problem NP-schwer ist (siehe Abschnitt 2.1).

Herausforderung 2: Nichtmonotonie des Nutzens. Die derzeitige Lösung basiert auf der Annahme, dass die Einbeziehung von mehr Blöcken immer ein besseres Endergebnis ergibt. Insbesondere werden beim AKNN-basierten Ansatz jedes Mal genau k Blöcke deterministisch ausgewählt. Beim clusterbasierten Ansatz wird eine Abstandsschwelle zwischen Clustern und Abfragen festgelegt, und alle Cluster innerhalb dieser Schwelle werden zurückgegeben. Beide geben so viele Blöcke wie möglich zurück. In der Praxis ist der Nutzen von Blöcken jedoch nicht monoton. Insbesondere verwässern zu viele Chunks die Schlüsselinformationen, indem sie kantenbezogene Inhalte hinzufügen und so Rauschen erzeugen, das die Klarheit verringert. Darüber hinaus können Konflikte oder subtile Unterschiede zwischen Blöcken das Modell verwirren und die Qualität der Antwort verringern. Wie in Abbildung 1 zu sehen ist, verringert beispielsweise das Hinzufügen von Block χ1 den Nutzen, wenn χ3 und χ4 ausgewählt werden, was die Tatsache unterstreicht, dass die Nutzenbewertungen in der Praxis typischerweise nicht monoton sind.

Herausforderung 3: Vielfalt der Abfragen. Es gibt verschiedene Arten von Benutzeranfragen, die aufgrund ihrer einzigartigen Eigenschaften jeweils eine andere Rankingstrategie erfordern [47]. In aktuellen RAG-Systemen wird der Nutzwert eines Blocks in der Regel durch das zugewiesene Re-Ranker-Modell bestimmt. Bisher gibt es verschiedene Re-Rankermodelle, aber wir stellen fest, dass ihre Leistung je nach Anfragetyp stark variiert und dass kein einziges festes Re-Rankermodell über alle Anfragetypen hinweg konsistent besser abschneidet als andere (siehe die Experimente in Abschnitt 6.3.4 für weitere Details). Aktuelle Ansätze [20, 46] stützen sich in der Regel auf statische Re-Rankermodelle für das Block-Ranking und sind nicht flexibel genug, um sich an unterschiedliche Abfragekontexte anzupassen.

Problemstellung: Gibt es ein RAG-System, das die Assoziationen zwischen Blöcken und die Nicht-Monotonie von Versorgungsleistungen vollständig berücksichtigt und gleichzeitig alle Arten von Abfragen zulässt?

1.1 Unser Beitrag

In diesem Beitrag beantworten wir diese Frage, indem wir ein neuartiges MCTS-basiertes Policy Tree Framework vorschlagen, um die Blockabfrage in RAG-Systemen zu optimieren. Insgesamt lässt sich unser Beitrag wie folgt zusammenfassen:

- Wir stellen den ersten RAG-Rahmen vor, der die Reihenfolge der Blockkombinationen in einer RAG-Aufgabe berücksichtigt. Anstatt jeden Block unabhängig oder auf einer Clusterebene zu betrachten, verwenden wir MCTS, um die optimale Reihenfolge der Blockkombinationen sequentiell zu finden. Der Grundgedanke ist folgender: Zunächst wird der Wurzelknoten initialisiert. Dann erweitern wir den Baum während der Iterationen, indem wir den Knoten mit dem höchsten Nutzen auswählen und den Nutzen seiner Erweiterungsknoten berechnen. Nach jeder Erweiterung aktualisieren wir den Nutzen im gesamten Policy-Baum. Bei diesem Verfahren hängt die Entscheidung jeder Iteration von den ausgewählten Blöcken ab, so dass wir die Verbindungen zwischen den Blöcken vollständig berücksichtigen können. Darüber hinaus reduziert MCTS den exponentiellen Suchraum auf eine lineare Größe, und wir wenden parallele Expansionstechniken an, um die Recheneffizienz weiter zu steigern. Mit diesem Entwurf lösen wir die Herausforderung 1.
- Im Gegensatz zu früheren RAG-Konzepten, die die Erschöpfung des Budgets als Abbruchbedingung betrachten, schlagen wir eine neuartige Formulierung vor, bei der Budgetbeschränkungen in den Prozess der Optimierung von Blockkombinationen integriert werden, um die Nicht-Monotonie des Blocknutzens vollständig zu berücksichtigen und so Herausforderung 2 zu bewältigen. Rechenkosten.
- Wir schlagen einen auf vergleichendem Lernen basierenden Agenten vor, der die MCTS-Konfiguration dynamisch an die Abfrage anpasst, indem er das Re-Rankermodell und die Konfiguration an den spezifischen Abfragebereich anpasst. Dieser Ansatz bietet Flexibilität und Robustheit für dynamische, domänenspezifische Abfragen und passt sich an Herausforderung 3 an.
- Darüber hinaus haben wir umfassende Experimente durchgeführt, in denen wir unseren Rahmen mit mehreren modernen Methoden verglichen haben. Die Ergebnisse bestätigen die Effektivität, Effizienz und Skalierbarkeit unseres Ansatzes und verbessern die Leistung um 30% im Vergleich zur Basislösung.

 

2 Vorbereitende Kenntnisse

In diesem Abschnitt führen wir zunächst die Definitionen einiger Schlüsselbegriffe ein, wie z. B. Block- und Blockkombinationen in Abschnitt 2.1. Anschließend geben wir einen NP-schweren Beweis für das Optimierungsproblem der Blockreihenfolge. Schließlich diskutieren wir in Abschnitt 2.3 verwandte Arbeiten.

2.1 Schlüsselbegriffe

RAG & Chunks. RAG ist eine effiziente Methode zur Verbesserung der Leistung generativer Modelle, indem relevanter Kontext aus einem externen Korpus abgerufen wird. Bei diesem Ansatz wird das Korpus zunächst in kleinere, besser handhabbare Einheiten, so genannte Blöcke, unterteilt, die in einer Vektordatenbank gespeichert werden. Wir können also eine formale Definition eines Blocks wie folgt geben:

Definition 2.1 (Block). C sei ein Korpus von Dokumenten, und ein Block χ sei definiert als ein zusammenhängender Block von Text, der aus C extrahiert wurde. Formal besteht ein Block χ aus einer Folge von Token (t1, t2, ... , tn), wobei jedes ti ein Token in C ist und die Größe n vom Benutzer festgelegt wird.

In einem RAG-System wird jeder Block in eine Vektordarstellung eingebettet, wobei ein Einbettungsmodell verwendet wird, das die semantische Bedeutung des Blocks erfasst und die Suche nach kontextuell ähnlichen Inhalten ermöglicht. Wenn eine neue Anfrage eingeht, führt die Vektordatenbank eine Ähnlichkeitssuche durch, um die semantisch relevantesten Blöcke für die Anfrage zu identifizieren. Diese abgerufenen Blöcke werden dann an einen Generator (z. B. ein umfangreiches Sprachmodell) weitergeleitet, um eine endgültige Antwort auf der Grundlage des abgerufenen Inhalts zu erzeugen. Je mehr Token ein Block enthält, desto höher sind die Kosten für den Generator. Daher definieren wir die Kosten eines Blocks als cost(χ) = |χ|, was der Anzahl der Token im Block entspricht.

Reihenfolge der Blockkombinationen. In einem RAG-System können die Ergebnisse einer Vektordatenbanksuche mehrere Blöcke enthalten. Aufgrund der Eingabebeschränkungen des generativen Modells ist es jedoch unpraktisch, alle diese Blöcke zu verwenden. Daher ist es notwendig, die optimale Teilmenge von Blöcken, die so genannte Blockkombination, auszuwählen, um ein bestimmtes Kostenbudget einzuhalten. Darüber hinaus hat die Reihenfolge der Blöcke innerhalb der Kombination einen erheblichen Einfluss auf die Leistung des generativen Modells. Ziel ist es, die Reihenfolge der Blockkombinationen mit optimaler Reihenfolge zu ermitteln, die formal wie folgt definiert ist

Definition 2.2 (Optimale Auswahl der Reihenfolge von Blockkombinationen). Sei {χ1, χ2, ... , χk} sei eine Menge potenzieller Blöcke, ℛ sei ein Kostenbudget, Φ = ⟨χφ1, ... , χφm⟩ stellt eine Ordnung möglicher Blockkombinationen dar, wobei jedes χφi ein Block ist und der Index φi seine Position in Φ bezeichnet. U(Φ) sei der vom Re-Ranking-Modell zugewiesene Nutzenwert, der willkürlich oder zusammengesetzt sein kann. Unser Ziel ist es, die Reihenfolge der Kombination von Blöcken zu finden, die die Nutzenwerte unter der Kostenbeschränkung der Einspeisung in LLMs maximiert, um die endgültige Antwort zu erzeugen, d. h. die Suche nach dem

-1

 

2.2 Beweise für die NP-Schwierigkeit

Um zu zeigen, dass die sequentielle Auswahl von Blockkombinationen NP-hart ist, verallgemeinern wir das Maximum Weighted Hypergroup Problem (MWHP) auf sie. Da MWHP NP-hart ist, zeigen wir, dass jede MWHP-Instanz in polynomieller Zeit in eine Blockkombination-Optimierungsinstanz umgewandelt werden kann.

2.2.1 Problemstellung des MWHP

Bei einem Hypergraphen ℋ = (V, E, w1, w2), wobei V die Menge der Scheitelpunkte und E die Menge der Hyperedges ist, enthält jede Hyperedge eine Teilmenge von V. w1: v → ℝ und w2: e → ℝ sind die Gewichtsfunktionen, die jedem Scheitelpunkt bzw. jeder Hyperedge ein Gewicht zuweisen. Bei einer Teilmenge von Scheitelpunkten V' ⊆ V sagt man, dass ein Hyperedge e zu V' gehört, d. h. e ∈ V', wenn V' alle Scheitelpunkte von e abdeckt. Das Ziel ist es, k Scheitelpunkte zu finden und die Summe der Gewichte dieser Scheitelpunkte und der Hyperedges, die sie bedecken, zu maximieren:

-1

2.2.2 Normalisierungsprozess

Wir konstruieren nun eine entsprechende Instanz des Blockkombinationsoptimierungsproblems aus einer gegebenen MWHP-Instanz. Für jeden Knoten v ∈ V erstellen wir einen entsprechenden Block Xv. Wir definieren seine Kosten cost(Xv) ≡ 1. Eine Blockkombinationsreihenfolge Φ entspricht dann einer Teilmenge von Knoten von V, bezeichnet mit V(Φ) ⊆ V. Wir definieren ihren Nutzen als

-1

Schließlich setzen wir B = k und streben an

-1

Verwendung von Φdie Lösung von (4) bezeichnet, dann ist es klar, dass V(Φ) ist eine Lösung von (2) und die Reduktion kann in O(|V|-|E|) Zeit durchgeführt werden.

Man beachte, dass diese Induktion voraussetzt, dass in unserem Optimierungsproblem für die Blockkombination der Re-Ranker beliebig sein kann, was bedeutet, dass auch die Nutzenwerte beliebig zugewiesen werden können. Die Komplexität der Suche nach der optimalen Reihenfolge der Blockkombinationen kann erheblich reduziert werden, wenn bestimmte Annahmen über den Re-Ranker getroffen werden. Wenn der Re-Ranker beispielsweise keine Assoziationen berücksichtigt und die Nutzenwerte der einzelnen Blöcke einfach linear summiert, kann jeder Block unabhängig bewertet werden. In dieser Arbeit befassen wir uns jedoch mit dem allgemeinsten Fall und machen keine Annahmen über das Modell des Re-Rankers.

2.3 Verwandte Arbeiten

2.3.1 Abruf der Erweiterten Generation

RAG [14, 20] ist ein weit verbreitetes Verfahren zur Bewältigung wissensintensiver NLP-Aufgaben. In einem typischen RAG-Prozess sucht ein Dense Embedding-basierter Retriever nach relevanten Informationen aus externen Datenbanken, die dann vom LLM während des Generierungsprozesses verwendet werden. Um diesen Prozess zu verbessern, haben sich mehrere Studien [5, 18, 22, 35] darauf konzentriert, die Retriever so anzupassen, dass sie den Generierungsanforderungen von LLMs besser entsprechen, mehrstufige Retrievalmethoden zu entwickeln und irrelevante Informationen herauszufiltern. Obwohl es viele Retriever auf dem neuesten Stand der Technik gibt [8, 9, 15, 16, 27, 34], ist die gemeinsame Optimierung von Retrievern und LLMs in einem End-to-End-Prozess [25, 31] vielversprechender. Die Forschung [30] konzentriert sich beispielsweise auf das gleichzeitige oder schrittweise Training von Retriever und LLM. Dies erfordert jedoch den Verlust von Agenten für die Optimierung und erschwert den Trainingsprozess, insbesondere wenn eingebettete Datenbanken häufig neu indiziert werden müssen, was hohe Rechenkosten verursacht. Daher zerlegen Ansätze wie [5] komplexe mehrstufige Abfragen in kleinere Unterabfragen, um die Vollständigkeit der Antwort ohne häufige Neuindizierung zu verbessern. Bei diesen Ansätzen wird jedoch in der Regel die entscheidende Rolle der Reihenfolge der Blockkombinationen außer Acht gelassen, die sich erheblich auf die Gesamtqualität der LLM-Antwort auswirken kann. Soweit wir wissen, ist dies der erste Ansatz, der die Reihenfolge von Blockkombinationen in einer RAG-Aufgabe berücksichtigt.

2.3.2 RAG-Neueinstufung

Re-Ranking-Methoden sind unerlässlich, um die Abrufleistung im RAG-Prozess zu verbessern [43, 44, 51].

-2

Abbildung 2: Überblick über die CORAG-Systemarchitektur

 

Traditionelle Re-Ranking-Methoden [33, 50] stützen sich in der Regel auf mittelgroße Sprachmodelle wie BERT oder T5, um die abgerufenen Kontexte zu ordnen. Diese Modelle haben jedoch in der Regel Schwierigkeiten, die semantischen Beziehungen zwischen Anfragen und Kontexten zu erfassen, insbesondere bei Null- oder kleinen Stichproben. Jüngste Forschungsarbeiten [43] haben daher das Potenzial von befehlsangepassten LLMs zur Verbesserung des Re-Rankings von Kontexten hervorgehoben, selbst bei Vorhandensein von verrauschten oder irrelevanten Informationen. Trotz dieser Fortschritte werden die Fähigkeiten der LLM in RAG-Systemen noch nicht ausreichend genutzt. Insbesondere wurde gezeigt, dass das Block-Ranking die Leistung des LLM beeinflusst [19], was die Notwendigkeit unterstreicht, die Reihenfolge der Blockkombinationen in RAG-Aufgaben zu berücksichtigen. Die bestehenden Modelle eignen sich jedoch nicht für Situationen, in denen eine bestimmte Abfolge oder Kombination von Blöcken für einen optimalen Abruf erforderlich ist und nicht nur einzelne Blöcke. Daher müssen künftige Forschungsarbeiten LLM besser nutzen, um die Reihenfolge von Blöcken bei der Beantwortung von Abfragen im Rahmen von RAG effizienter zu gestalten.

2.3.3 Reinforcement Learning für große Sprachmodelle

In letzter Zeit wird Reinforcement Learning (RL) zunehmend für eine Vielzahl von Datenmanagement- und RAG-Aufgaben eingesetzt. RL-Techniken können große Sprachmodelle in die Lage versetzen, ihre generativen Fähigkeiten zu verbessern, indem sie externe Wissensquellen wie Suchmaschinen nutzen [13, 23]. Insbesondere kann menschliches Feedback [4, 36, 37] integriert werden, um den Modellen zu helfen, genauere und kontextuell relevante Antworten durch den RL-Rahmen zu generieren. Darüber hinaus gibt es eine Reihe von Ansätzen zur Optimierung von Abfragen [17, 21, 49], die den Retrievalprozess weiter verbessern, indem sie die Leistung des Modells in die Abstimmung der Abfrage einfließen lassen und letztlich die Ergebnisse für nachgelagerte Aufgaben verbessern. In dieser Arbeit wenden wir eine leichtgewichtige RL-Technik, MCTS, an, um den sequentiellen Suchprozess der Blockkombination in RAG-Systemen zu optimieren. Außerdem führen wir einen Konfigurationsagenten ein, der den MCTS-Suchprozess leitet. Unseres Wissens nach ist dies der erste Ansatz für dieses spezielle Problem.

 

3 Systemübersicht

Wie bereits erwähnt, stehen die bestehenden RAG-Rahmenwerke vor drei zentralen Herausforderungen: die angemessene Berücksichtigung der Assoziationen zwischen Blöcken und der Nicht-Monotonie des sequentiellen Nutzens von Blockkombinationen sowie die Anpassung an unterschiedliche Abfragedomänen. Diese Herausforderungen führen zu einer geringeren Relevanz der Ergebnisse. Um diese Probleme zu lösen, stellen wir CORAG vor, ein System, das entwickelt wurde, um optimale Blockkombinationen zu finden, die sowohl die Abfragedomänen als auch die Budgets der Benutzer berücksichtigen. Als wichtigste Komponente unseres Systems stellen wir das Suchmodell für optimale Blockkombinationen vor. Das Modell verwendet einen MCTS-basierten Policy Tree für die sequentielle Suche nach Blockkombinationen, der es uns ermöglicht, die Assoziationen zwischen den Blöcken (Herausforderung 1) sowie die Nicht-Monotonie des Nutzens der Blockkombinationen (Herausforderung 2) vollständig zu berücksichtigen. Darüber hinaus schlagen wir ein Konfigurationsinferenzmodul vor, das optimale MCTS-Konfigurationen und Re-Ranker für verschiedene Abfragedomänen empfiehlt und damit Herausforderung 3 adressiert. Im Folgenden geben wir eine kurze Beschreibung dieser beiden Module.

Optimale Blockkombinationssuche: Ein einfacher Ansatz zur Berücksichtigung von Blockassoziationen besteht darin, potenzielle Blöcke aus einer Vektordatenbank abzurufen (wie in Schritt 1 gezeigt) und dann alle möglichen Blockkombinationen erschöpfend zu untersuchen. Dieser Ansatz führt jedoch zu erheblichen Latenzzeiten und Rechenkosten. Um dies zu vermeiden, konstruieren wir einen Strategiebaum (siehe Schritt 2), der die Suche nach der optimalen Blockkombination in ein Suchproblem innerhalb des Baums umwandelt. Insbesondere stellt der Wurzelknoten des Strategiebaums einen leeren Ausgangszustand dar, und jeder untergeordnete Knoten entspricht einer bestimmten Kombination von Blöcken. Wenn der Wurzelknoten beispielsweise Kindknoten hat, die die Blöcke χ1 repräsentieren, kann eines seiner Kinder die Kombination χ1+χ2 repräsentieren, während ein anderes χ1+χ3 repräsentieren kann.

Wir entwickeln einen MCTS-basierten Suchalgorithmus, um dieses Problem zu lösen. Im Gegensatz zum traditionellen MCTS wird bei unserem Ansatz in jeder Iteration der Knoten mit dem höchsten Nutzen erweitert, während alle möglichen untergeordneten Knoten bewertet werden. Darüber hinaus berücksichtigen wir während der Suche im Strategiebaum Kosten- und Budgetbeschränkungen. Der Nutzen eines Knotens wird berechnet, indem ein Gleichgewicht zwischen Exploration und Kostenkontrolle hergestellt wird, wodurch Effizienz und Genauigkeit optimiert werden.

Konfiguration Reasoning: Eine einfache Lösung für die Konfigurationsabstimmung wäre es, alle möglichen Konfigurationen oder Re-Ranker aufzuzählen, die Ergebnisse parallel zu berechnen und dann die beste Konfiguration auszuwählen. Dies würde jedoch zu unrealistischen Kosten für das RAG-System führen. Zur Optimierung der Konfigurationen (d.h. der Anzahl der Iterationen, des Kostenfaktors und des Explorationsfaktors) für den Policy-Tree-Suchprozess führen wir einen Konfigurationsagenten ein, der dynamisch Konfigurationen auf der Grundlage der Abfragedomäne erzeugt. Um die Effektivität des Modells zu gewährleisten, verwenden wir einen komparativen Lernansatz mit positiv und negativ markierten Paaren: positive Markierungen entsprechen Abfrageeinbettungen desselben besten Re-Rankers, während negative Markierungen von einem anderen besten Re-Ranker stammen. Die gemeinsame Verlustfunktion wird zur gleichzeitigen Optimierung der Regression (für die Parametereinstellung) und des Kontrastlernens (zur Verbesserung der Label-Diskriminierung) verwendet.

Zusammenfassung. Der Ablauf unseres Systems ist in Abbildung 2 dargestellt. Wir generieren zunächst Einbettungen für die Eingabeabfrage und verwenden sie dann, um potenzielle Blöcke aus der Vektordatenbank abzurufen. Diese Abfrageeinbettungen werden auch in einen Konfigurationsagenten eingespeist, der dynamisch eine optimale MCTS-Konfiguration auf der Grundlage des Abfragefelds erzeugt. Mit dieser optimalen Konfiguration können wir den Policy-Baum durchsuchen, um die optimale Blockkombination und -reihenfolge aus den abgerufenen potenziellen Blöcken zu ermitteln. Schließlich wird diese optimale Blockkombination verwendet, um die endgültigen Hinweise für die LLMs zu erstellen.

 

4 Suche nach Blockkombinationen

Wie bereits erwähnt, hat die Reihenfolge der Blockkombinationen einen erheblichen Einfluss auf die Effizienz der Hinweiskonstruktion für LLMs. Aufgrund der großen Anzahl möglicher Kombinationen, insbesondere bei einer großen Anzahl von Blöcken, ist es nicht möglich, alle möglichen Blockkombinationen aufzuzählen. In diesem Abschnitt schlagen wir einen neuen Ansatz vor, der ein gutes Gleichgewicht zwischen Effizienz und Genauigkeit bei der Suche nach der optimalen Reihenfolge der Blockkombinationen erreicht. In Abschnitt 4.1 modellieren wir das Problem als Suche nach optimalen Knoten in einem Policy-Baum (Abschnitt 4.1). Anschließend schlagen wir einen MCTS-basierten Algorithmus zur Lösung dieses Knotensuchproblems vor (Abschnitt 4.2).

4.1 Modellierung der Strategiebaumsuche

Um die optimale kombinatorische Ordnung zu finden, muss zunächst eine Datenstruktur gefunden werden, die alle möglichen kombinatorischen Ordnungen effizient aufzählen kann. Eine natürliche Wahl ist ein Baum, in dem wir durch Traversieren von der Wurzel zu den Blattknoten alle möglichen Antworten erkunden können.

Strategie-Baum. Wie in Abb. 3 dargestellt, konstruieren wir einen Strategiebaum, um die Reihenfolge aller möglichen Blockkombinationen aus der Vektordatenbank darzustellen. Der Wurzelknoten symbolisiert den Ausgangszustand ohne Blöcke, und jeder nachfolgende Knoten stellt einen aus den möglichen Blöcken ausgewählten Block dar. Die untergeordneten Knoten werden also aus ihren übergeordneten Knoten erzeugt, indem der nächste verfügbare Block aus der Warteschlange der potenziellen Blöcke ausgewählt und in die vom Vorgängerknoten festgelegte Reihenfolge eingefügt wird. Wenn ein Knoten beispielsweise die Blockkombinationsfolge {χ1} darstellt, kann ein untergeordneter Knoten nachfolgende Kombinationsfolgen wie {χ1, χ2}, {χ1, χ3} oder {χ1, χ4} enthalten. Daher definieren wir den Strategiebaum formal wie folgt:

Definition 4.1 (Strategiebaum). Bei einer Anfrage q und einer Menge potenzieller Blöcke {χ1, χ2, ... , χn}, konstruieren wir einen Policy-Baum T. Der Wurzelknoten von T stellt den Anfangszustand ohne Blöcke dar. Jeder nachfolgende Nicht-Wurzelknoten enthält einen Satz von Blöcken, indem die neu ausgewählten Blöcke aus den verbleibenden potenziellen Blöcken in die Sequenz seiner Elternknoten eingefügt werden. Durch diesen Prozess wird nacheinander eine geordnete Kombination von Blöcken in jedem Nicht-Wurzelknoten konstruiert, und wir versuchen, den Knoten mit dem höchsten Nutzenwert zu finden.

In einem Strategiebaum ist es unser Ziel, einen Knoten auszuwählen, der geordnete Blöcke enthält, die den maximalen Nutzen bei minimalen Kosten bieten. Um dies zu erreichen, müssen wir eine Funktion zur Berechnung des Nutzens entwickeln, um den Kompromiss zwischen Nutzen und Kosten zu bewerten. Diese Funktion wird durch den "Knotennutzen" quantifiziert, den wir im Folgenden beschreiben.

Nodaler Nutzen. Die Nutzenmetrik besteht aus zwei Komponenten: dem Nutzen, der sich aus der Auswahl einer Kombination von Blöcken ergibt, und den Kosten für die Verwendung der Blöcke als Eingabeaufforderung für LLMs. Konkret wird der Nutzen durch die LLMs quantifiziert, die die Ähnlichkeit zwischen den ausgewählten Blöcken und der Anfrage messen. Wir bezeichnen sie als Knotenwerte V. Als Nächstes verwenden wir den Algorithmus Upper Confidence Bound (UCB) [3], um das Gleichgewicht zwischen Ausnutzung (Knotenwerte V(vi)) und Erkundung (Suchanzahl N(vi)) von Knotenwerten V(vi) und Suchanzahl N(vi) auszugleichen. Für einen gegebenen Knoten vi betrachten wir im Hinblick auf die Kosten die in Abschnitt 2 definierten Etikettierungskosten, die durch das Verhältnis der Kosten der aktuellen Blockkombination zum gesamten zugewiesenen Budget B gemessen werden. Der Knotennutzen ist also wie folgt definiert:

Definition 4.2 (Nodal Utility). Bei einem Strategiebaum und einem Kostenbudget B ist der Nutzen eines Nicht-Wurzelknotens definiert als:

-1

wobei V(vi) der geschätzte Nutzenwert der Blockkombination am Knoten vi ist, der durch das Trainingsmodell bestimmt wird, N(vi) die Anzahl der Besuche des Knotens vi ist, was die Erkundung weniger besuchter Knoten erleichtert, und N die Gesamtzahl der Besuche aller Knoten im Regelbaum ist, um ein Gleichgewicht zwischen Erkundung und Ausbeutung zu gewährleisten. Darüber hinaus bezeichnet cost(vi) die Etikettierungskosten des Knotens vi, B ist das Gesamtbudget für die Etikettierung, c regelt den Kompromiss zwischen Erkundung und Ausbeutung, und λ dient als Kostenstraffaktor zur Verbesserung der Kosteneffizienz.

Optimale Modellierung der Knotenauswahl. Auf der Grundlage der definierten Knotennutzen wird die in Abschnitt 2 beschriebene Aufgabe der Auswahl der optimalen Reihenfolge der Blockkombinationen als Auswahl des optimalen Knotens im Policy-Baum T umformuliert. Unter einer gegebenen Budgetbeschränkung B besteht das Ziel darin, Knoten vi ⊆ T zu identifizieren, die den Nutzen U(vi) maximieren und gleichzeitig sicherstellen, dass die mit vi verbundenen Gesamtkosten B nicht überschreiten:

-1

wobei V(vi) der geschätzte Nutzen der Kombination von Blöcken am Knoten vi ist und cost(vi) die damit verbundenen Kosten darstellt. Diese Formel ermöglicht es, den Block zu wählen, der den Nutzen innerhalb eines bestimmten Budgets maximiert.

-3

Abbildung 3: Arbeitsablauf der MCTS-basierten Blockoptimierung

 

-1

Algorithmus 1 MCTS-basierte Strategiebaumsuche

 

4.2 Richtlinienbaumsuche auf der Grundlage von MCTS

Motivation. Durch die Aufzählung aller Knoten im Policy-Baum wird der optimale Knoten gefunden, was jedoch zu hohen Rechenkosten führt. Ein einfacher Ansatz zur Lösung dieses Problems ist die Anwendung einer Gierstrategie, die den Baum iterativ vom Wurzelknoten aus durchläuft. In jeder Iteration wird der untergeordnete Knoten mit dem höchsten Nutzen ausgewählt und so lange fortgefahren, bis das Budget erschöpft ist. Dieser Ansatz wird jedoch wahrscheinlich zu suboptimalen Ergebnissen führen. Beispielsweise kann χ1 einen geringfügig höheren Nutzen haben als χ2, aber χ2 + χ3 können einen deutlich höheren Nutzen haben als χ1 + χ3. In diesem Fall kann ein gieriger Ansatz zu suboptimalen Ergebnissen führen. Daher ist es notwendig, den hocheffizienten übergeordneten Knoten erneut zu betrachten. Gleichzeitig müssen wir die Erkundung von Knoten mit geringem Nutzen reduzieren.

Um unser Ziel zu erreichen, schlagen wir eine MCTS-basierte Strategiebaum-Suchmethode vor, die eine effiziente Auswahl und Einstufung von Blockkombinationen ermöglicht. Dieser Ansatz erforscht iterativ den Raum potenzieller Blocksequenzen und optimiert eine gegebene Anfrage innerhalb einer bestimmten Budgetbeschränkung.

Überblick. Die MCTS-basierten Richtlinien werden in Algorithmus 1 beschrieben. Zunächst wird der Wurzelknoten des Richtlinienbaums mit Hilfe von Eingabeanfragen initialisiert. Wenn das Berechnungsbudget noch nicht ausgeschöpft ist, führen wir iterativ zwei wichtige Schritte durch: Knotenauswahl und Aktualisierung des Nutzens. Sobald die Iterationsgrenze oder das Budget erreicht ist, stoppen wir den Prozess und suchen rekursiv durch den Baum, um den Knoten mit dem höchsten Nutzen zu finden. Im Gegensatz zu herkömmlichen MCTS-Strategien, die sich in der Regel nur auf den Wurzelknoten konzentrieren, berücksichtigt unser Ansatz auch vielversprechende Zwischenknoten, um den Nutzen der Blockkombination zu maximieren.

Ausführliche Erläuterung der wichtigsten Funktionen. Wir erläutern diese beiden Schlüsselfunktionen wie folgt:

  1. Auswahl des Knotens (Algorithmus 2). Wir wählen rekursiv den Knoten mit dem höchsten Nutzwert, der am wahrscheinlichsten zur optimalen Blockkombination führt. Genauer gesagt:

 

-1

Algorithmus 2 KnotenAuswahl

 

-1

Algorithmus 3 UtilityUpdate

 

  • Wählen Sie aus. Wir identifizieren den Knoten mit dem maximalen Nutzwert. Wenn 𝑣 noch nicht erweitert ist, erzeugen wir alle möglichen Nachfolgeknoten und nehmen sie in den Strategiebaum auf. Wenn 𝑣 bereits erweitert wurde, wählen wir den Nachfolgeknoten mit dem höchsten Nutzen für die weitere Untersuchung aus.
  • Erweiterungen. Nach der Auswahl des Knotens mit dem höchsten Nutzen erweitern wir ihn, indem wir alle potenziellen Kindknoten erzeugen. Jeder Unterknoten stellt eine neue Reihenfolge möglicher Blockkombinationen dar. Unser Ansatz verwendet eine parallele Erweiterung, bei der mehrere Unterknoten gleichzeitig berechnet und ausgewertet werden. Durch diese Parallelität wird die Fähigkeit des Wertnetzes ausgenutzt, mehrere Kombinationen mit einem ähnlichen Rechenaufwand wie bei einem einzelnen Knoten zu verarbeiten, was die Effizienz der Suche erhöht.
  • Berechneter Nutzen. Wir berechnen den Nutzwert für jeden neuen untergeordneten Knoten anhand der Nutzwertformel. Das Re-Ranker-Modell R verarbeitet mehrere Blockkombinationen parallel, um sie zu erzeugen.

-1

 

-1

 

5 Konfigurieren des Agenten

Nachdem die Effizienz der Verarbeitung von Blockassoziationen innerhalb des Budgets des Nutzers berücksichtigt wurde, besteht die verbleibende Aufgabe darin, ein System zu entwerfen, das auf die Domäne jeder Abfrage zugeschnitten ist.Der MCTS-Prozess umfasst mehrere Schlüsselkonfigurationen, darunter die Auswahl des Re-Rankers, die Anzahl der Iterationen, den Explorationsfaktor und den Kostenfaktor. Die Optimierung dieser Konfigurationen für verschiedene Abfragetypen ist eine besondere Herausforderung. Um dieses Problem zu lösen, schlagen wir ein Konfigurationsagenten-Framework vor, das den optimalen Re-Ranker und die optimale Konfiguration für jede Anfrage vorhersagt. In diesem Abschnitt stellen wir zunächst den Agentenrahmen in Abschnitt 5.1 vor und skizzieren dann den Modelllernprozess in Abschnitt 5.2.

5.1 Modellierungsrahmen

Motivation. Zur Bewältigung von Herausforderung 3, die eine Anpassung an den Bereich jeder Anfrage und die Empfehlung optimaler Konfigurationen erfordert, besteht eine einfache Lösung darin, einen MLP-Klassifikator zu verwenden, um jede Anfrage dem besten Re-Ranker zuzuordnen. Erste Experimente zeigen jedoch, dass die MLP-Klassifizierung schlecht abschneidet. Bei der weiteren Analyse stellen wir fest, dass ähnliche Abfragetypen dazu neigen, die gleichen besten Re-Ranker und Konfigurationen zu verwenden. Daher ist die Verwendung des Siamesischen Netzwerks mit Kontrastlernen, um Abfragen derselben Kategorie einander anzunähern und Abfragen unterschiedlicher Kategorien auseinander zu treiben, ein praktikablerer Ansatz.

Abbildung 4 gibt einen Überblick über den von uns konfigurierten Agenten, der aus zwei Hauptmodulen besteht, die für die Umwandlung der Eingabe in einen Merkmalsgraphen verantwortlich sind. Zunächst erzeugt das Modul zur Einbettung der Eingabe Einbettungen der Eingabeabfrage. Anschließend verarbeitet das Kodierungsnetzwerk diese Einbettungen, um Merkmalskarten zu erstellen, die dann zur Ableitung verschiedener Konfigurationen der MCTS-Einstellungen verwendet werden.

In den folgenden Abschnitten werden die einzelnen Komponenten detailliert beschrieben und ihre Konstruktionsprinzipien erläutert.

(1) Geben Sie die Abfrage eingebettet in. Um die Faktoren verschiedener Abfragen effizient zu erfassen, verwenden wir angesichts der Vielfalt der Abfragetypen wie explizite Fakten, implizite Fakten, interpretierbare Rationalität und versteckte Rationalität [47] das Einbettungsmodell BGE-M3 [6], um Einbettungen für jede Abfrage zu erzeugen. Diese Einbettungen verbessern den Lernrahmen, indem sie ähnliche Abfragetypen auf die gleiche Re-Ranker-Kategorie abbilden. Die Einbettungen werden in einem 1024-dimensionalen Raum dargestellt und erfassen die zugrundeliegenden semantischen Merkmale, so dass das Kodierungsnetz sie effizient vergleichen und klassifizieren kann. Dieser Schritt trägt dazu bei, die Abrufrelevanz der verschiedenen Abfragetypen zu verbessern. Darüber hinaus werden mit demselben Einbettungsmodell auch optimale, mit Re-Rankern annotierte Einbettungen generiert, einschließlich ihrer einzigartigen Merkmale und zugehörigen Metadaten, so dass das Modell Abfragen an den optimalen Re-Rankern ausrichten kann.

(2) Erzeugung von Merkmalskarten mit kodierten Netzen: die Um die Auswahl des Re-Rankers zu optimieren und den besten Re-Ranker für jede Abfrage für verschiedene Abfragetypen zu empfehlen, verwenden wir kodierende Netzwerke, um effizient Repräsentationen zu lernen, die sowohl für die Klassifizierung als auch für die Konfigurationsvorhersage nützlich sind. Für diese Aufgabe verwenden wir ein Siamesisches Netz, das aus drei vollständig verbundenen Schichten besteht. Es verarbeitet Eingabeabfrageeinbettungen der Dimension d = 1024 und lernt Klassifikationsergebnisse und MCTS-Konfigurationsvorhersagen (d.h. Anzahl der Iterationen und λ). Die Zweige des Kodierungsnetzes teilen sich Gewichte, und jeder Zweig wendet eine lineare Transformation gefolgt von einer RELU-Aktivierung an. Die erste versteckte Schicht reduziert die Dimensionalität auf 512, die zweite auf 256 und die dritte auf 128. Die letzte Ausgabeschicht liefert Klassifizierungsvorhersagen, die den besten Re-Ranker für jede Abfrage bestimmen, sowie Regressionsergebnisse, die zur Vorhersage der effizientesten MCTS-Konfigurationen verwendet werden, um den Suchprozess zu steuern. Die Klassifizierungsausgabe identifiziert den besten Re-Ranker für jede Abfrage, während die Regressionsausgabe die besten MCTS-Konfigurationseinstellungen bestimmt.

5.2 Gemeinsame Ausbildung

In diesem Abschnitt wird der Trainingsprozess für die Entwicklung von Konfigurationsagenten beschrieben. Wie in Abb. 4 dargestellt, haben wir drei gemeinsame Trainingsaufgaben implementiert, um die Trainingseffizienz des Modells zu verbessern. Bei den ersten beiden Aufgaben handelt es sich um Klassifizierung und Regression zur Auswahl des besten Re-Rankers bzw. zur Vorhersage der besten Werte der MCTS-Hyperparameter. Darüber hinaus haben wir einen vergleichenden Lernansatz zur weiteren Verbesserung des Lernprozesses eingeführt.

5.2.1 Klassifizierungs- und Regressionsverluste.

In Anbetracht des vorhergesagten Re-Ranker-Labels Y(pred) und des entsprechenden tatsächlichen optimalen Re-Rankers Y(true) wird der Klassifikationsverlust L(cla) wie folgt berechnet.

-1
wobei F(cla) den Kreuzentropieverlust zwischen den vorhergesagten und den tatsächlichen Re-Ranker-Labels darstellt. Diese Verlustfunktion hilft bei der genauen Klassifizierung des optimalen Re-Rankers für jede Abfrage. In ähnlicher Weise ist der Regressionsverlust L(reg) definiert als.

-1

wobei 𝐹reg der mittlere quadratische Fehler (MSE) zwischen dem vorhergesagten MCTS-Parameter 𝑝pred und dem tatsächlichen MCTS-Parameter 𝑝true ist. Diese Metrik gewährleistet eine genaue Vorhersage der MCTS-Konfiguration in Bezug auf die Anzahl der Iterationen und 𝜆.

 

-4

Abbildung 4: Übersicht über den Konfigurationsagenten

 

5.2.2 Kontrastives Lernen.

Um effizient zwischen verschiedenen Abfragedomänen zu unterscheiden und die beste Konfiguration für jede Abfrage zu empfehlen, verwenden wir vergleichendes Lernen, um Abfragen in derselben Domäne einander anzunähern und gleichzeitig Einbettungen verschiedener Re-Ranker-Klassen zu verdrängen.

Vorbereitung des Vergleichs. Um den Trainingsdatensatz vorzubereiten, müssen wir den optimalen Re-Ranker und die optimale Konfiguration für jede Abfrage bestimmen. In dieser Studie wurden die optimalen Re-Ranker und die entsprechenden Konfigurationen für jede Abfrage durch umfangreiche Experimente mit verschiedenen Einstellungen ermittelt. Anschließend werden Abfragepaare auf der Grundlage dieser optimalen Re-Ranker-Annotationen generiert. Positive Paare bestehen aus Abfragen, die denselben optimalen Re-Ranker haben, was die Minimierung ihrer Einbettung in den Merkmalsraum erleichtert. Negative Paare hingegen bestehen aus Abfragen mit unterschiedlichen Re-Rankern mit dem Ziel, den Einbettungsabstand zwischen ihnen zu maximieren. Da einige Re-Ranker bei bestimmten Abfragen ähnlich abschneiden, wählen wir für unseren Trainingsdatensatz nur die Fälle aus, in denen sich ROUGE-L um mehr als 10% unterscheidet.

Kontrastverlust. Wie in Abb. 4 gezeigt, ist für ein gegebenes Positivpaar (𝑥𝑖, 𝑥+𝑖) und das negative Paar (𝑥𝑗, 𝑥-𝑗), verwenden wir zunächst das Kodierungsmodell, um die entsprechenden Merkmalskarten zu erstellen. Diese Merkmalskarten werden dann verwendet, um den Kontrastverlust 𝐿con zu berechnen. Dieser Prozess kann wie folgt dargestellt werden:

-1

Darunter.𝑓𝜃(𝑥) bezeichnet die Einbettungsfunktion.𝐹con ist eine Ähnlichkeitsfunktion, die auf zwei Arten von Paaren angewandt wird: positive Paare (mit ähnlichen Reorderern) und negative Paare (mit unterschiedlichen Reorderern). Diese Verlustfunktion soll sicherstellen, dass Abfragen mit demselben Auftraggeber im Einbettungsraum näher beieinander liegen und Abfragen mit unterschiedlichen Auftraggebern weiter entfernt sind.

5.2.3 Der gesamte Ausbildungsprozess.

Die Gesamtverlustfunktion L(total) schließlich ist die Summe der Vergleichs-, Klassifikations- und Regressionsverluste wie folgt.

-1

Insbesondere der Kontrastverlust Lcon(θ) führt dazu, dass die Einbettungen von Abfragen mit demselben optimalen Re-Ranker näher beieinander liegen, während er die Einbettungen von Abfragen mit unterschiedlichen Re-Rankern auseinander drängt. Der Klassifizierungsverlust Lcla(θ) hilft dem Modell, die Re-Ranker mithilfe der Kreuzentropie korrekt zu identifizieren, während der Regressionsverlust Lreg(θ) den Fehler bei der Vorhersage der optimalen MCTS-Konfiguration minimiert.

Bemerkungen. Sobald der Gesamtverlust Ltotal berechnet ist, werden die Netzparameter θ mittels Gradientenabstieg mit einer Lernrate η aktualisiert. Dieser Optimierungsprozess wird über mehrere Zyklen E und Chargen hinweg wiederholt, um sicherzustellen, dass sowohl der Klassifikator als auch die Parametervorhersagen im Laufe der Zeit verbessert werden.

 

6 Experimente

Mit der experimentellen Studie sollen die folgenden Fragen beantwortet werden.
- RQ1 Wie schneidet unser CORAG im Vergleich zu anderen Methoden in kostenbeschränkten RAG-Pipelines ab?
- Wie effizient ist RQ2 CORAG bei unterschiedlichen Blockgrößen?
- RQ3 Was sind die derzeitigen Engpässe bei der RAG?
- Was sind die Engpässe bei der RAG?
- RQ4 Wie skalierbar ist CORAG bei unterschiedlichen Datensatzgrößen?
- RQ5 Wie effektiv ist jedes Design in CORAG?

6.1 Versuchsaufbau

Umgebung. Wir haben unser System mit dem beliebten RAG-Framework LlamaIndex integriert. Die Experimente wurden auf einem Linux-Server mit einer Intel Core i7-13700K CPU (12 Kerne, 24 Threads, 5,3 GHz), 64 GB RAM und 1 TiB NVMe SSD durchgeführt. Das Configuration Agent-Modul wurde auf einer NVIDIA RTX 4090 GPU mit 24 GB VRAM unter Verwendung von PyTorch 2.0 implementiert.

Tabelle 1: Statistische Daten, die für das Experiment verwendet wurden.

Datensatz 1TP5Zug #dev #est #p
MSMARCO 502,939 6,980 6,837 8,841,823
Wiki 3,332 417 416 244,136

Datensatz.Um die Leistung von CORAG in verschiedenen Szenarien zu evaluieren, haben wir Experimente mit zwei verschiedenen Datensätzen mit unterschiedlichen Aufgabenschwerpunkten durchgeführt: (1) WikiPassageQA [7] ist ein Q&A-Benchmark, der 4.165 Fragen und mehr als 100.000 Textabschnitte enthält, um das Retrieval auf Absatzebene zu bewerten. (2) MARCO [24] ist ein umfassender Datensatz, der sich mit Aufgaben der natürlichen Sprachverarbeitung beschäftigt, wobei der Schwerpunkt auf Q&A und Information Retrieval liegt. Wie in Tabelle 1 gezeigt, bieten sowohl WikiPassageQA als auch MARCO qualitativ hochwertige Fragen und Absatzannotationen, wodurch sie sich für die Bewertung der Retrieval-Effektivität eignen. In unseren Experimenten fordern wir die LLMs auf, für jeden Datensatz die richtigen Antworten zu generieren. Wenn wir zum Beispiel Llama3 verwenden, um die CORAG-Leistung zu evaluieren, verwenden wir auch Llama3, um Grundwahrheiten im selben Versuchsaufbau zu generieren, um Fairness und Übereinstimmung mit den Eigenschaften der LLMs zu gewährleisten.

Ausgangssituation.Wir vergleichen die CORAG-Leistung mit zwei typischen RAG-Baselines:

- RAPTOR [29]: RAPTOR konstruiert einen hierarchischen Baum von Dokumentzusammenfassungen durch rekursives Einbetten, Clustern und Zusammenfassen von Textblöcken, um eine mehrstufige Abstraktion zu erreichen. Dieser Ansatz steht im Einklang mit dem in Abschnitt 1 erörterten clusterbasierten Ansatz. Wir schließen die Baumkonstruktion innerhalb eines ungefähren Budgetrahmens ab.
- NaiveRAG: Dies ist eine grundlegende Methode zum Auffinden relevanter Blöcke. Zunächst werden Kandidatenblöcke aus der Vektordatenbank auf der Grundlage einer Vektorähnlichkeitssuche abgerufen und dann mithilfe des Re-Ranker-Modells in eine Rangfolge gebracht. Bei dieser Methode handelt es sich um die in Abschnitt 1 erwähnte AKNN-Methode. Um die Kostenbeschränkung zu erfüllen, verwenden wir eine gierige Budgetzuweisungsstrategie, um Blöcke abzurufen, bis das Budget vollständig erschöpft ist.

Schließlich implementieren wir einen Ansatz namens CORAG Upper, der eine obere Schranke festlegt, indem er alle möglichen Kombinationen von Blöcken untersucht und die beste Reihenfolge auswählt. Aufgrund der großen Anzahl möglicher Kombinationen beschränken wir im Fall von CORAG Upper die Untersuchung auf Kombinationen von weniger als sechs Blöcken.

Bemerkung.Andere Ansätze, wie GraphRAG [22], stützen sich stark auf häufige Aufrufe von LLMs, um Blöcke zusammenzufassen und Indizes zu erstellen, was enorme Kosten verursacht (z. B. Milliarden von Token), die unsere strengen Kostenbeschränkungen überschreiten. Daher sind diese Ansätze für die Lösung unseres Problems nicht praktikabel. Um einen fairen Vergleich zu ermöglichen, haben wir diese Art von RAG-Ansätzen von unseren Experimenten ausgeschlossen.

Einstellung der Hyperparameter: Die Hyperparameter für CORAG werden automatisch vom Konfigurationsagenten bestimmt, während für NaiveRAG keine Hyperparameter erforderlich sind. Bei den anderen Basismethoden stellen wir die Konsistenz sicher, indem wir für faire Vergleiche die gleichen Hyperparameter verwenden. Insbesondere setzen wir den Explorationsfaktor auf 2,4, die Anzahl der Iterationen auf 10 und den Kostenfaktor λ auf 0,1. Vorläufige Experimente zeigen, dass diese Konfiguration die Leistung der Grundlinie optimiert. Wir werden auch weitere Ablationsstudien durchführen, um diese Einstellungen zu validieren.

Einstellungen der Lernparameter. In unserem Ansatz wird der Konfigurationsagent durch Kontrastlernen trainiert. Zu den dabei verwendeten Hyperparametern gehören der Kontrastverlust (margin=1.0), die Lernrate (lr=0.001), die Stapelgröße (32), die Anzahl der Zyklen (num_epochs=60) und das Einbettungsmodell (d.h. BAAI/bge-m3 [6]).

Bewertungsmetriken. Wir bewerten die Effektivität, indem wir die Rouge-Bewertungen der echten Antworten und der generierten Antworten vergleichen, wobei wir Rouge-1, Rouge-2 und Rouge-L als Bewertungsmetriken verwenden. Um die Effizienz zu bewerten, messen wir die Latenzzeit, die zur Beantwortung von Anfragen mit verschiedenen Methoden erforderlich ist.

-5

Abbildung 5: Effizienzvergleich

 

6.2 Leistungsvergleich

6.2.1 RQ1: Rouge-Vergleich.

Wie in Abb. 2 gezeigt, vergleichen wir die Leistung von CORAG mit mehreren Baselines auf verschiedenen Datensätzen, hauptsächlich unter Verwendung von WikiPassageQA und MARCO. Die Bewertung wird bei drei verschiedenen Blockgrößen durchgeführt, wobei die Metriken Rouge-1, Rouge-2 und Rouge-L verwendet werden, um die Verbesserung der von LLM generierten Antworten aufgrund unserer Retrieval-Methode zu bewerten. corag vergleicht mit den RAG-Methoden (z. B. NaiveRAG und RAPTOR) um eine signifikante Verbesserung von etwa 251 TP3 T. Es überrascht nicht, dass CORAG die obere Grenze nicht überschreitet, die einen Extremfall darstellt, in dem alle möglichen Kombinationsreihenfolgen erschöpfend aufgezählt werden, was eindeutig ineffizient und unpraktisch ist. Zusammenfassend lässt sich sagen, dass CORAG die Baseline übertrifft, indem es die Relevanz der Suche erhöht und gleichzeitig den Suchraum effektiv beschneidet.

6.2.2 RQ2: Bewertung der Effizienz.

Da CORAG auf einem Baumsuchalgorithmus basiert, hilft der Agent bei der Vorhersage des besten Re-Rankers und der besten Parameter für eine bestimmte Anfrage (siehe Abb. 5). Daher ist es von entscheidender Bedeutung, die Auswirkungen verschiedener Blockgrößen und Datensätze auf die Effizienz der Retrieval-Optimierungsaufgabe zu bewerten. Wir haben die Effizienz unter Verwendung verschiedener Datensätze und Blockgrößen getestet und festgestellt, dass NaiveRAG unter Verwendung traditioneller Retrieval-Methoden kürzere Retrieval-Zeiten, aber niedrigere Rouge-Werte erzielt. CORAG erzielt gute Rouge-Werte, ist aber deutlich weniger effizient, da es den gesamten Suchraum erforscht. In ähnlicher Weise verwendet RAPTOR ein externes LLM für die Zusammenfassung und weist eine schlechte Effizienz auf. Im Gegensatz dazu erreicht unser CORAG-Ansatz einen effektiven Kompromiss zwischen Effizienz und Suchrelevanz.

6.2.3 RQ3: Leistungszergliederung.

Wir zeigen eine Leistungsdekomposition der Basislösung NaiveRAG, um die Engpässe in aktuellen RAG-Systemen aufzuzeigen. Um die Herausforderung der Suche nach der optimalen Reihenfolge der Blockkombinationen zu bewältigen, sind bei der Implementierung von NaiveRAG die folgenden Schritte erforderlich: a) Einbettung der Abfrage, b) Abrufen der potenziellen Blockkombinationen, c) Neuordnung der potenziellen Blockkombinationen und d) Verfeinerung der Hinweise. Abbildung 6 zeigt die durchschnittliche Latenzzeit der einzelnen Schritte in der vorherigen Versuchsanordnung.

-1

Tabelle 2: Vergleich von Rouge auf WikiPassage QA und MARCO-Datensätzen

 

6.2.4 RQ4: Bewertung der Skalierbarkeit

CORAG weist eine hervorragende Skalierbarkeit auf, insbesondere bei der Arbeit mit großen Datensätzen (wie WikiPassageQA und MARCO), die eine große Anzahl von Absätzen enthalten. Die Anzahl der Chunks kann leicht auf 100k oder mehr skaliert werden, indem jeder Absatz in 256 gelabelte Chunks aufgeteilt wird. Trotz der beträchtlichen Zunahme des Datenvolumens hat sich die Abrufzeit gegenüber dem herkömmlichen Ansatz nur um 101 TP3T erhöht, was die Effizienz unseres Systems bei der Bewältigung umfangreicher Abrufaufgaben belegt. Besonders hervorzuheben ist, dass unser System die CORAG-Ober-Methode übertrifft, da es nur ein Zehntel der Abrufzeit benötigt und dennoch konkurrenzfähige ROUGE-Ergebnisse liefert. Dieses effektive Gleichgewicht zwischen Leistung und Rechenaufwand unterstreicht die Fähigkeit des Systems, den Suchraum effizient zu beschneiden und so auch bei großen Datensätzen eine schnelle Suche zu gewährleisten. Daher eignet sich unser Ansatz gut für Szenarien, die eine umfangreiche Datenverarbeitung und eine hohe Abrufgenauigkeit erfordern.

-1

Abbildung 6: Zerlegung der Leistung

 

-1

Tabelle 3: Vergleich der Leistung bei unterschiedlichen Budgets

 

6.3 RQ5: Ablationsstudien

6.3.1 Ablationsstudien mit unterschiedlichen Budgets

Wie in Tabelle 3 dargestellt, haben wir CORAG als kostenbeschränktes System evaluiert und die Auswirkungen verschiedener Budgets auf die Gesamtleistung untersucht. Unter Verwendung des MARCO-Datensatzes setzten wir die Budgetgrenzen auf 1024, 2048 und 8192 Token und bewerteten die Ergebnisse mit ROUGE.CORAG übertrifft bei diesen Budgethöhen durchweg alle Baselines. Bemerkenswert ist, dass die durchschnittlichen Tagging-Kosten von CORAG unter jeder Budgetgrenze bleiben, was darauf hindeutet, dass der Nutzen von Blöcken nicht monoton ist, wie in Herausforderung 2 hervorgehoben wurde. Mit steigendem Budget profitiert CORAG von einem erweiterten Suchraum und ist in der Lage, mehr relevante Informationen einzubeziehen, anstatt nur die Anzahl der Blöcke zu erhöhen.

6.3.2 Ablationsstudien mit unterschiedlichen Explorationskoeffizienten

Wie in Abb. 7 zu sehen ist, haben wir eine Ablationsstudie durchgeführt, um die Auswirkungen verschiedener Explorationskoeffizienten auf die Systemleistung zu bewerten, wobei wir insbesondere C-Werte von 0, 1, 2 und 3 getestet haben. Die Ergebnisse zeigen, dass ein Explorationskoeffizient von etwa 2 die beste Leistung erbringt und ein optimales Gleichgewicht zwischen Exploration und Ausnutzung während des Suchprozesses erreicht. Dieses Gleichgewicht ermöglicht es dem System, effizient relevante Informationen zu entdecken und sich gleichzeitig auf Blöcke mit hohem Potenzial zu konzentrieren, was letztendlich zu einer verbesserten RAG-Antwort führt. Im Gegensatz dazu führten niedrigere Explorationskoeffizienten zu suboptimalen Ergebnissen aufgrund von Unterexploration, während höhere Explorationskoeffizienten zu suboptimalen Ergebnissen aufgrund von Überfokussierung führten. Diese Ergebnisse unterstreichen die entscheidende Rolle des Explorationskoeffizienten für die Leistung des CORAG-Suchprozesses und verdeutlichen die Bedeutung einer sorgfältigen Parameterabstimmung.

-6

Abbildung 7: Vergleich von ROUGE zwischen verschiedenen Werten von C

 

6.3.3 Ablationsstudien mit unterschiedlichen Kostenfaktoren

Wie in Abb. 8 dargestellt, wurde eine Abtragsstudie durchgeführt, um die Auswirkungen verschiedener Kostenkoeffizienten auf die Systemleistung zu bewerten, wobei insbesondere die Werte 0, 0,1, 0,2 und 0,3 getestet wurden. Die Ergebnisse zeigen, dass die Einführung von Kostenkoeffizienten in das Programm zu einem leichten Rückgang der ROUGE-Bewertung führt. Dieser Rückgang ist auf die Tatsache zurückzuführen, dass CORAG bei Fehlen einer Kostenbeschränkung dazu neigt, längere Outputs zu produzieren, wenn auch auf Kosten der Kosteneffizienz. Trotz des leichten Rückgangs der ROUGE-Werte bleibt der Rückgang jedoch innerhalb von 51 TP3T, was akzeptabel ist. Diese Ergebnisse verdeutlichen, wie wichtig es ist, die Kostenkoeffizienten effizient abzustimmen, um ein Gleichgewicht zwischen dem Reichtum an Ausgaben und den Kostenbeschränkungen herzustellen, und unterstreichen die Rolle unseres Konfigurationsagenten, der eine effiziente Konfigurationsabstimmung zur Optimierung der CORAG-Leistung ermöglicht.

-7

Abbildung 8: Vergleich von ROUGE für verschiedene Werte von Lambda

 

6.3.4 Ablationsstudien mit verschiedenen Umlagerungsgeräten

Um die Auswirkung verschiedener Rearranger auf die Retrievalleistung zu bewerten, haben wir eine Ablationsstudie mit sechs weithin anerkannten Rearrangeer-Modellen durchgeführt: jina-reranker-v1-turbo-de, jina-reranker-v2-base-multilingual, bge-reranker-v2-m3, bge- reranker-large, bge-reranker-base und gte-multilingual-reranker-base. Diese Rearranger wurden anhand des MARCO-Datensatzes unter Verwendung des Modells llama3-8B mit einem festen Kostenfaktor von 0,1, einem Explorationsfaktor von 2,4 und einer Budgetbeschränkung von 1024 bewertet.

-1

Tabelle 4: Leistungsvergleich mit verschiedenen Reordern

 

Die Ergebnisse in Tabelle 4 zeigen, dass es Leistungsunterschiede zwischen den verschiedenen Rerankern gibt, was die Bedeutung einer sorgfältigen Auswahl eines Rerankers zur Optimierung der Leistung des RAG-Systems unter bestimmten betrieblichen Einschränkungen hervorhebt. Unter den Rerankern zeigen gte-multilingual-reranker-base und bge-reranker-large eine konstant starke Leistung bei der QA-Aufgabe, was darauf hindeutet, dass diese Rerankermodelle sehr effizient bei der Erfassung relevanter Informationen für verschiedene QA-Anfragen sind. Wir stellen fest, dass mit zunehmender Blockgröße in der Ablationsstudie jeder einzelne Re-Ranker bei den empfohlenen Re-Rankern für verschiedene Abfragen schlechter abschneidet als der Agent. Dies deutet darauf hin, dass der Konfigurationsagent die Vielfalt der Re-Ranker effektiv ausnutzt, indem er die Konfiguration dynamisch anpasst, um die Abfrageergebnisse zu verbessern. Die Fähigkeit des Konfigurationsagenten, bessere Umordnungsentscheidungen und Parameterkonfigurationen zu empfehlen, unterstreicht seine Rolle bei der Maximierung der Leistung des RAG-Systems, insbesondere unter Einschränkungen wie einem begrenzten Budget.

6.4 Fallstudien

Abbildung 9 zeigt drei Beispiele, in denen die Abrufqualität von CORAG und dem herkömmlichen NaiveRAG-Ansatz verglichen wird, um zu verdeutlichen, warum unser Ansatz den Basisansatz übertrifft. Aufgrund der einfachen Top-k-Suche und der Neuordnung verpasst NaiveRAG oft wichtige Informationen, die für die Anfrage relevant sind, da es normalerweise Chunks auf der Grundlage der Übereinstimmung mit Schlüsselwörtern und nicht der Relevanz für die Anfrage abruft. Zum Beispiel für die Abfrage "Sind blättrige Blumen Sträucher? findet NaiveRAG Inhalte, die passende Schlüsselwörter enthalten, aber nicht die tatsächliche Klassifizierung der Blattblume. Im Gegensatz dazu findet die CORAG-Blockkombinationsstrategie einen Kontext, der die Kategorie der Blattblume enthält, so dass LLM eine genauere Antwort geben kann. In einem anderen Fall fand NaiveRAG Begriffe und Rechtsklauseln, die "oxyfluorfen" enthielten, aber die Absicht der Anfrage nicht verstanden, während CORAG Inhalte lieferte, die oxyfluorfen mit Anwendungsfällen in Baumwolle verknüpften, was eine Suche erforderte, die NaiveRAGs Die Vektorähnlichkeitssuche konnte die logischen Beziehungen zwischen den Blöcken nicht erfassen. Für die Abfrage "Woher kommen Bakterien?" schließlich NaiveRAG findet Chunks, die das Schlüsselwort "Bakterien" enthalten, geht aber nicht auf ihren Ursprung ein, während CORAG eine vollständigere Antwort liefert, die auch die Quelle der Bakterien und ihre Reproduktionsbedingungen umfasst. Diese Fälle zeigen, dass CORAG beim Abrufen logisch zusammenhängender Informationen überragend ist und sich daher besser als NaiveRAG für Abfragen eignet, die mehr als nur den Abgleich von Schlüsselwörtern erfordern.

-8

Abbildung 9: CORAG-Fallstudie

 

7 Einblicke in die RAG und zukünftige Gestaltungsmöglichkeiten

7.1 Unzulänglichkeiten der derzeitigen RAG

Wir analysieren das derzeitige RAG-System und zeigen die Leistungsprobleme auf, die während der Abruf- (S1), Anreicherungs- (S2) und Generierungsphasen (S3) auftreten.

S1: Gemeinkosten für die Suche Aktuelle RAG-Systeme nutzen typischerweise LLMs für Zusammenfassungs- und Indexierungsstrukturen und ignorieren die mit externen LLMs verbundenen Rechenkosten, wodurch der Rechenaufwand steigt. Modellbasierte Reorderer verbessern zwar die Relevanz während des Retrievals, führen aber zu erheblichen Latenzzeiten, die die latenzabhängige kontextuelle Effizienz beeinträchtigen können. Eine kosteneffiziente Indexerstellung und Optimierung der Neuordnung sind unerlässlich, um Effizienz und Leistung in Einklang zu bringen.

S2: Erhöhte Gemeinkosten Post-Retrieval-Techniken, wie z. B. die optimierte Anordnung von Blockkombinationen, verbessern die kontextuelle Relevanz, erfordern aber zusätzliche Berechnungen. Pruning-Strategien, die den Suchraum minimieren und die Kombinationsreihenfolge optimieren, sind wichtig, um ein Gleichgewicht zwischen Rechenkosten und kontextueller Relevanz herzustellen. Eine effiziente Optimierung der Blockkombinationen mit Schwerpunkt auf Ordnung und Kohärenz ist unerlässlich, um die Kosten zu senken und die Abrufleistung zu verbessern.

S3: Generationsbedingter Mehraufwand Effizientes Hint-Engineering für optimale Blockkombinationen erfordert erhebliche Rechenressourcen. Abfragespezifische Hinweisverfeinerung und Komprimierung sind unerlässlich, um den Overhead zu reduzieren und gleichzeitig die Relevanz und Prägnanz der Eingabe zu erhalten. Adaptive Strategien zur Behandlung unterschiedlicher Abfragetypen und domänenspezifischer Anforderungen gewährleisten die Effizienz der Eingabeaufforderung ohne Beeinträchtigung der Ausgabequalität.

7.2 Gestaltungsmöglichkeiten

Um die oben genannten Herausforderungen zu bewältigen, sollen die folgenden Konstruktionsentscheidungen die Leistung des RAG-Systems optimieren:

P1: Mitgestaltung von Abruf- und Neuordnungsprozessen In CORAG beschleunigt die parallele Erweiterung der Baumsuche die Abfrageverarbeitung und verringert die Latenzzeit erheblich, indem sie gleichzeitiges Abrufen und Neuordnen ermöglicht. Künftige Optimierungen können den Engpass beseitigen, indem sie stufenspezifische Verzögerungen eliminieren und die Effizienz der Rangfolge weiter verbessern. Dieser Co-Design-Ansatz verwaltet die Reihenfolge der Blockkombinationen effizient, um den Ranking-Prozess und die damit verbundene Bewertung zu verbessern.

P2: Optimierung von Baumstrukturen und Suchiterationen Die Ergebnisse zeigen, dass kürzere Strategiebaumhöhen die Sucheffizienz verbessern, indem sie den Rechenaufwand verringern, was insbesondere bei großen Datensätzen von Vorteil ist. Die Minimierung der Baumhöhe bei der baumbasierten Suche verbessert die Geschwindigkeit der Suche nach kontextuell relevanten Blöcken und reduziert die Latenzzeit und die Rechenkosten erheblich. Dieser Optimierungsansatz verbessert die Leistung des RAG-Systems bei großen Datenbeständen.

P3: Dynamisches Spitzenprojekt Die Auswahl des Rearrangers auf der Grundlage des Abfragetyps und die Verwendung adaptiver Hinweisschablonen können die Abrufrelevanz von LLM verbessern. Dynamische Cueing-Strukturen, die auf die Abfrageabsicht und den domänenspezifischen Kontext abgestimmt sind, können die Ausgabequalität innerhalb der Ressourcenbeschränkungen aufrechterhalten. Dieser adaptive Cue-Engineering-Ansatz erreicht ein effektives Gleichgewicht zwischen Effizienz und Retrievalqualität und berücksichtigt die dynamische Natur von Abfragen in RAG-Systemen.

 

8 Schlussfolgerung

In Anbetracht der Nicht-Monotonie des Nutzens von Blöcken, der Korrelation zwischen Blöcken und der Vielfalt verschiedener Abfragebereiche schlagen wir CORAG vor, ein lernendes System zur Optimierung von Suchanfragen.Zunächst modellieren wir die Reihenfolge der Blockkombinationen als Baum von Richtlinien und untersuchen diesen Baum mit MCTS, um die optimale Reihenfolge der Blockkombinationen zu finden. Wir führen einen Konfigurationsagenten ein, der die optimale Konfiguration und den optimalen Rearranger für eine bestimmte Anfrage genau vorhersagt. Darüber hinaus entwickeln wir eine parallele Strategie zur Erweiterung von Abfragen, um mehrere Knoten in jeder Iteration zu erweitern. Experimentelle Ergebnisse zeigen, dass unser Ansatz die modernsten Ansätze innerhalb der Kostenbeschränkungen deutlich übertrifft und sich auch in Bezug auf die Effizienz auszeichnet.

CDN1
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " CoRAG: Dynamische verkettete RAG-Modellierung mit MCTS (Monte Carlo Trees)

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)