Spontan, wild und Kuchen!

Kleine Sprachmodelle im Praxistest – Teil 5

OpenAI’s gpt-oss 20B

Mitten in meinen Praxistests kommt auf einmal OpenAI und stellt eine neue Version von gpt mit „open weights“ zur Verfügung. Auch wenn es als Reasoning-Modell eigentlich nicht in das Schema dieses Vergleichs passt, lässt sich ein Modell von OpenAI natürlich nicht einfach ignorieren! Zudem ist die Reasoning-Phase recht kurz und wenn man in LM Studio einstellt, dass reasoning_content und content in der API getrennt werden, funktioniert es auch mit der Editor-Integration in Zed.

Aber ist das Modell auch gut?

Spoiler: Nein.

Direkt die erste Testfrage liefert eine negative Überraschung: gpt wertet das aktuelle Datum aus, weiß also, dass gerade August 2025 ist, und antwortet trotzdem, dass Joe Biden Präsident der USA sei.

Die Antworten zu den anderen Testfragen (siehe Teil 2) sind unauffällig. gpt macht auf Deutsch Fehler, so ist bei der Frage nach dem Gesetzgebungsprozess statt vom Vermittlungsausschuss vom „Konkiliationsausschuss“ die Rede. Auch in der Inge-Wenzel-Geschichte sind ein paar merkwürdige Formulierungen.

Bei der Frage nach Sehenswürdigkeiten im Frankfurter Nordend (zum Test von Halluzinationen aus dem Modellwissen) schneidet gpt-oss ziemlich schlecht ab.

genannte Ortedavon tatsächlich existentweitgehend korrekt beschriebendavon tatsächlich im Nordend
Gemma3-12B171092
Gemma3-27B20982
Mistral Small 3.210993
gpt-oss 20B15210
Qwen3 30B7000
EXAONE 4.0nach 200 abgebrochen??0

Immerhin ist es schnell. Hier der durchschnittliche Token/Sekunde-Wert über die 8 Testfragen (auch wieder aus Teil 2):

ModellTokens/Sekunde
Qwen3 30B67
gpt-oss 20B60
Gemma3 12B31
Mistral Small 3.220
Gemma3 27B13
EXAONE 4.012

Bei den Programmieraufgaben funktionierten Tic-Tac-Toe, Minesweeper und Vier Gewinnt ohne Computergegner ohne Fehler. Vier Gewinnt mit Computergegner funktionierte dem ersten Anschein nach schon, allerdings hatte die Logik, nach der der Computer zieht, einen Fehler. Sofern der menschliche Spieler einzügig gewinnen kann, sollte der Computer das eigentlich blockieren, was das gpt-Programm jedoch nicht tat. Der Versuch, gpt das Problem selbst korrigieren zu lassen, schlug fehl. Nach einer kleinen händischen Debugging-Session bekam ich heraus, dass es sich um einen banalen „off-by-one“-Fehler handelte und der Computer einfach immer eine Spalte zu weit links setzt als die tatsächlich berechnete. Spaßeshalber habe ich mal Qwen3 Coder und Devstral das Programm analysieren lassen um zu sehen, ob die vielleicht den Fehler finden. Qwen3 Coder tappte dabei völlig im Dunkeln. Devstral gab recht allgemeine Antworten und schlug vier Möglichkeiten vor, woran es vielleicht liegen könnte, und eine davon war tatsächlich, dass es sich um einen off-by-one-Fehler handeln könnte. Konkret konnte aber auch Devstral den Fehler nicht finden.

Das große Problem von gpt-oss

Das große Problem von gpt-oss 20B ist aber, dass es stärker als die anderen Modelle (außer dem eh schon disqualifizierten Exaone) halluziniert.

Und das nicht nur im Modellwissen, sondern auch bei Fragen nach Fakten, die im Kontext stehen!

Das betrifft sowohl in den Kontext geladene große Texte als auch per Tool-Nutzung aus Wikipedia geholte Texte. (gpt-oss ist für Tool-Nutzung optimiert und kann aus LM Studio heraus Wikipedia abfragen.)

Damit ist es für Retrieval Augmented Generation und Cache Augmented Generation (kommt im nächsten Teil etwas genauer dran) ungeeignet!

Das passiert zwar bei anderen Modellen einschließlich Mistral auch gelegentlich, aber nicht so deutlich und so falsch wie bei gpt-oss 20B. Noch schlimmer: Wenn man bei Mistral noch mal nachfragt, wo das behauptete denn nun eigentlich im Text steht, bemerkt es meistens den Fehler. gpt-oss dagegen bleibt fest in der Halluzination gefangen und erfindet Textstellen.

Fazit

Diesen Ergebnissen nach fühlt sich gpt-oss in fast allen betrachteten Kriterien wie eine schlechtere Version von Qwen3 an. Es ist ein bisschen langsamer, beim Programmieren ein bisschen schlechter, beide halluzinierten viel und ist beide sind für die Verarbeitung eines größeren Context-Window nicht geeignet; Qwen3 nicht, weil es sich aufhängt (siehe Teil 4) und (siehe Teil 6 für die Korrektur!) gpt-oss 20B nicht, weil es zu stark halluziniert und deswegen den Sinn eines großen Kontexts ad absurdum führt.

Wie immer beziehen sich alle Ergebnisse auf Tests, die ich mit LM Studio auf meinem MacBook Pro mit M2 Max und 32 GB RAM durchgeführt habe und bei gpt-oss kam die 20B-Version zum EInsatz. Bei den Optionen wurde die context-length hoch gedreht und Flash Attention und KV-Quantization (diesmal FP16) aktiviert.