$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Große Sprachmodelle (LLMs) wie ChatGPT von OpenAI oder Llama von Meta AI haben sich schnell zu einer beliebten Ressource für die Generierung von Text entwickelt, der für eine Benutzeraufforderung relevant ist. Ursprünglich dazu gedacht, die nächsten lexikalischen Elemente in einer Sequenz vorherzusagen, haben sich diese Modelle weiterentwickelt, um den Kontext zu verstehen, klinische Informationen zu kodieren und eine hohe Leistung bei einer Vielzahl von Aufgaben zu demonstrieren 1,2,3,4. Obwohl Sprachmodelle diesen Fähigkeiten und ihrer heutigen Popularität um Jahrzehnte voraus sind5, haben die jüngsten Fortschritte bei Deep Learning und Computing-Fähigkeiten vortrainierte, qualitativ hochwertige kommerzielle LLMs über webbasierte Technologien und Application Program Interfaces (APIs) für Benutzer auf breiter Basis verfügbar gemacht6. Es gibt jedoch einige bemerkenswerte Einschränkungen bei der Nutzung von LLMs in diesem Format.
Herausforderung 1: Statischer Trainingskorpus
LLMs werden mit einem enormen (z. B. zwei Billionen Token im Fall von Llama 27), aber statischen Textdatenbestand trainiert. Dies stellt eine Herausforderung dar, genaue Antworten auf Bereiche zu finden, die sich in einer rasanten Entwicklung befinden oder sich in der Literatur verändern. Bei diesem statischen Ansatz müssten LLMs häufig neu trainiert werden, um mit den neuesten Daten Schritt zu halten, was weder praktisch noch skalierbar ist. Darüber hinaus können Aufforderungen, die Antworten auf der Grundlage von Informationen erfordern, die nicht in den Trainingsdaten enthalten sind, eine nützliche Textgenerierung verhindern oder zu Halluzinationen führen8. Fälle von Halluzinationen oder Faktenfälschungen geben Anlass zu erheblichen Bedenken hinsichtlich der Zuverlässigkeit von LLMs, insbesondere in Umgebungen, in denen die Genauigkeit der Informationen entscheidend ist9.
Herausforderung 2: Mangelnde Domänenspezifität
Vortrainierte Modelle werden häufig für die allgemeine Verwendung erstellt, während Benutzer möglicherweise ein Modell benötigen, das speziell für die Leistung in einer bestimmten Domäne optimiert ist. Darüber hinaus sind die Rechenressourcen und Daten, die für das De-novo-Training eines Modells oder die Durchführung einer signifikanten Feinabstimmung erforderlich sind, für viele Benutzer unerschwinglich.
Herausforderung 3: Mangelnde Privatsphäre
Benutzer, die Anwendungen mit sensiblen Daten oder proprietären Informationen verfolgen, sind möglicherweise nicht bereit oder nicht in der Lage, bestimmte LLM-Dienste zu nutzen, da ihnen Informationen darüber fehlen, wie Daten gespeichert oder verwendet werden können.
Herausforderung 4: Fehlende garantierte Stabilität
Dienste mit proprietären LLMs können jederzeit verfügbare Modelle oder das Verhalten ändern, so dass die Stabilität bei der Implementierung von Anwendungen, die auf diesen Diensten basieren, ein Problem darstellt.
Retrieval-Augmented Generation (RAG) ist eine Technik, die entwickelt wurde, um die LLM-Leistung zu verbessern, insbesondere bei Abfragen, die sich auf Informationen außerhalb des Trainingskorpus des Modells beziehen10,11. Diese Systeme ergänzen LLMs, indem sie Kontextinformationen einbeziehen, die bei der Generierung einer Antwort auf eine Benutzeranfrage berücksichtigt werden müssen. In verschiedenen neueren Arbeiten wurden die Anwendungen von RAG-Systemen und ihre potenziellen Vorteile beschrieben 12,13,14.
Das Ziel der in dieser Arbeit skizzierten Methode ist es, den Aufbau eines solchen Systems zu demonstrieren und Forschern einen Rahmen zu bieten, um schnell mit domänenspezifischen, erweiterten LLMs zu experimentieren. Diese Methode ist für Benutzer anwendbar, die ein LLM um eine externe textbasierte Datenquelle erweitern möchten. Konkret besteht ein übergeordnetes Ziel dieses Protokolls darin, Schritt-für-Schritt-Code bereitzustellen, der auf eine Vielzahl praktischer LLM- und RAG-Experimente erweiterbar ist, ohne dass erhebliches technisches Know-how im Bereich der Sprachmodellierung erforderlich ist, obwohl praktische Kenntnisse in Python erforderlich sind, um diesen Ansatz ohne Änderungen anzuwenden. Um die Benutzerkontrolle, Transparenz, Portabilität und Erschwinglichkeit von Lösungen zu maximieren, werden öffentlich zugängliche Open-Source-Tools verwendet. Das vorgeschlagene System löst die zuvor genannten Probleme auf folgende Weise:
Lösungen 1 und 2: Statisches Trainingskorpus und mangelnde Domänenspezifität
Die bereitgestellte Methodik nutzt einen RAG-Ansatz, bei dem Einbettungen verwendet werden, um domänenspezifische Informationen bereitzustellen, die nicht in den ursprünglichen Trainingsdaten enthalten sind. Auf hoher Ebene transformieren Einbettungsmodelle Text oder andere Daten in eine Darstellung als Vektor oder eindimensionales Array von Zahlen. Diese Technik ist von Vorteil, da sie semantische Informationen, die im Text enthalten sind, in eine dichte, numerische Form umwandelt. Durch die Projektion einer Benutzerabfrage in denselben Einbettungsraum können verschiedene Algorithmen verwendet werden, um den Abstand15 und damit die annähernde semantische Ähnlichkeit zwischen der Benutzerabfrage und Abschnitten von Textdokumenten zu berechnen. Daher kann das Erstellen einer Datenbank mit solchen Vektoren aus Dokumenten, die in einzelne Abschnitte unterteilt sind, das Durchsuchen einer beträchtlichen Anzahl von Dokumenten nach Text erleichtern, der für eine Benutzerabfrage am relevantesten ist (Abbildung 1). Dieser Ansatz ist auf jedes Textdokument erweiterbar. Während andere Ansätze, wie z. B. Online-Suchfunktionen, allmählich implementiert werden, um LLMs zu erweitern, ermöglicht dieser Ansatz den Benutzern, Quellen auszuwählen, die für ihren Anwendungsfall als ausreichend hochwertig angesehen werden.
Lösung 2: Mangelnde Privatsphäre
Bei dieser Implementierung wurde eine sichere Cloud-Umgebung für das Hosting verwendet, in der keine Benutzeraufforderungen, generierten Antworten oder andere Daten dieses Ökosystem verließen. Der gesamte Code wird jedoch plattformunabhängig geschrieben, um sicherzustellen, dass ein anderer Cloud-Anbieter oder lokale Hardware ersetzt werden kann.
Lösung 3: Fehlende garantierte Stabilität
Dieser Ansatz nutzt Open-Source-Bibliotheken und konzentriert sich auf die Erweiterung von LLMs mit öffentlich zugänglichen Gewichtungen, die bei Bedarf ein höheres Maß an Transparenz, Stabilität und Versionierung ermöglichen.
Ein vollständiges Schema unseres vorgeschlagenen Systems ist in Abbildung 2 dargestellt, und detaillierte Anweisungen zur Replikation dieses oder eines ähnlichen Systems finden Sie im Abschnitt Protokoll. Eine weitere Überlegung bei der Änderung des Modellverhaltens durch Feinabstimmung oder Erweiterung ist die Bewertung der Leistung. Bei sprachgenerierenden Modellen stellt dies eine besondere Herausforderung dar, da viele traditionelle Metriken des maschinellen Lernens nicht anwendbar sind. Obwohl es eine Vielzahl von Techniken gibt16, wurden in dieser Studie von Experten geschriebene Multiple-Choice-Fragen (MCQs) verwendet, um die Genauigkeit zu bewerten und die Leistung vor und nach der Augmentation sowie mit beliebten alternativen LLMs zu vergleichen.