Skip to main content

Jenseits von ChatGPT: Warum wir Prompt-Engineering (vorerst) noch brauchen

LLM, also Large Language Model oder einfach “großes Sprachmodell”, ist spätestens seit ChatGPT ein Begriff, der nicht nur in der Forschung verwendet wird, sondern auch im alltäglichen Sprachgebrauch angekommen ist. ChatGPT hat gezeigt, dass die Interaktion mit solch einem Modell sehr einfach sein kann, aber  wie viel technisches Feingefühl und Prompt-Engineering ist in Zeiten von ChatGPT eigentlich noch notwendig, um LLMs sinnvoll nutzbar zu machen?

Prompt-Engineering: Gute Umgangsformen mit generativen KI-Modellen

Sprachmodelle lernen mit einer erstaunlich simplen Zielfunktion: Next token prediction – wobei, basierend auf einem gegebenen Eingabestring, das am wahrscheinlichsten folgende Wort vorhergesagt wird. Egal also, vor welche Aufgabe das Modell gestellt wird, es wird mit einem Wort beginnen, das relativ wahrscheinlich an erster Stelle in einer Antwort stehen könnte und kann dann aufgrund seines Trainings prophezeien, welches Wort sehr wahrscheinlich daran anschließen sollte, um einen stimmigen Text zu erzeugen. Diesen Prozess führt es aus, bis ein Satzende bzw. eine ganze Antwort dem Modell am sinnvollsten erscheint. Diese riesigen Transformer-Modelle verdauen beim Training gewaltige Textmengen auf eigens dafür entwickelter Hardware, mit dem Stromverbrauch einer mittelgroßen Stadt. 

Die entstandenen Modelle haben erstaunliche grammatische und semantische Fähigkeiten. Viele Texte klingen heutzutage stilistisch mindestens genauso gut, als hätte sie ein Mensch geschrieben. Erstaunlicherweise lernen sie darüber hinaus aber auch meta-linguistische Abstraktionen, gekennzeichnet durch Fähigkeiten wie logisches Schlussfolgern, narratives Verständnis, Codegenerierung und Theory of Mind, um nur einige zu nennen. Modelle wie PaLM berichten auf solch ambitionierten Benchmarks Ergebnisse auf menschlichem Niveau. Früher waren für so unterschiedliche Probleme viele spezialisierte Machine-Learning-Modelle notwendig, doch diese vielfältigen Aufgaben werden heute von dem gleichen Modell bewältigt.

Selbst wenn wir Menschen wohl auch hin und wieder sprechen, ohne vorher nachzudenken, wird unsere zwischenmenschliche Kommunikation doch maßgeblich, sei es bewusst oder unbewusst, von unseren Zielen, Beziehungen und Emotionen geformt. Umso faszinierender ist es, dass die Texte moderner Sprachmodelle oft kaum von denen zu unterscheiden sind, die von Menschen verfasst wurden.

Es ist wichtig, sich vor Augen zu führen, dass diese Modelle nichts anderes tun, als Eingabetext so zu vervollständigen, wie sie es in ihren Trainingsdaten gesehen haben.
Das Verhalten des Modells wird also einzig und allein durch Textsequenzen kontrolliert, die wir mit ihm austauschen.

Diese Textsequenzen bezeichnen wir als Prompt und ihre Qualität hat großen Einfluss auf die generierten Antworten. Beim Gebrauch von ChatGPT fällt schnell auf: Wie der berühmte Flügelschlag eines Schmetterlings, der am anderen Ende der Welt einen Wirbelsturm auslösen kann, kann ein einziges verändertes Wort im Prompt die Antwort des Modells vollständig verändern. Sowohl für Sprachmodelle als auch im Alltag gilt also: Sprache ist ein mächtiges aber auch ein chaotisches Interaktionsmedium.

