Wenn Sie ein RAG-System ohne Floor-Reality-Daten evaluieren möchten, können Sie auch Ihren eigenen Datensatz erstellen. Das klingt zwar entmutigend, aber es gibt mehrere Strategien, um diesen Prozess zu vereinfachen, von der Suche nach ähnlichen Datensätzen über die Nutzung menschlichen Feedbacks bis hin zur synthetischen Datengenerierung. Lassen Sie uns aufschlüsseln, wie Sie das tun können.

On-line nach ähnlichen Datensätzen suchen

Dies magazine offensichtlich erscheinen, und die meisten Leute, die zu dem Schluss gekommen sind, dass sie keinen Floor-Reality-Datensatz haben, haben diese Choice bereits ausgeschöpft. Es ist jedoch dennoch erwähnenswert, dass es möglicherweise Datensätze gibt, die dem ähneln, was Sie benötigen. Vielleicht liegt es in einer anderen Geschäftsdomäne als Ihr Anwendungsfall, aber es liegt im Frage-Antwort-Format vor, mit dem Sie arbeiten. Web sites wie Kaggle verfügen über eine große Vielfalt an öffentlichen Datensätzen, und Sie werden möglicherweise überrascht sein, wie viele davon zu Ihrem Problembereich passen.

Beispiel:

Manuelles Erstellen von Floor Reality-Daten

Wenn Sie on-line nicht genau das finden, was Sie brauchen, können Sie Floor-Reality-Daten immer manuell erstellen. Hier ist menschliches Suggestions hilfreich. Erinnern Sie sich an das Suggestions von Fachexperten, über das wir vorhin gesprochen haben? Sie können dieses Suggestions verwenden, um Ihren eigenen Mini-Datensatz zu erstellen.

Durch die Kuratierung einer Sammlung von von Menschen überprüften Beispielen – bei denen die Relevanz, Richtigkeit und Vollständigkeit der Ergebnisse validiert wurde – schaffen Sie eine Grundlage für die Erweiterung Ihres Datensatzes zur Auswertung.

Es gibt auch einen großartigen Artikel von Katherine Munro über eine experimenteller Ansatz zur agilen Chatbot-Entwicklung.

Ausbildung zum LLM als Richter

Sobald Sie über Ihren minimalen Floor-Reality-Datensatz verfügen, können Sie noch einen Schritt weitergehen, indem Sie einen LLM trainieren, der als Richter fungiert und die Ausgaben Ihres Modells bewertet.

Doch bevor wir uns auf einen LLM als Richter verlassen, müssen wir zunächst sicherstellen, dass er unsere Modellergebnisse genau oder zumindest zuverlässig bewertet. So können Sie dabei vorgehen:

  1. Erstellen Sie von Menschen überprüfte Beispiele: Je nach Anwendungsfall sollten 20 bis 30 Beispiele ausreichen, um ein gutes Gefühl dafür zu bekommen, wie zuverlässig das LLM im Vergleich ist. Informationen zu den besten Bewertungskriterien und zum Messen widersprüchlicher Bewertungen finden Sie im vorherigen Abschnitt.
  2. Erstellen Sie Ihren LLM-Richter: Fordern Sie einen LLM auf, Bewertungen auf Grundlage derselben Kriterien abzugeben, die Sie Ihren Fachexperten gegeben haben. Nehmen Sie die Bewertung und vergleichen Sie, wie die Bewertungen des LLM mit den menschlichen Bewertungen übereinstimmen. Auch hier können Sie zur Bewertung Metriken wie Pearson-Metriken verwenden. Ein hoher Korrelationswert zeigt an, dass die Leistung des LLM genauso intestine ist wie die eines Gutachters.
  3. Anwenden Bewährte Verfahren für die schnelle Entwicklung: Prompte Entwicklung kann über Erfolg oder Misserfolg dieses Prozesses entscheiden. Techniken wie das Vorwärmen des LLM mit Kontext oder das Bereitstellen einiger Beispiele (Lernen mit wenigen Beispielen) können die Genauigkeit der Modelle bei der Beurteilung erheblich verbessern.

Eine weitere Möglichkeit, die Qualität und Quantität Ihrer Floor-Reality-Datensätze zu steigern, besteht darin, Ihre Dokumente in Themen oder semantische Gruppierungen zu segmentieren. Anstatt ganze Dokumente als Ganzes zu betrachten, zerlegen Sie sie in kleinere, fokussiertere Segmente.

Angenommen, Sie haben ein Dokument (documentId: 123), in dem Folgendes erwähnt wird:

„Nach der Einführung des Produkts ABC verzeichnete das Unternehmen XYZ im ersten Quartal 2024 einen Umsatzanstieg von 10 %.“

Dieser Satz enthält zwei unterschiedliche Informationen:

  1. Produkteinführung ABC
  2. Eine Umsatzsteigerung von 10 % im 1. Quartal 2024

