RAG ist ein Akronym für Retrieval Augmented Generation. Lassen Sie uns den Begriff aufschlüsseln, um ein besseres Verständnis dafür zu bekommen, was RAG ist:
R -> Abrufen
A -> Vergrößerung
G -> Erzeugen
Im Grunde genommen werden die großen Sprachmodelle (LLMs), die wir jetzt verwenden, nicht in Echtzeit aktualisiert. Wenn ich einem LLM (z. B. ChatGPT) eine Frage stelle, kann es halluzinieren und die falsche Antwort geben. Um dem entgegenzuwirken, trainieren wir das LLM mit mehr Daten (Daten, auf die nur eine Untergruppe von Personen zugreift, nicht Daten, die weltweit öffentlich zugänglich sind). Wir stellen dann Fragen an das LLM, das auf diesen Daten trainiert wurde, so dass es relevante Informationen liefern kann. Wenn wir die RAG nicht verwenden, kann Folgendes passieren:
- Erhöhte Wahrscheinlichkeit von Halluzinationen
- LLM Veralterung
- Geringere Genauigkeit und Sachlichkeit
Sie können sich auf die unten stehende Tabelle beziehen:
RAG ist ein hybrides System, das die Vorteile eines Retrieval-basierten Systems mit LLM kombiniert, um genauere, relevantere und informativere Entscheidungen zu treffen. Dieser Ansatz nutzt externe Wissensquellen im Generierungsprozess und verbessert die Fähigkeit des Modells, aktuelle und kontextualisierte Informationen zu liefern. Im obigen Diagramm:
- Im ersten Schritt stellt der Nutzer eine Anfrage an das LLM.
- Die Anfrage wird dann an den
- daraufhin
- Die abgerufenen Dokumente werden zusammen mit der ursprünglichen Anfrage an das Sprachmodell (LLM) gesendet.
- Der Generator verarbeitet sowohl die Abfrage als auch das zugehörige Dokument, erzeugt eine Antwort und sendet diese an den Benutzer zurück.
Ich weiß, dass Sie sehr daran interessiert sind, das RAG-System von Grund auf zu erlernen, also lassen Sie mich Ihnen den perfekten Fahrplan zeigen, um das RAG-System in nur 5 Tagen zu erlernen. Ja, Sie haben richtig gehört, Sie können das RAG-System in nur 5 Tagen meistern. Lassen Sie uns direkt mit dem Lernplan beginnen:
Tag 1: Schaffung der Grundlagen für die RAG
Das Hauptziel von Tag 1 ist es, die RAG als Ganzes zu verstehen und die Schlüsselkomponenten der RAG zu untersuchen. Im Folgenden finden Sie eine Aufschlüsselung der Themen für Tag 1:
RAG-Übersicht.
- die Funktion und Bedeutung von RAG und ihren Platz im modernen NLP erkennen.
- Die Hauptidee ist, dass die abruferweiterte Generierung (RAG) die Effektivität des generierten Modells durch das Einbringen externer Informationen erhöht.
Schlüsselkomponenten.
- Lernen Sie Abruf und Erzeugung getrennt.
- Verstehen der Architektur von Retrieval (z.B. Dense Paragraph Retrieval (DPR), BM25) und Generierung (z.B. GPT, BART, T5).
Tag 2: Erstellen Sie Ihr eigenes Suchsystem
Das Hauptziel von Tag 2 besteht darin, ein (wenn auch einfaches) Retrievalsystem erfolgreich zu implementieren. Nachstehend finden Sie eine Aufschlüsselung der Themen für Tag 2:
Eine eingehende Betrachtung der Retrieval-Modelle.
- Lernen Sie den Unterschied zwischen dichter und spärlicher Suche kennen:
- Intensive Suche: DPR, ColBERT.
- Sparsame Suche. BM25TF-IDF.
- Untersuchen Sie die Vor- und Nachteile der einzelnen Methoden.
Realisierung des Abrufs.
- Verwenden Sie für grundlegende Suchaufgaben Bibliotheken wie elasticsearch (für spärliche Suchen) oder faiss (für dichte Suchen).
- Mit dem DPR-Tutorial von Hugging Face erfahren Sie, wie Sie relevante Dokumente aus der Wissensdatenbank abrufen können.
Wissensdatenbank.
- Verstehen der Struktur der Wissensbasis.
- Lernen Sie, wie Sie Daten für Retrieval-Aufgaben wie die Vorverarbeitung von Korpora und die Indexierung von Dokumenten vorbereiten.
Tag 3: Feinabstimmung des erstellten Modells und Beobachtung der Ergebnisse
Das Ziel von Tag 3 war die Feinabstimmung des Generierungsmodells und die Beobachtung der Ergebnisse, um die Rolle des Abrufs bei der Verbesserung der Generierung zu verstehen. Im Folgenden finden Sie eine Aufschlüsselung der Themen für Tag 3:
Ein eingehender Blick auf die generative Modellierung.
- Untersuchen Sie trainierte Modelle wie T5, GPT-2 und BART.
- Lernen Sie, den Prozess der Erstellung von Aufgaben (z. B. Quiz oder Zusammenfassungen) zu verfeinern.
Praktische Übungen zur Erstellung von Modellen.
- Wenden Sie das von Hugging Face bereitgestellte Transformer-Modell an, um das Modell an einem kleinen Datensatz zu optimieren.
- Der Test verwendet ein generatives Modell, um Antworten auf Fragen zu generieren.
Untersuchung des Zusammenspiels von Abruf und Erzeugung.
- Untersuchen Sie die Art und Weise, wie das generative Modell die abgerufenen Daten eingibt.
- Erkennen, wie der Abruf die Genauigkeit und Qualität der generierten Antworten verbessern kann.
Tag 4: Einführung eines operationellen RAG-Systems
Jetzt sind wir unserem Ziel näher gekommen. Das Hauptziel des heutigen Tages war es, ein funktionierendes RAG-System auf einem einfachen Datensatz zu implementieren und uns mit den Einstellparametern vertraut zu machen. Hier ist eine Aufschlüsselung der Themen für den vierten Tag:
Kombinierter Abruf und Erzeugung:
- Integration der erzeugten und abgerufenen Komponenten in ein einziges System.
- Ermöglicht die Interaktion zwischen dem Abrufen von Ausgaben und der Erstellung von Modellen.
RAG-Pipeline unter Verwendung von LlamaIndex:
- Lernen Sie die Funktionen der RAG-Pipeline anhand der offiziellen Dokumentation oder von Tutorials kennen.
- Ein Beispiel mit dem RAG-Modell von LlamaIndex einrichten und ausführen.
Praktisches Experimentieren:
- Experimentieren Sie mit verschiedenen Parametern, z. B. mit der Anzahl der abgerufenen Dokumente, der Strategie für die Bündelsuche und der Temperaturskalierung.
- Versuchen Sie, das Modell auf einfache wissensintensive Aufgaben anzuwenden.
Tag 5: Aufbau und Feinabstimmung eines robusteren RAG-Systems
Ziel des letzten Tages war es, ein robusteres RAG-Modell durch Feinabstimmung zu erstellen und die verschiedenen Arten von RAG-Modellen zu verstehen. Nachstehend finden Sie eine Aufschlüsselung der Themen des fünften Tages:
- Erweiterte Feinabstimmung: Untersuchen Sie, wie sich die Generierungs- und Abrufkomponenten für domänenspezifische Aufgaben optimieren lassen.
- Erweiterung: Skalieren Sie Ihr RAG-System mit größeren Datensätzen und komplexeren Wissensdatenbanken.
- Optimierung der Leistung: Lernen Sie, wie Sie die Speichernutzung und die Abrufgeschwindigkeit maximieren können (z. B. durch Verwendung von faiss auf der GPU).
- Bewertung: Lernen Sie, wie man RAG-Modelle in wissensintensiven Aufgaben evaluiert, indem man verschiedene Metriken wie BLEU, ROUGE, etc. zur Messung der Problemlösung verwendet.