Modelle, die rechnen bevor sie antworten
Warum es hilft, ein Modell erst nachdenken zu lassen: Gedankenketten, Rechenzeit zur Antwortzeit und wann sich der Aufpreis lohnt.
Die Idee
Ein Sprachmodell hat je Token eine feste Menge Rechenschritte zur Verfügung. Eine schwierige Frage in einem einzigen Token zu beantworten ist deshalb strukturell schwer, unabhängig davon, wie gut das Modell ist.
Lässt man es stattdessen zwanzig Zwischenschritte schreiben, bekommt es zwanzigmal so viele Rechenschritte. Die Zwischenschritte sind zugleich ein Notizzettel, auf dem Teilergebnisse stehen bleiben.
Wann es hilft
| Aufgabe | Gewinn |
|---|---|
| Mehrstufige Rechnung | groß |
| Code mit Randfällen | groß |
| Logische Prüfung, Vertragsbedingungen | groß |
| Planung mit Abhängigkeiten | mittel |
| Zusammenfassen | gering |
| Umformulieren, übersetzen | keiner |
| Fakten nachschlagen | keiner, das braucht Abruf |
Die Verfahren
| Verfahren | Prinzip | Zusätzliche Kosten |
|---|---|---|
| Gedankenkette im Prompt | „Denke Schritt für Schritt" | gering |
| Wenige Beispiele mit Rechenweg | Vorbild im Prompt | gering |
| Selbstkonsistenz | Mehrfach rechnen, Mehrheit nehmen | Faktor 5 bis 20 |
| Trainiertes Reasoning-Modell | Denkschritte wurden antrainiert | Faktor 3 bis 30 |
| Werkzeugnutzung | Rechnen an einen Rechner abgeben | gering, zuverlässiger |
Die letzte Zeile wird oft übersehen und ist bei arithmetischen Aufgaben die beste Antwort: Ein Modell, das eine Rechnung an einen Taschenrechner abgibt, ist zuverlässiger und billiger als eines, das sie sich erarbeitet.
Selbstkonsistenz
from collections import Counter
def selbstkonsistent(frage, modell, n=8):
# Mehrfach mit Temperatur > 0 rechnen und die haeufigste Antwort nehmen.
antworten = [modell(frage, temperature=0.7)["endergebnis"] for _ in range(n)]
zaehler = Counter(antworten)
beste, haeufigkeit = zaehler.most_common(1)[0]
return beste, haeufigkeit / n # zweiter Wert als KonfidenzmassDer zweite Rückgabewert ist der eigentliche Gewinn: Er ist ein empirisches Konfidenzmaß. Liegt die Übereinstimmung unter etwa 60 Prozent, gehört der Fall zur menschlichen Prüfung.
Rechenzeit zur Antwortzeit
Bei 2.000 Denkschritten und 200 Token Antwort ist der Aufwand elfmal so hoch wie
bei einer direkten Antwort. Empirisch verbessert sich die Trefferquote bei
mehrstufigen Aufgaben ungefähr logarithmisch in T_denk: Eine Verdopplung der
Denkzeit bringt einen ungefähr konstanten Zugewinn, bis eine Sättigung eintritt.
Der Gedankengang ist kein Protokoll
Dies ist der wichtigste Vorbehalt für jede Nachweisführung. Der ausgegebene Gedankengang ist selbst wieder erzeugter Text und muss nicht der Rechnung entsprechen, die zur Antwort geführt hat. Untersuchungen zeigen Fälle, in denen ein Modell einen Hinweis im Prompt nachweislich benutzt und ihn im Gedankengang nicht erwähnt.
Für die Praxis folgt daraus:
- Den Gedankengang als Arbeitshilfe behandeln, nicht als Begründung im rechtlichen Sinn.
- Für Nachweise das Ergebnis, die Eingaben, die Modellversion und die Parameter protokollieren.
- Wo eine Begründung verlangt ist, sie gegen die tatsächlichen Quellen prüfen, nicht gegen die Erzählung des Modells.
- Bei Hochrisikoanwendungen die menschliche Aufsicht auf das Ergebnis richten, nicht auf den Gedankengang.
Siehe Menschliche Aufsicht und Protokollierung.
Wann sich die Kosten rechnen
Durchgerechnet: Mehrkosten 0,02 EUR je Anfrage, Verbesserung der Trefferquote um
6 Prozentpunkte, Kosten eines Fehlers 15 EUR. Dann ist
0,06 × 15 = 0,90 EUR > 0,02 EUR: der Aufpreis rechnet sich um den Faktor 45.
Bei einer Aufgabe ohne Fehlerkosten, etwa dem Umformulieren eines Textes, rechnet
er sich nie.
Passende Kurse und Quellen
Chain-of-Thought Prompting
Zwischenschritte im Prompt verbessern mehrstufige Aufgaben deutlich. Die Grundlage der heutigen Modelle mit Denkschritten.
Für alle, die Prompts bauen: die Arbeit hinter dem Muster mit den Zwischenschritten.