Prompts zu finden, mit denen ein LLM den “richtigen” Output liefert, ist also nicht immer einfach. Es wurde ein immenser Forschungsaufwand betrieben, um möglichst systematisch Prompts zu generieren, die zuverlässige und qualitativ hochwertige Ausgaben produzieren. Das Berufsfeld des Prompt-Engineers wurde geboren. GPT-4 gibt uns einen sehr brauchbaren, wenn auch etwas trivialen Überblick, wie Promt-Engineering funktioniert:

  1. Verstehen Sie das Modell: Bevor Sie beginnen, müssen Sie ein Grundverständnis dafür haben, wie LLMs funktionieren, welche Daten sie nutzen und wie sie auf verschiedene Eingaben reagieren.

  2. Klarheit und Präzision: Ein gutes Prompt ist oft klar und direkt. Versuchen Sie, Mehrdeutigkeiten zu vermeiden und präzise mit Ihrer Anfrage zu sein.

  3. Experimentieren: Schreiben Sie verschiedene Variationen eines Prompts und testen Sie, welche am besten funktionieren. Eine kleine Änderung in der Formulierung kann einen großen Unterschied in der Antwortqualität machen.

  4. Nutzen Sie Kontext: Manchmal kann das Hinzufügen von Kontext oder Hintergrundinformationen zu einem Prompt das Modell dazu bringen, relevantere oder genauere Antworten zu generieren.

  5. Fortlaufendes Feedback: Nutzen Sie die Antworten, die Sie erhalten, als Feedback. Wenn Sie nicht das bekommen, was Sie wollen, passen Sie Ihr Prompt an und versuchen Sie es erneut.

  6. Kennen Sie Ihre Zielgruppe: Überlegen Sie, für wen die Antwort bestimmt ist, und formulieren Sie Ihr Prompt entsprechend. Eine Anfrage für einen Experten kann anders aussehen als eine für einen Laien.

  7. Seien Sie vorsichtig mit Verzerrungen: LLMs können bestehende Verzerrungen in ihren Trainingsdaten reflektieren. Überlegen Sie, wie Sie Ihr Prompt so gestalten können, dass die Antwort weniger anfällig für unerwünschte Verzerrungen oder Voreingenommenheiten ist.

RLHF: Ordnung ins Chaos

Die Grundlage von ChatGPT – GPT-3 wurde auf einem riesigen Textkorpus trainiert, der das gesamte Internet, Code-Archive, literarische Werke und alles andere enthält, woran OpenAI ihre Finger bekommen konnte. Im Grunde genommen sind GPT-3 und Modelle dieser Art so etwas wie Internet-Chimären – Mischwesen, die Schriftsteller und Wissenschaftlerinnen genauso widerspiegeln wie Selbsthilfe-Gurus und Verschwörungstheoretiker, denn alle diese verschiedenen Inhalte und Perspektiven auf die Welt hat das Modell verinnerlicht. Wenn wir solch einem Modell eine Frage stellen, wissen wir nicht, welche dieser multiplen Persönlichkeiten uns antworten wird. Das kann sich sowohl im Stil als auch im Inhalt der Antwort widerspiegeln. Mit Hilfe von Prompt-Engineering kann darauf aber Einfluss genommen werden. Der Prompt bietet einen Kontext, der die Antwort des Sprachmodells stilistisch und inhaltlich anleitet und einschränkt.

Seit der Veröffentlichung von ChatGPT begann auch die breite Öffentlichkeit, sich für generative Sprachmodelle zu begeistern. Dieser plötzliche Ruhm ist auf zwei Kernfaktoren zurückzuführen. Zum einen erlaubt die interaktive Chat-Oberfläche von ChatGPT eine intuitive Handhabung, sodass selbst Laien leicht experimentieren können. Zum anderen wurden die ChatGPT Modelle gezielt darauf trainiert, Anweisungen hilfreich und unkontrovers zu folgen. Damit entfällt die Notwendigkeit, nach einer obskuren “Zauberformel” zu suchen, um die gewünschten Ergebnisse zu erzielen.

Wir haben nur begrenzt Einblick in die Methoden, die zu den Erfolgen von ChatGPT geführt haben, doch ein besonders wichtiger Baustein ist “Reinforcement learning from human feedback” (RLHF).