Jetzt können Sie jedes Thema in seine eigene Abfrage und seinen eigenen Kontext einbinden. Beispiel:

  • Abfrage 1: „Welches Produkt hat Unternehmen XYZ auf den Markt gebracht?“
  • Kontext 1: „Produkt ABC auf den Markt bringen“
  • Abfrage 2: „Wie hat sich der Umsatz im 1. Quartal 2024 verändert?“
  • Kontext 2: „Unternehmen XYZ verzeichnete im ersten Quartal 2024 einen Umsatzanstieg von 10 %“

Indem Sie die Daten auf diese Weise in spezifische Themen aufteilen, erstellen Sie nicht nur mehr Datenpunkte für das Coaching, sondern machen Ihren Datensatz auch präziser und fokussierter. Und wenn Sie jede Abfrage aus Gründen der Zuverlässigkeit auf das Originaldokument zurückverfolgen möchten, können Sie jedem Kontextsegment problemlos Metadaten hinzufügen. Zum Beispiel:

  • Abfrage 1: „Welches Produkt hat Unternehmen XYZ auf den Markt gebracht?“
  • Kontext 1: „Produkt ABC wird eingeführt (documentId: 123)“
  • Abfrage 2: „Wie hat sich der Umsatz im 1. Quartal 2024 verändert?“
  • Kontext 2: „Unternehmen XYZ verzeichnete im ersten Quartal 2024 einen Umsatzanstieg von 10 % (documentId: 123)“

Auf diese Weise wird jedes Phase mit seiner Quelle verknüpft, wodurch Ihr Datensatz für die Auswertung und das Coaching noch nützlicher wird.

Wenn alles andere fehlschlägt oder Sie mehr Daten benötigen, als Sie manuell erfassen können, kann die Generierung synthetischer Daten eine entscheidende Rolle spielen. Mithilfe von Techniken wie Datenerweiterung oder sogar GPT-Modellen können Sie neue Datenpunkte basierend auf Ihren vorhandenen Beispielen erstellen. Sie können beispielsweise einen Basissatz von Abfragen und Kontexten verwenden und diese leicht anpassen, um Variationen zu erstellen.

Beginnen wir beispielsweise mit der Abfrage:

  • „Welches Produkt hat Unternehmen XYZ auf den Markt gebracht?“

Sie könnten synthetisch Variationen erzeugen wie:

  • „Welches Produkt wurde von der Firma XYZ eingeführt?“
  • „Wie hieß das von der Firma XYZ auf den Markt gebrachte Produkt?“

Auf diese Weise können Sie einen viel größeren Datensatz erstellen, ohne dass Sie den manuellen Aufwand betreiben müssen, neue Beispiele von Grund auf neu zu schreiben.

Es gibt auch Frameworks, die den Prozess der Generierung synthetischer Daten für Sie automatisieren können, die wir im letzten Abschnitt untersuchen werden.

Nachdem Sie Ihren Datensatz gesammelt oder erstellt haben, ist es an der Zeit, in die Auswertungsphase einzutauchen. Das RAG-Modell umfasst zwei Schlüsselbereiche: Abruf und Generierung. Beide sind wichtig, und wenn Sie wissen, wie Sie jeden dieser Bereiche bewerten, können Sie Ihr Modell optimieren, um es besser an Ihre Anforderungen anzupassen.

Auswertung der Abfrage: Wie related sind die abgerufenen Daten?

Der Abrufschritt in RAG ist entscheidend – wenn Ihr Modell nicht die richtigen Informationen abrufen kann, wird es Probleme haben, genaue Antworten zu generieren. Hier sind zwei wichtige Kennzahlen, auf die Sie sich konzentrieren sollten:

  • Kontextrelevanz: Dies misst, wie intestine der abgerufene Kontext mit der Abfrage übereinstimmt. Im Wesentlichen fragen Sie: Sind diese Informationen für die gestellte Frage überhaupt related? Sie können Ihren Datensatz verwenden, um Relevanzwerte zu berechnen, entweder durch menschliches Urteilsvermögen oder durch Vergleichen von Ähnlichkeitsmaßen (wie Kosinus-Ähnlichkeit) zwischen der Abfrage und dem abgerufenen Dokument.
  • Kontextabruf: Der Kontextrückruf konzentriert sich darauf, wie viele relevante Informationen abgerufen wurden. Es ist möglich, dass das richtige Dokument abgerufen wurde, aber nur ein Teil der erforderlichen Informationen enthalten battle. Um den Rückruf zu bewerten, müssen Sie prüfen, ob der Kontext, den Ihr Modell abgerufen hat, alle wichtigen Informationen enthält, um die Abfrage vollständig zu beantworten. Im Idealfall möchten Sie einen hohen Rückruf: Ihre Abfrage sollte die benötigten Informationen erfassen und nichts Wichtiges sollte zurückbleiben.

Auswertung der Era: Ist die Antwort sowohl genau als auch nützlich?

