LLMs: Chain-of-thought prompting

Man konnte zeigen, dass man von Large Language Models (wie GPT) bei einigen Fragestellungen häufiger richtige Antworten erhält, wenn man der Frage beispielsweise das Zusatzkommando „Let’s think step by step“ hinzufügt. Das Modell generiert dann ggf. eine Wortfolge, die wie eine schrittweise Herleitung des Ergebnisses aussieht. M. E. ist daran interessant, dass solche Modelle, obwohl sie keinerlei Verständnis von Frage und Antwort haben, auf diese Weise bessere Antworten generieren.

Ein entsprechendes Paper findet sich hier: https://openreview.net/pdf?id=e2TBb5y0yFf

Im Paper wird folgendes Beispiel genannt:

„Q: A juggler can juggle 16 balls. Half of the balls are golf balls, and half of the golf balls are blue. How many blue golf balls are there?
A: Let’s think step by step.

(Output) There are 16 balls in total. Half of the balls are golf balls. That means that there are 8 golf balls. Half of the golf balls are blue. That means that there are 4 blue golf balls.“

Ohne die Zusatzanweisung „Let’s think step by step“ hätte das Modell, das im Beispiel verwendet wurde, eine falsche Antwort gegeben: Es hätte „8“ geantwortet.

Gerade weil das Modell kein Verständnis davon hat, welche Wortfolgen erzeugt werden, muss man dabei im Auge behalten, dass auch diese Methode nicht zu fehlerfreien Antworten führt. Bei vielen Antworten wird es sich weiterhin um „Halluzinationen“ handeln.

„Like previous GPT models, the GPT-4 base model was trained to predict the next word in a document“

Was bedeutet das nach meinem Verständnis:

Bei GPT ist es so, dass es sich den bestehenden Text „anschaut“ und dann, anhand von dem, was da bereits steht, das nächste Wort errechnet (immer nur ein Wort). Bei der Berechnung werden die wahrscheinlichsten Kandidaten für das nächste Wort ermittelt. Dann schreibt GPT einen der Kandidaten hin* und fängt erneut an. Text „lesen“, nächstes Wort ausrechnen. Text „lesen“, nächstes Wort ausrechnen. Usw. usf.

(Wobei intern keine Worte sondern nur Zahlen verwendet werden.)

Wenn ein Mensch etwas sinnvolles schreibt, hat er / sie vermutlich schon vorher eine gewisse Vorstellung von dem, was er / sie schreiben will.

Wenn ein Mensch schreibt „Delphine sind Säugetiere, weil sie lebende Nachkommen auf die Welt bringen und Milch geben.“, dann hat er / sie sich evtl. aus den Tatsachen hinter dem „weil“ die vorhergehende Aussage „Säugetier“ hergeleitet.

Bei GPT kann das nicht passieren. GPT schreibt das Wort „weil“ einfach nur, weil der Algorithmus dies (basierend auf den Wörtern, die bereits vorhanden sind) errechnet hat.

Die Wahrscheinlichkeiten werden beim „Training“ des Modells ermittelt. Das Modell wird mit Unmengen an Text gefüttert und leitet sich daraus die Wahrscheinlichkeiten ab.

* Es hat sich gezeigt, dass die Texte „besser“ und interessanter werden, wenn nicht immer das wahrscheinlichste Wort verwendet wird. Eigentlich handelt es sich auch nicht unbedingt um Wörter sondern um sogenannte Token. Dabei kann es sich u. a. um Worte, Teilworte oder einzelne Buchstaben handeln.