2. Praktische Tipps zur Reduzierung von Halluzinationen
Mit den folgenden Tipps kannst du dafür sorgen, dass ChatGPT und andere Text-KI-Tools zuverlässiger werden und Halluzinationen verringern. Dabei geht es mir in erster Linie darum, praktische Hilfestellungen für die Herausforderungen im Umgang mit LLMs wie Halluzinationen und Probleme beim mehrstufigen logischen Argumentieren zu bieten.
Zur Erinnerung:
LLMs sind probabilistisch, d.h. sie erzeugen Text auf Basis der Wahrscheinlichkeitsverteilung von Wörtern bzw. Wortteilen (Tokens) die es während des Trainings „gelesenen“ hat. Dadurch kann es jedoch passieren, dass der resultierende Text nicht den Tatsachen entspricht oder schlicht falsch ist, was man als Halluzination bezeichnet.
Eine weitere Einschränkung von LLMs ist, dass sie Schwierigkeiten haben, Aufgaben zu lösen, die komplexes, mehrstufiges logisches Denken erfordern. Wenn das Modell z. B. mathematische Textaufgaben lösen soll, muss die Aufgabe erst in mehrere Schritte zerlegt werden, wobei jeder Schritt durch eine Berechnung gelöst und die Ergebnisse zu einer endgültigen Antwort zusammengefasst werden müssen. Das macht das Modell aber nicht „von sich aus“, sondern fabuliert sich unter Umständen einfach eine plausibel klingende, aber falsche Antwort zusammen.
Gerade für Entwickler, die mit diesen Modellen eigene Software bauen wollen, stellen diese Einschränkungen eine echte Herausforderung dar, da das Endprodukt bestimmte Qualitäts-, Sicherheits- und Zuverlässigkeitsanforderungen erfüllen muss.
Wir können uns beispielsweise nicht darauf verlassen, dass eine automatische Codeüberprüfung, die von einem LLM bereitgestellt wird, korrekt ist. Oder dass die Antwort auf eine versicherungsrelevante Frage verlässlich ist. Ebenso wissen wir nicht, dass erzeugte Visualisierung datengetreu ist, oder dass die Antworten auf eine Forschungsfrage faktisch korrekt sind oder auf tatsächlich existierenden Referenzen basieren.
Halluzinationen werden bei LLMs wahrscheinlich immer ein Problem sein, doch wir können mit ein paar einfachen Tricks Halluzinationen zumindest reduzieren:
- Die Temperatur verringern
Bei der Modellierung mit LLMs stehen mehrere Parameter zur Verfügung, darunter auch der Temperaturparameter. Die Temperatur eines Modells ist ein skalarer Wert, der verwendet wird, um die vom Modell vorhergesagte Wahrscheinlichkeitsverteilung anzupassen. Bei LLMs bestimmt der Temperaturparameter das Gleichgewicht zwischen der Einhaltung dessen, was das Modell aus den Trainingsdaten gelernt hat, und der Erzeugung vielfältigerer oder kreativerer Antworten. Im Allgemeinen enthalten kreative Antworten eher Halluzinationen und weniger zufällige sind eher faktisch korrekt. Versuche einfach mal deiner Anweisung an die KI folgendes anzufügen: „Nutze dabei die Temperatur 0.1“
- Verwendung einer externen Wissensbasis
Wie ich bereits im Buch beschrieben habe, sind Halluzinationen ein Artefakt der Kompressionseigenschaft von LLMs, d.h. sie treten auf, wenn das Modell versucht, Informationen zu rekonstruieren, die es sich nicht explizit gemerkt hat. Durch den Zugriff auf korrekte Daten aus einer anderen Quelle bei der Generierung können wir das Problem in ein einfacheres Such- oder Syntheseproblem umwandeln. Das Modell soll dabei nur eine Antwort generieren, die auf den bereitgestellten Daten basiert. KI-basierte Suchmaschinen wie Perplexity.ai und You.com aber auch Googles neue Search Experience und das neue Bing setzen genau auf diese Methode. Sie beginnen stets mit einer Suchanfrage an eine klassische Suchmaschine und verwenden das LLM lediglich dazu, die Ergebnisse zusammenzufassen. (Idealerweise mit Verweisen auf die Quellseiten zur Überprüfung) In der Praxis bedeutet dass, dass du der KI idealerweise sämtliche Aussagen und Fakten in Stichtpunkten in deinem Prompt mitlieferst und die KI nur dazu nutzt, diese in einer bestimmten Form zu formulieren oder zu erklären, anstatt die KI eine Liste von Fakten erzeugen zu lassen
- Mehrstufige Prompts verwenden
Eine bekannte Schwäche von LLMs ist ihre schlechte Leistung bei Aufgaben, die mehrstufiges Denken erfordern, z. B. bei komplexen arithmetischen oder logischen Aufgaben. Ein LLM kann zwar überzeugende Shakespeare-Sonette schreiben, aber keine größeren Zahlen richtig multiplizieren. Jüngste Forschungsarbeiten zeigen jedoch, dass sich die Leistung deutlich verbessert, wenn dem Modell einige Beispiele angeboten werden, um die Aufgabe in Schritte (eine Art Gedankenkette) zu zerlegen und das Ergebnis anschließend zu aggregieren. In der Praxis empfielt es sich daher, die KI mit einem Zusatz wie „Lass uns das Schritt für Schritt durchdenken“ dazu zu zwingen, die gestellte Aufgabe zunächst in einfache Unteraufgaben zu zerlegen. Anschließend lassen diese sich per KI Stück-für-Stück durchführen und am Ende wieder zu einem Gesamtergebnis synthetisieren.
- Aufgabenzerlegung und Agenten
Anstatt das Modell dazu zu bringen, die Aufgabe in eine Gedankenkette zu zerlegen kann man auch einzelne KI-Agenten erstellen, die sich gegenseitig einfachere Unteraufgaben stellen und dadurch komplexe Aufgaben erledigen können. Dazu erstellt man einen initialen Router-Agenten, der dazu dient, die Eingabeaufforderung des Benutzers in spezifische Teilaufgaben zu zerlegen. Jede Teilaufgabe wird dann von einem speziellen Experten-Agenten bearbeitet. Das berühmte AutoGPT-Projekt ist ein Beispiel für diesen Ansatz. In der Praxis muss man hierfür jedoch programmieren können, oder mehrere ChatGPT-Instanzen in unterschiedlichen Browser-Tabs bzw. -Fenstern verwenden und zwischen den einzelnen „Agenten“ Ein- und Ausgaben hin und her kopieren.
- Selbstkonsistenz
Dieser allgemeine Ansatz verfolgt das „Die Weisheit der Vielen“-Prinzip, um die Leistung der Modelle zu verbessern. Dabei fordert man das Modell auf, verschiedene Wege zur Generierung von Antworten zu beschreiten. Nun kann man davon ausgehen, dass die Antwort, die unter diesen verschiedenen Wegen am häufigsten gewählt wird, wahrscheinlich die richtige ist. Die Art und Weise, wie die verschiedenen Antworten generiert werden und wie sie aggregiert werden (um auf die richtige Antwort zu schließen) sollte dabei variieren. Praktisch bedeutet dass, das man in seinem Prompt eine Reihe von manuell geschriebenen Beispiele für eine logische Gedankenkette mitliefert und das Sprachmodell mit ein und derselben Anweisung mehrfach Antworten erzeugen lässt. Schließt man nun selten genannte Antworten aus und fasst die häufigsten Antworten zusammen, ist die Wahrscheinlich das diese korrekt ist sehr viel größer.
- Selbsteinschätzung
Eine der abgefahrensten Arten, die Korrektheit der generierten Antworten zu verbessern ist gleichzeitig die einfachste. Wenn man ein Modell schlicht bittet, Antworten zu generieren und dabei die Wahrscheinlichkeit mitzuliefern, dass diese korrekt ist, ist die Einschätzung in der Praxis erstaunlich präzise. Das bedeutet, dass das Modell im Wesentlichen weiß, was es weiß und was es nicht weiß. In der Praxis kannst du also bei jeder generierten Antwort das Modell nach der Wahrscheinlichkeit fragen, dass diese korrekt ist und die Antworten mit einer niedrigen Wahrscheinlichkeit einfach verwerfen. Mit der Einführung von GPT-4 hat sich außerdem gezeigt, dass das Modell sogar in der Lage ist, eigene Fehler zu erkennen und zu korrigieren, in dem man ihm mitteilt, dass die erzeugte Antwort falsch ist! Falls du dich wunderst, dass GPT-4 hinterher sagen kann, was und wieso etwas falsch ist, aber dennoch falsche Antworten generiert, erinnere dich nochmal an das Beispiel mit den Witzen aus dem Abschnitt „ChatGPT hat keinen Humor, oder?“ auf Seite 98.
|