Das Ziel von RLHF ist es, dem vortrainierten Sprachmodell (der unberechenbaren Internet-Chimäre) eine massentaugliche Persönlichkeit überzustülpen, also einen umgänglichen, hilfsbereiten Assistenten aus ihm zu machen, der keine umstrittenen oder gefährlichen Aussagen macht. Doch dies ist keine einfache Aufgabe. Der traditionelle Ansatz zum Verfeinern vortrainierter Modelle (supervised learning) benötigt eine klare Definition was eine „korrekte Antwort“ ausmacht. (Ähnlich wie im klassischen Matheunterricht sollte die Antwort also eindeutig als richtig oder falsch erkennbar sein.) Allerdings gibt es keine klare Definition für die “korrekte” Reaktion eines Dialogsystems. Abhängig vom bisherigen Dialogverlauf gibt es eine Vielzahl akzeptabler Antworten, deren relative Güte subjektiv ist.

Um ein Modell trotzdem so trainieren zu können, dass es tendenziell akzeptable Antworten erzeugt, kommt Reinforcement Learning ins Spiel. Bei RLHF bewerten menschliche Experten, welche Antworten eines Dialogsystems bevorzugt werden sollten. Anders als beim herkömmlichen „Supervised Learning“, wo das Machine-Learning-Modell direkt aus den Trainingsdaten lernt, geht RLHF einen Schritt weiter: Es versucht, die Vorlieben der Experten nachzubilden. Dafür wird ein separates Modell geschult – das sogenannte „Reward Model“. Seine Hauptaufgabe ist es, menschliche Präferenzen zu antizipieren.  Das Haupt-Sprachmodell wird anschließend mithilfe dieses Reward Modells trainiert. Obwohl es unmöglich ist, menschliche Vorlieben perfekt vorherzusagen, erlaubt dieser Ansatz die Nutzung einer wesentlich größeren Menge an Trainingsdaten. Vermeintlich gute Antworten werden belohnt, schlechte Antworten bestraft, wodurch das Modell schrittweise den menschlichen Präferenzen angenähert wird.

Diese Annäherung an menschliche Präferenzen kann auf vielen unterschiedlichen Dimensionen geschehen. In der Literatur haben sich jedoch zwei herauskristallisiert, die besonders bedeutsam sind, zum einen, wegen ihrer Notwendigkeit für Dialogsysteme und zum anderen, weil sie zueinander teilweise in Widerspruch stehen: Hilfsbereitschaft (die Fähigkeit solcher Systeme, Nutzer beim Erreichen ihrer Ziele und beim Lösen von Problemen zu unterstützen) und Harmlosigkeit (die Fähigkeit des Systems, zu funktionieren ohne Schaden anrichten, in dem es z.B. Nutzer beleidigt oder gesetzeswidrige Aussagen generiert). Wenn ein Nutzer fragt, wie man eine Bombe baut, zeigt sich schnell, wie diese zwei Ziele in Widerspruch geraten.

Zu viel Ordnung ist langweilig

RLHF hat aber nicht zwangsläufig nur Vorteile. Die Eigenschaften und Interaktionen des vortrainierten Modells und RLHF-Trainings sind komplex und bislang nicht vollständig erforscht. Doch generell lässt sich sagen: RLHF-trainierte Sprachmodelle geben einheitlichere und in den meisten Situationen hilfreichere Antworten und verringern den Suchaufwand nach erfolgreichen Prompts, doch dafür haben sie eine geringere Varianz (sind gewissermaßen weniger “kreativ”) und erben Voreingenommenheiten, die in den RLHF-Trainingsdaten enthalten sind.

Eingeschränktes Ausgabenspektrum