Sobald die richtigen Informationen abgerufen wurden, besteht der nächste Schritt darin, eine Antwort zu generieren, die die Abfrage nicht nur beantwortet, sondern dies auch genau und klar tut. Hier sind zwei kritische Aspekte, die bewertet werden müssen:

  • Treue: Dadurch wird gemessen, ob die generierte Antwort den abgerufenen Kontext genau widerspiegelt. Im Wesentlichen möchten Sie Halluzinationen vermeiden – bei denen das Modell Informationen erfindet, die nicht in den abgerufenen Daten enthalten waren. Bei der Genauigkeit geht es darum, sicherzustellen, dass die Antwort auf den Fakten basiert, die in den von Ihrem Modell abgerufenen Dokumenten dargestellt werden.
  • Relevanz der Antwort: Dies bezieht sich darauf, wie intestine die generierte Antwort mit der Abfrage übereinstimmt. Auch wenn die Informationen dem abgerufenen Kontext entsprechen, müssen sie dennoch für die gestellte Frage related sein. Sie möchten nicht, dass Ihr Modell korrekte Informationen herauszieht, die die Frage des Benutzers nicht ganz beantworten.

Durchführen einer gewichteten Bewertung

Nachdem Sie sowohl Abruf als auch Generierung bewertet haben, können Sie einen Schritt weitergehen, indem Sie diese Bewertungen gewichtet kombinieren. Vielleicht ist Ihnen Relevanz wichtiger als Rückruf, oder vielleicht ist Zuverlässigkeit Ihre oberste Priorität. Sie können jeder Metrik je nach Ihrem spezifischen Anwendungsfall unterschiedliche Gewichtungen zuweisen.

Zum Beispiel:

  • Abruf: 60 % Kontextrelevanz + 40 % Kontexterinnerung
  • Era: 70 % Treue + 30 % Antwortrelevanz

Diese Artwork der gewichteten Bewertung gibt Ihnen Flexibilität bei der Priorisierung dessen, was für Ihre Anwendung am wichtigsten ist. Wenn Ihr Modell sachlich 100 % korrekt sein muss (wie in juristischen oder medizinischen Kontexten), können Sie mehr Gewicht auf Genauigkeit legen. Wenn andererseits Vollständigkeit wichtiger ist, können Sie sich auf den Rückruf konzentrieren.

Wenn Ihnen die Erstellung Ihres eigenen Bewertungssystems zu viel erscheint, machen Sie sich keine Sorgen – es gibt bereits einige großartige Frameworks, die Ihnen einen Großteil der Arbeit abgenommen haben. Diese Frameworks verfügen über integrierte Metriken, die speziell für die Bewertung von RAG-Systemen entwickelt wurden und die Abruf- und Generierungsleistung einfacher beurteilen. Sehen wir uns einige der hilfreichsten an.

RAGAS ist ein speziell entwickeltes Framework zur Bewertung der Leistung von RAG-Modellen. Es enthält Metriken, die sowohl Abruf als auch Generierung bewerten und bietet eine umfassende Möglichkeit, die Leistung Ihres Programs bei jedem Schritt zu messen. Es bietet auch die Generierung synthetischer Testdaten durch Verwendung eines evolutionären Generierungsparadigmas.

Inspiriert von Werken wie Evol-InstructRagas erreicht dies durch die Verwendung eines evolutionären Generationsparadigmas, bei dem Fragen mit unterschiedlichen Merkmalen wie Argumentation, Konditionierung, Multikontext und mehr systematisch aus dem bereitgestellten Dokumentensatz erstellt werden. – RAGAS-Dokumentation

ARES ist ein weiteres leistungsstarkes Device, das die Generierung synthetischer Daten mit einer LLM-basierten Auswertung kombiniert. ARES verwendet synthetische Daten – Daten, die von KI-Modellen generiert und nicht aus realen Interaktionen gesammelt werden –, um einen Datensatz zu erstellen, mit dem Sie Ihr RAG-System testen und verfeinern können.

Das Framework umfasst auch einen LLM-Bewerter, der, wie wir bereits zuvor besprochen haben, bei der Bewertung von Modellausgaben helfen kann, indem er sie mit menschlichen Anmerkungen oder anderen Referenzdaten vergleicht.

Auch ohne Floor-Reality-Daten können Ihnen diese Strategien dabei helfen, ein RAG-System effektiv zu bewerten. Egal, ob Sie Vektorähnlichkeitsschwellenwerte, mehrere LLMs, LLM als Richter, Abrufmetriken oder Frameworks verwenden, jeder Ansatz bietet Ihnen eine Möglichkeit, die Leistung zu messen und die Ergebnisse Ihres Modells zu verbessern. Der Schlüssel liegt darin, herauszufinden, was für Ihre spezifischen Anforderungen am besten funktioniert – und keine Angst davor zu haben, Dinge dabei zu optimieren. 🙂

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert