Von Zero-Shot-Prompten bis RAG – Teil 6: Self-Consistency Prompting
Auch in Teil 6 unserer Serie beschäftigen wir uns wieder mit einer fortgeschrittenen Prompting-Technik. Heute geht es um Self-Consistency-Prompting. Self-Consistency-Prompting basiert auf einer einfachen Idee: Warum nur eine einzige Antwort generieren lassen, wenn das Modell verschiedene Denkwege ausprobieren kann? Klassisches Chain-of-Thought-(CoT-)Prompting fordert das Modell auf, seinen Gedankengang offenzulegen. Self-Consistency geht einen Schritt weiter und sammelt gleich mehrere Gedankengänge.
Statt also einen Prompt zu schreiben und mit der einen Antwort zu arbeiten, forderst du mehrere Samples an. Jedes Sample liefert einen eigenen Chain-of-Thought und am Ende eine Kandidaten-Antwort. Nun zählst du, welche Antwort am häufigsten auftritt – und gibst genau diese als finale Ausgabe aus.
So profitierst du gleich doppelt: Erstens werden zufällige Ausreißer oder Denkfehler unterdrückt, weil sie statistisch wenig Gewicht haben. Zweitens nutzt du die „kollektive Intelligenz” des Modells, das verschiedene Pfade erkundet und so auf die robusteste Lösung kommt. Ein praktisches Beispiel: Bei Mathematikaufgaben liefert das Modell mal „42”, mal „43” und mal „44” – je nachdem, welchen Rechnungsweg es wählt. Statt dich auf die erste Antwort zu verlassen, erzeugst du 30 Prompts und stellst fest, dass „43” in 18 Fällen auftaucht, „42” nur in 7 und „44” in 5. Voilà: Deine finale Antwort lautet dann „43”.
Ein weiteres Beispiel mit einem One-Shot-Prompt und 3 Anläufen:
Wir sehen, dass in diesem Beispiel 7 die richtige Antwort zu sein scheint, da sie am häufigsten auftritt.
In der Praxis lohnt sich Self-Consistency-Prompting vor allem bei Aufgaben, bei denen es auf Zuverlässigkeit und Robustheit ankommt – etwa bei komplexen Rechenaufgaben, juristischen Textanalysen oder medizinischen Klassifikationen. Sobald ein einzelner Ausreißer fatale Folgen haben könnte (beispielsweise bei der Diagnose-Hilfe eines Modells) oder wenn mehrere valide Lösungswege existieren, bringt das Mehrfach-Sampling einen klaren Mehrwert. Anders sieht es aus, wenn du schnell einfache Fakten abrufen willst, wie „Wer war 1999 Bundeskanzler?“ oder „Wie heißt der größte See der Welt?“. Hier ist der Overhead aus erhöhtem Sampling und Vote-Aggregation schlicht übertrieben: Die Anfrage läuft in einem Durchgang mit den anderen Techniken fast immer korrekt, und der Zeit- sowie Kostenaufwand lohnt den Mehraufwand nicht. Auch in Echtzeit-Anwendungen mit niedriger Latenz – etwa Chatbots, die in Millisekunden reagieren müssen – kann Self-Consistency aufgrund der mehrfachen Modellaufrufe zu Verzögerungen führen. In solchen Fällen greifst du besser auf schlankere Decoding-Strategien zurück und setzt Self-Consistency nur selektiv dort ein, wo Präzision die Performance-Einbuße rechtfertigt.
Self-Consistency-Prompting ist eine elegante und effektive Methode, um die Genauigkeit von Sprachmodellen ohne großen Mehraufwand zu verbessern. Ob knifflige Rechenaufgaben oder komplexe Klassifizierungen – mit Self-Consistency holst du das Beste aus deinem Modell heraus. Probiere es aus, und lass dich überraschen, wie oft der Konsens klarer wirkt als eine Einzelantwort!
Quellen:
