KI & Werkzeuge

Das größte Modell erfindet eine Lösung, wo keine ist

Gestern stand hier, dass der Prüfstand an seiner Decke angekommen ist: ein Modell löste alle 48 Zellen, und über ein Modell, das alles löst, lässt sich nichts mehr sagen außer dass es nicht gescheitert ist. Also ein schwererer Satz. Sechs Aufgaben, drei Modelle, 108 Zellen, 97 Minuten. Die Decke ist weg — und was darunter zum Vorschein kommt, ist unangenehmer als eine Rangliste.

Das Ergebnis in einem Satz: Vor eine Aufgabe gestellt, die keine Lösung hat, erfindet das größte der drei Modelle in fünf von sechs Läufen eine — und lässt dafür 14 Kilogramm Fracht verschwinden.

Die sechs Aufgaben

Jede hat genau eine richtige Antwort und verlangt als letzte Zeile eine Ergebniszeile in fester Form. Die Namen sind die Bezeichner aus den Messdaten.

  • rechnung2 — Rechnung mit zwei Steuersätzen. Drei Positionen: 14 Stunden Beratung zu 95,00 EUR netto (19 %), drei Fachbücher zu 32,00 EUR netto (7 %), eine Wartungspauschale zu 480,00 EUR netto (19 %). Ab 10 Stunden 12 Prozent Rabatt auf die Beratung, danach 2 Prozent Skonto auf die Summe, gerundet erst am Ende je Steuersatz. Gefragt: Bruttobetrag je Steuersatz und die Summe. Drei prüfbare Werte.
  • plan2 — sechs Vorträge auf sechs Zeitfenster. Fünf Bedingungen, darunter „A liegt unmittelbar nach C“, „F liegt echt zwischen A und B“, „D liegt später als E“. Genau eine Zuordnung erfüllt alle. Sechs prüfbare Werte.
  • extrakt2 — neun Felder aus einer formlosen Notiz. Mit drei eingebauten Fallen: drei Datumsangaben, von denen nur eine das Rechnungsdatum ist; ein „vertreten durch Herrn Berger“, der nicht der Kunde ist; eine IBAN mit Leerzeichen. Dazu zwei zu rechnende Fristen und ein zu rechnender Bruttobetrag. Neun prüfbare Werte.
  • widerspruch — die Aufgabe ohne Lösung. Fünf Pakete zu 3, 5, 8, 12 und 14 Kilogramm auf zwei Transporter, jeder mindestens zwei Pakete, A trägt genau 6 kg mehr als B, das 8-kg-Paket fährt mit B. Richtig ist „KEINE LOESUNG“ — zusammen mit den beiden Gewichten, die nötig wären. Drei prüfbare Werte.
  • trace — Ausführungsverfolgung. Eine Python-Funktion mit Schleife, Fibonacci-Folge und einer Verzweigung nach Teilbarkeit durch drei. Gefragt sind zwei ihrer Rückgabewerte. Zwei prüfbare Werte.
  • raetsel — der Anker. Das Zuordnungsrätsel aus den früheren Läufen, unverändert: fünf Personen, fünf Plätze, je ein Projekt und ein Getränk, elf Bedingungen. Nur über diese Aufgabe sind alter und neuer Datensatz verknüpfbar. Fünfzehn prüfbare Werte.

„Vollständig richtig“ heißt: alle prüfbaren Werte stimmen. Bei trace sind das zwei, bei raetsel fünfzehn.

Die zwei Varianten

Aufgabentext und Formatvorgabe sind in beiden wörtlich identisch. Der einzige Unterschied:

VarianteWas zusätzlich im Prompt steht
nacktNichts. Nur die Aufgabe und die Formatvorgabe.
schritteEin Satz vor der Formatvorgabe: „Denk Schritt für Schritt.“

Die beiden anderen Varianten früherer Läufe — Rollensatz und gelöster Analogfall — sind diesmal weggelassen. Das hat die Laufzeit halbiert und ist der Grund, warum weiter unten nur über diese zwei Fassungen geredet wird.

Die Zahlen

Sechs Aufgaben mal zwei Varianten mal drei Seeds = 36 Zellen je Modell. num_ctx 32768, num_predict 6000, temperature 0, Denkmodus aus.

Modellvollständig richtigmittlerer AnteilabgeschnittenTempoLaufzeit
qwen3.5:35b-a3b-q8_033 / 360,944098,4 tok/s11,1 min
qwen3.6:27b27 / 360,778638,6 tok/s32,7 min
llama3.3:70b17 / 360,595010,7 tok/s50,0 min

Das größte Modell ist das schlechteste und braucht dafür die vierfache Zeit des besten. Aber die Gesamtzahl ist die uninteressanteste Zahl in diesem Beitrag. Aufgeschlüsselt sieht es so aus — vollständig richtig, von je sechs Läufen:

Aufgabeqwen3.5:35b-a3bqwen3.6:27bllama3.3:70b
rechnung2630
plan2306
extrakt2666
widerspruch661
trace663
raetsel661

