Chain of Thought Prompts (CoT) sind ein einfaches Hilfsmittel, um einen Einblick in die ‘Gedankengänge’ des Modells zu erhalten.
Chain of Thought ist eines von vielen wichtigen Prompt Patterns – andere Beispiele sind In-Context-Learning und Persona-Pattern.
Ein Modell ‘weiss’ ja nicht wirklich und ‘Gedankengänge’ hat es schon gar nicht. Wir verwenden die Ausdrücke dennoch, weil wir keine besseren haben. Also:
Was sind Chain of Thought Prompts und warum sind sie wichtig?
Einfach ausgedrückt, Chain of Thought Prompts (CoT) sind eine Methode, um KI-Modelle dazu zu bringen, ihre Entscheidungsprozesse in klaren, nachvollziehbaren Schritten darzustellen.
Anstatt direkt eine Antwort zu geben, führt die KI durch eine Kette von Überlegungen, die zu dieser Antwort führen.
Das ist besonders nützlich in komplexen Situationen, in denen der Entscheidungsweg entscheidend ist.
Die Idee hinter Chain of Thought Prompts ist es, die Transparenz und Nachvollziehbarkeit von KI-Systemen zu erhöhen. Dies hat mehrere Vorteile:
- Erklärung und Vertrauen: Wenn eine KI ihre Schritte offenlegt, wird es einfacher, ihre Entscheidungen zu verstehen und zu vertrauen.
- Fehlererkennung: Ein klarer Gedankengang hilft, mögliche Fehler im Prozess zu identifizieren und durch verbesserte Prompts zu korrigieren.
- Lernmöglichkeit: Für Entwickler und Nutzer ist es lehrreich, zu sehen, wie die KI zu ihren Schlussfolgerungen kommt. Das baut bis zu einem gewissen Grad Vertrauen auf.
Formulieren eines Chain-of-Thought Prompts
Eigentlich ist es ganz einfach, einen CoT-Prompt zu formulieren.
- Sorgfältig sein: Ermutige das Modell, seine Gedankengänge zu erklären. Verwende Formulierungen wie “Zeige mir, wie du das lösen würdest” oder “Erkläre deine Überlegungen”.
- Geduldig sein: Manchmal braucht das Modell etwas Zeit, um seine Antwort zu entwickeln. Gib ihm die Möglichkeit, seine Gedanken zu ordnen.
- Experimentierfreudig sein: Probiere verschiedene Arten von Fragen und Aufgaben aus, um zu sehen, wie das Modell reagiert.
Beispiel eines Chain of Thought Prompts
Der folgende Screenshot zeigt einen Prompt in OpenAI’s ChatGpt 3.5 ohne CoT. Wir erhalten ein schönes Antwortsätzchen mit dem Ergebnis.
Jetzt wenden wir das Chain-of-Thougt-Pattern an. Dazu ergänzen wir den Prompt. ChaGPT 3.5 erläutert sofort viel ausführlicher, wie auf dem folgenden Screenshot zu sehen ist.
ChatGPT 4 und 4o, sowie Google’s Gemini kommen von Haus aus mit eingeschaltetem Chain-of-Thought. So erklären sich auch die ausführlichen Antworten, die wir dort erhalten. Einen Screenshot erstelle ich dazu nicht extra.
Wir können bei diesen Modellen das Verhalten ausschalten – mit einer Art ‘inversem’ Chain-of-Thought:
Grenzen des Chain-of-Thought-Patterns
Das Pattern kann dazu beitragen, dass die generierten Ergebnisse sogar besser werden. Siehe dazu auch die erste Veröffentlichung zu CoT: Wei et al, Chain-of-Thought Prompting Elicits Reasoning in Large Language Models, NeurIPS 2022, hier abrufbar https://arxiv.org/abs/2201.11903.
Untersuchen wir das, nachdem etwa eineinhalb Jahre verstrichen sind. Diesmal verwenden wir nicht die ganz großen LLM, wie ChatGPT 4 oder Gemini, sondern das kleinere Mistral 7B Instruct Version 02, von Mistral AI. Es ist klein genug, um es mit Ollama auch lokal auf dem Laptop laufen zu lassen.
Es ist für einige Überraschungen gut, wie der folgende Screenshot zeigt:
Mistral versucht ebenfalls, gleich von Anfang an, ein Chain-of-Thought-Verhalten an den Tag zu legen. Doch plötzlich ist das Ergebnis 60 und nicht mehr 70, wie wir im vorherigen Beispiel korrekterweise gesehen haben. Da schwindet doch gleich das Vertrauen, nicht wahr?
Versuchen wir es mit explizitem Chain-of-Thought:
Mit dem Ergebnis 66 ist eine ‘Korrektur nach oben’ zu verzeichnen – doch das Ergebnis ist noch immer falsch.
Konfrontieren wir Mistral doch mit dem korrekten Ergebnis:
Interessant: das Sprachmodell entschuldigt sich und rechnet dann gleich nochmals vor. Diesmal mit einer noch ausführlicheren Erklärung. Es kann zwar die arithmetischen Regeln wiedergeben, doch anwenden kann es sie nicht. Am Schluss entschuldigt das Modell sich nochmals ganz höflich und insistiert auf dem falschen Ergebnis.
Warum kann Mistral nicht rechnen?
Dass Mistral beim Rechnen so kläglich versagt, kann nicht auf seine weiteren Eigenschaften übertragen werden. Wie genau und auf welchen Daten Mistral trainiert wurde, konnte ich nicht herausfinden – die Hersteller halten sich diesbezüglich bedeckt. Rechenkünste haben sie dem Modell offensichtlich nicht beigebracht.
Wenn wir happy sind mit den vielen guten Eigenschaften, die Mistral mitbringt, dann können wir es für das korrekte Lösen von Rechenaufgaben fine-tunen. Das dürfte allerdings in einigen Aufwand ausarten und es könnte sich lohnen, nach einem Modell Ausschau zu halten, das Rechnen kann. Dieses wird andere Schwächen haben.
Fazit
Chain of Thought Prompts sind ein nützliches Werkzeug, das uns Einblick bringt, mit welchen Schritten, das KI-Modell zur Schlussfolgerung gelangt.
Auch Laien, die ChatBots einsetzen, können daraus nutzen ziehen.
Wer als AI Engineer, KI-Modelle in seine Anwendungen einbauen will, kommt nicht um Chain-of-Thought herum.