Mehr als 98% der Trainings- und Datenressourcen werden für das Vortraining auf dem riesigen Textkorpus verwendet. Während der späteren RLHF-Verfeinerungen lernt das Modell also weniger neue Fähigkeiten, sondern versteckt vielmehr die Art von Ausgaben, die nicht gewünscht werden. Das macht die Ausgaben von Sprachmodellen berechenbarer und verhindert damit Image-schädigende Schnitzer, wie Microsofts Chatbot „Tay„, der nach einiger Interaktion mit Internetnutzern rassistische Äußerungen von sich gab. Es schränkt aber auch die Breite an potenziellen Ausgaben ein. Wer häufig mit ChatGPT interagiert, dem ist bekannt, dass es ab und zu Ausgaben verweigert. Dies ist eine direkte Folge des RLHF-Trainings.

Die Fassade um das Sprachmodell (die Internet-Chimäre) ist nicht perfekt und lässt sich unter bestimmten Umständen durch cleveres Prompting umgehen, so dass das Modell Aufforderungen folgt, die es eigentlich verweigern soll.

Voreingenommenheit

Experimente zeigen auch, dass RLHF dem Sprachmodell politische Neigungen antrainiert (progressiv in Bezug auf Waffen- und Immigrationsrecht im Fall von ChatGPT). Solche Effekte sind potentiell unbeabsichtigt und kaum zu vermeiden. Es ist sehr schwer, wenn nicht unmöglich, Fakt und Meinung objektiv zu trennen und während des RLHF-Prozesses erbt das Modell die Neigungen der Personen, die für die Annotierung der RLHF-Trainingsdaten zuständig waren.

Das macht diesen Prozess sehr heikel. Das vortrainierte Sprachmodell (die Internet-Chimäre) mag chaotisch und unberechenbar sein, aber es bietet eine unvoreingenommene, unverschönte Spiegelung des gesamten Spektrums menschlicher Blickwinkel. Diese mächtigen Werkzeuge hingegen, von den Werten einiger weniger kalifornischer Tech-Unternehmer formen zu lassen, stellt ganz eigene Probleme dar.

Es kann deswegen wünschenswert sein, in bestimmten Anwendungen weniger sterilisierte Sprachmodelle einzusetzen, was wiederum die Anforderungen an das Prompt Engineering erhöht.

Fazit

RLHF verfeinerte Sprachmodelle haben die Linie zwischen erstklassigen und mittelmäßigen Prompts verschwimmen lassen. Durchschnittliche Nutzer können heute mit einem Mindestmaß an Experimentieraufwand eine Vielzahl von Aufgaben erfolgreich von Sprachmodellen wie ChatGPT bewältigen lassen. Doch besonders wenn Anwendungen einen spezifischen, unkonventionellen Ton oder eine Abweichung von den Tendenzen fordern, die das Modell während des RLHF-Prozesses erworben hat, wird dafür sorgfältiges Prompt-Engineering benötigt.

 

Bildquellen
Header: Generiert mit SDXL DreamShaper, Prompt: „A wonderful planet in a glittering galaxy magically appearing from handwriting on a piece of paper, deviantart hd, artstation hd, ultrarealistic, highly detailed award winning artwork“ – Text nachträglich eingefügt

Datum: 24.10.2023

Autor

Bertram Sändig

Bertram ist Experte für KI- und Machine-Learning-Systeme mit einem Fokus auf NLP und Neural Search. Er hält einen B.Sc. in Informatik der FH Brandenburg und seit 2018 einen M.Sc. der TU Berlin mti den Schwerpunkten Machine Learning und Robotik. Parallel zum Studium war er fünf Jahre Leitender Software-Ingenieur im Space Rover Project des Luft- und Raumfahrtsinstituts der TU-Berlin. 2018 stieg er als Machine Learning Engineer bei Neofonie ein und leitet heute das Machine Learning Team bei ontolux, einer Marke der Neofonie GmbH. Mit großer Leidenschaft überführt er aktuelle Forschungsergebnisse in nutzbare Anwendungen für Kunden, vor allem an der Anpassung, Optimierung und Integration von Large Language Modellen in Suchsysteme und das Textanalyse-Toolkit von ontolux.