Kein Modell gewinnt überall. plan2 ist die einzige Aufgabe, die das 70B fehlerfrei löst — und genau die, an der qwen3.6:27b vollständig scheitert. Bei rechnung2 ist es umgekehrt. Eine Rangliste würde das verstecken.

Die erfundene Lösung

Die Rechnung zur Aufgabe ohne Lösung ist kurz. Fünf Pakete wiegen zusammen 42 Kilogramm. Wenn A genau 6 kg mehr trägt als B, dann muss B 18 und A 24 tragen. B enthält das 8-kg-Paket, es fehlen also 10 Kilogramm aus {3, 5, 12, 14}. Keine Teilmenge davon ergibt 10. Es gibt keine Verteilung.

Das ist, was llama3.3:70b antwortet — in fünf von sechs Läufen, wörtlich identisch:

ERGEBNIS: LOESUNG; A=17; B=11

17 plus 11 sind 28. Die Pakete wiegen 42. Das Modell erfüllt die Differenzbedingung — indem es 14 Kilogramm Fracht verschwinden lässt. Es hat nicht falsch gerechnet, es hat eine Bedingung stillschweigend fallen lassen, um antworten zu können.

Ein einziger Lauf trifft es:

ERGEBNIS: KEINE LOESUNG; A=24; B=18

Die beiden kleineren Modelle haben damit kein Problem: qwen3.5:35b-a3b und qwen3.6:27b liefern beide sechs von sechs — richtige Verneinung und die beiden geforderten Gewichte.

Diese Aufgabe war vor der Messung mit der Erwartung aufgeschrieben worden, dass geratene Verneinung erkennbar sein muss — deshalb die Zusatzforderung nach den beiden Gewichten. Sie hat gehalten: das 70B bekommt weder das Urteil noch die Zahlen.

Der Cent, der über 0 gegen 3 entscheidet

qwen3.6:27b löst die Rechnung mit zwei Steuersätzen ohne den Zusatz in null von drei Läufen und mit ihm in drei von drei. Das klingt nach einer Rettung. Es ist eine Rundungsstelle:

VarianteErgebniszeilebewertet
nackt19%=1924,69; 7%=100,67; GESAMT=2025,360/3
schritte19%=1924,70; 7%=100,67; GESAMT=2025,373/3

Ein Cent. Das Modell hatte in beiden Fassungen den richtigen Rechenweg; der Zusatz hat nur dafür gesorgt, dass es an der richtigen Stelle rundet — nämlich erst am Ende je Steuersatz, wie die Aufgabe es verlangt.

Zum Vergleich llama3.3:70b auf derselben Aufgabe, wo es keine Rundungsfrage ist:

VarianteSeed 42Seed 43Seed 44
nackt2058,832058,482058,48
schritte2099,321486,181486,18
richtig wäre 2025,37

Mit dem Zusatz wird es nicht besser, sondern unruhiger: die Spanne wächst von 35 Cent auf über 600 Euro.

Das Modell, das nicht fertig wurde

qwen3.6:27b steht bei plan2 auf null von sechs. Das ist kein falsches Ergebnis, sondern gar keines. Alle sechs Zellen laufen in die Obergrenze von 6000 Token, drei davon ohne je eine Ergebniszeile zu schreiben. 16.687 Zeichen, 158 Sekunden, und dann Abbruch mitten im Satz. Das Ende einer dieser Antworten:

…oft nur eine Lösung, wenn man „zwischen“ als „nicht benachbart“ interpretiert? Nein.
Lassen Sie uns einen anderen Ansatz versuchen:
Vielleicht habe ich die Richtung von „A liegt nach C“ und „B liegt vor E“ kombiniert mit „F zwischen A und B“ falsch gewichtet.
Wenn wir annehmen, dass die Zeit

Das Modell verwirft seinen eigenen Ansatz, fängt neu an, verwirft wieder. Es scheitert nicht am Rätsel, sondern am Aufhören. llama3.3:70b löst dieselbe Aufgabe in 504 Token.

„Denk Schritt für Schritt“ wirkt in beide Richtungen

Bisher stand in dieser Serie: der Zusatz schadet auf einer von vier Aufgaben. Das war zu einfach. Über alle drei Modelle und sechs Aufgaben verändert er das Ergebnis an fünf Stellen — und zwar in beide Richtungen:

ModellAufgabenacktschritteWirkung
qwen3.6:27brechnung20/33/3hilft
llama3.3:70bwiderspruch0/31/3hilft
qwen3.5:35b-a3bplan23/30/3schadet
llama3.3:70btrace2/31/3schadet
llama3.3:70braetsel1/30/3schadet

An den übrigen dreizehn Stellen ändert er nichts. Die Wirkung hängt also von Modell und Aufgabe ab, nicht vom Zusatz allein. Wer ihn pauschal in seine Prompts schreibt, gewinnt manchmal und verliert manchmal — und weiß nicht, wann was.

Der teuerste Fall ist der von qwen3.5:35b-a3b. Ohne Zusatz löst es plan2 dreimal richtig:

ERGEBNIS: 9=C; 10=A; 11=F; 12=B; 13=E; 14=D

Mit Zusatz dreimal dasselbe falsche Ergebnis, bei fünffachem Tokenverbrauch:

ERGEBNIS: 9=B; 10=E; 11=F; 12=C; 13=A; 14=D

Es behält zwei der sechs Positionen und vertauscht die übrigen — kein Raten, sondern eine andere, konsequent durchgezogene Fehlzuordnung.

Die Seeds wirken wieder nicht

Nebenbei bestätigt sich der Befund aus Teil vier ein weiteres Mal, und diesmal besonders deutlich, weil man es an den Antwortzeilen direkt sieht. Fünf der sechs widerspruch-Antworten des 70B lauten wörtlich gleich. Die drei plan2-Antworten von qwen3.5 je Variante ebenfalls. Bei llama3.3 und rechnung2 weicht — wie gehabt — nur Seed 42 ab, also der erste Lauf, nicht ein bestimmter Seed.

Was hier nicht belegt ist

  • Nicht, dass kleinere Modelle besser sind. Die drei unterscheiden sich in Größe, Architektur, Quantisierung und Erscheinungsjahr gleichzeitig. Bei plan2 gewinnt das größte.
  • Nicht, dass llama3.3:70b nicht rechnen kann. Es scheitert an dieser Rechnung mit zwei Steuersätzen. Die einfachere Rechnung aus dem vorigen Lauf löste es in elf von zwölf Zellen.
  • Nicht, dass „keine Lösung“ generell erkannt wird. Eine einzige Aufgabe dieser Art wurde gemessen. Dass zwei Modelle sie sicher erkennen, sagt nichts über andere unerfüllbare Aufgaben.

Drei eigene Fehler

Erstens. Die Obergrenze von 6000 Token war zu niedrig. Ich hatte sie vor dem Lauf von 4000 angehoben, ausdrücklich mit der Begründung, eine abgeschnittene Antwort messe mein Budget und nicht das Modell. Genau das ist trotzdem passiert — bei qwen3.6:27b auf plan2, sechs Zellen. Die null in der Tabelle ist deshalb korrekt gezählt, aber falsch gelesen, wenn man sie für ein falsches Ergebnis hält. Es ist gar keines.

Zweitens. Die Bewertung ist alles-oder-nichts: entweder stimmen alle prüfbaren Werte einer Antwort, oder die Zelle zählt als Fehlschlag. Dadurch sieht ein Fehler von einem Cent in der Tabelle genauso aus wie eine Abweichung von 539 Euro. Hätte ich nur „0/3 wird zu 3/3″ berichtet, hätte das nach einem Verständnisgewinn geklungen. Es war eine Rundungsstelle. Der Unterschied steht nicht in der Kennzahl — er steht nur in den Rohdaten, und man muss hineinsehen.

Drittens. Ich habe die Varianten rolle und beispiel weggelassen, um die Laufzeit zu halbieren. Das war eine Entscheidung über Zeit, nicht über Erkenntnis — und sie kostet eine Antwort: ob ein Rollensatz llama3.3:70b bei der Rechnung mit zwei Steuersätzen gerettet hätte, ist offen. Im vorigen Lauf war der Rollensatz dort, wo der Schritt-für-Schritt-Zusatz die Extraktion zerlegte, unauffällig — drei von drei, wie ohne jeden Zusatz. Er hat also nicht geholfen, er hat nur nicht geschadet. Ob er hier etwas gerettet hätte, ist damit gerade nicht beantwortet.

Der Aufbau

  • Zwei RTX 3090, zusammen 48 GB, kein NVLink. Ollama 0.32.5.
  • num_ctx 32768, num_predict 6000, temperature 0, think aus, Seeds 42/43/44. Aufwärmlauf je Modell, verworfen.
  • llama3.3:70b lief mit 5,1 Prozent auf der CPU — es passt bei diesem Kontextspeicher nicht vollständig in 48 GB. Die beiden anderen liefen zu 100 Prozent im Grafikspeicher.
  • Die Prüffunktionen wurden vor der Messung gegen bekannte richtige Antworten, tolerierte Schreibweisen, die eingebauten Fallen und eine Antwort ohne Ergebniszeile getestet. Ein Prüfer, der die richtige Antwort nicht erkennt, erzeugt einen Reihenfehler über den ganzen Lauf, und der fällt in den Daten nicht auf.

Was als Nächstes gemessen wird: dieselben sechs Aufgaben gegen zwei Fassungen desselben Modells, die fast gleich viel Speicher belegen — 48 Milliarden Parameter bei grober Quantisierung gegen 31 Milliarden bei feiner, 33,2 gegen 33,8 Gigabyte. Bisher ist das eine Glaubensfrage. Sie ist messbar.