Zum Inhalt springen

Benchmark-Ergebnisse

Der standardisierte Test (ollama-agent probe) misst pro Modell und pro Endpoint: Komplexitätsstufen 1–5, größte bewältigte Kontextgröße (Needle-Test bis 256k, Call-Timeout 10 min), Antwortzeiten und Stabilität. Alle 25 Modelle wurden auf beiden Lab-Servern getestet (probe show für die volle Tabelle); hier die brauchbaren Kandidaten auf dem schnellen Server (11434):

ModellStufenKontext realTok/swarmAnmerkung
gemma4:26b-a4b-it-qat5/5256k35.36.6svolles deklariertes Fenster nutzbar (256k in 4m08s) — bester Allrounder
gemma4:e4b5/5128k (Modellmax)94.70.8s128k in 25s! — idealer Router + Schnell-Worker
qwen3.5:9b5/5256k98.74.0s256k in 1m22 — schnellstes Großkontext-Modell
gemma4:12b-it-qat5/5256k71.23.7sausgewogen
qwen3-coder:latest5/5256k30.91.0s256k knapp unterm Timeout (9m08) — Code-Referenz
gpt-oss:20b5/5128k (Modellmax)52.02.2ssolide
krishairnd/Gemma-4-Uncensored5/5128k (Modellmax)54.02.1suncensored-Option
nemotron-cascade-25/5128k28.74.8s256k inhaltlich nicht bestanden (Needle nicht gefunden)
glm-4.7-flash:q4_K_M5/5128k26.812.9sq8_0-Variante: 64k-Timeout, lohnt nicht
llama3.1:8b2/5128k77.70.5sschnell, aber scheitert an Logik + Tool-Kette

Durchgefallen (Auswahl): mistral/mistral-nemo (rechnen falsch, 0–1/5), deepseek-r1 (kein Tool-Support), qwen3.5:27b und gemma4:31b (2–4 Tok/s, Kontext bricht früh), gurubot/girl (0/5). Auf dem 11436 bestehen dieselben Modelle dieselben Stufen, aber alles 2–5× langsamer und Kontexte enden 1–2 Stufen früher (Timeouts).

Zwei Lehren aus diesem Lauf:

  1. Die Matrix ist eine Server-Eigenschaft, keine Modell-Eigenschaft. Derselbe gpt-oss:20b schafft auf der NVIDIA-Instanz den 32k-Test in 27 Sekunden und läuft auf der CPU-Instanz in den 10-Minuten-Timeout. Deshalb misst der Probe pro Endpoint, und der Agent rechnet mit dem Minimum über alle Server, auf die der Pool routen kann.
  2. Der Probe deckt Konfigurations-Irrtümer auf: Die Lab-Server waren gedanklich vertauscht — Port 11434 ist die NVIDIA-Instanz (RTX 3080 Ti), Port 11436 die bewusst CPU-only-Instanz mit 262k-Standard-Kontext. Die Messwerte (77 Tok/s = GPU-Klasse, size_vram in /api/ps) haben das aufgedeckt, bevor die falsche Annahme in den Betrieb gewandert ist.

Die Detailwerte (alle Stufen-Zeiten) stehen in state_dir/model-matrix.json; der Agent nutzt die gemessenen Kontextgrößen automatisch für die History-Kompaktierung. Stufen-Ergebnisse (welches Modell welche Komplexität schafft) waren auf beiden Servern identisch — die Fähigkeit ist modellseitig, das Tempo serverseitig.

Gemessen mit cmd/modelbench gegen einen Ollama-0.30-Server (RTX-GPU mit 12 GB VRAM). Eigene Server testen mit:

Terminal-Fenster
go run ./cmd/modelbench -host http://<server>:11434 -models "mistral:latest,llama3.1:8b,..."

Drei Disziplinen pro Modell:

  • Rechnen: einfache Korrektheit + Antworttempo (Zeit enthält beim ersten Call das Modell-Laden)
  • Tool-Call: ruft das Modell ein Tool korrekt auf (structured = natives Format, salvaged = vom Parser gerettet, none = gar nicht) und gibt es das Ergebnis wieder?
  • Klassifikation: Eignung als router-Modell — 4 Test-Inputs in Kategorien einordnen (JSON-Schema-erzwungen, Thinking deaktiviert)
ModellGrößeRechnenTool-CallKlassifikationZeit/Klassif.
mistral:latest4.4 GBok, sehr schnellstructured ✓4/41.9s
llama3.1:8b4.9 GBokstructured ✓4/42.1s
qwen3-coder:latest18.6 GBokstructured ✓ (6.6s)4/41.2s
gemma4:12b-it-qat7.2 GBokstructured ✓4/44.6s
qwen3.5:9b6.6 GBok, aber langsam (Thinking)structured ✓4/43.2s
gpt-oss:20b13.8 GBokstructured ✓4/412.7s
mistral-nemo:latest7.1 GBfalsch (17+25=32!)structured ✓4/42.5s
deepseek-r1:8b5.2 GBok, langsamkein Tool-Support4/444s
  1. mistral:latest ist der beste Router: schnellste korrekte Klassifikation, kleinstes Modell. llama3.1:8b ist gleichwertiger Fallback.
  2. llama3.1:8b ist das beste Arbeitspferd für Chat und Tool-Calling: zuverlässig, natives Tool-Format, kein Thinking-Overhead.
  3. qwen3-coder ist erste Wahl für Code — und nebenbei ein exzellenter Klassifizierer. Aber: 18.6 GB passt nicht in 12 GB VRAM (teilweise CPU-Offload, spürbar langsamer) und es gibt Tool-Calls gelegentlich als XML-Text aus (fängt der Salvage-Parser ab).
  4. Thinking-Modelle (qwen3.5, deepseek-r1) mit Bedacht einsetzen: Sie „denken” vor jeder Antwort (30–50s). Für Router-/Summarize-Calls schaltet die Plattform Thinking automatisch ab; im Chat bleibt die Latenz. deepseek-r1 kann außerdem keine Tools — als Agent-Modell ungeeignet.
  5. mistral-nemo fällt durch: rechnet falsch (17+25=32). Nicht für faktische Aufgaben verwenden.
  6. Modelle > 12 GB (gpt-oss:20b, qwen3-coder) laufen auf der GPU nur mit CPU-Offload — funktioniert, kostet aber deutlich Tempo.

Der Needle-Test (oben) sagt nur, ob ein Modell einen Fakt im großen Kontext findet. Der Tiefentest (probe deep) misst, ob es den Kontext wirklich versteht — und das ordnet die Empfehlung neu:

ModellKontextDeep-ScoreRetrievalMulti-HopAggregation
nemotron-cascade-2128k100 %3/34/46/6
glm-4.7-flash:q4128k77 %3/34/43/6
gpt-oss:20b128k62 %3/32/43/6
qwen3.5:9b128k54 %3/34/40/6
gemma4:e4b / gemma4:12b128k38 %3/32/40/6
qwen3-coder256k38 %3/32/40/6
mistral32k31 %2/32/40/6
gemma4:26b-a4b256kTimeout*

*gemma4:26b: Tiefentest bei großem Kontext auf der 12-GB-Karte nicht durchführbar (>60 Min pro Lauf durch RAM-Offload). Fähigkeit 5/5, aber für große Kontexte auf dieser Hardware ungeeignet.

Zwei Kernbefunde:

  1. Retrieval ≠ Verständnis (der RULER-Effekt): Fast alle Modelle finden Fakten (3/3), aber bei der Aggregation über das ganze Dokument brechen die meisten auf 0/6 ein. Ein reiner Needle-Test hätte sie alle als „128k ✓” durchgewunken.
  2. Der bisherige Allrounder gemma4:26b ist für großen Kontext raus — nicht wegen Unfähigkeit, sondern weil der Tiefentest auf der 12-GB-Karte nicht in vertretbarer Zeit läuft. Für Groß-Kontext-Arbeit gewinnt nemotron-cascade-2 (100 %).

Die vollständige Herleitung und die Schritt-für-Schritt-Anleitung stehen im Modell-Guide. Kurzfassung der Zuordnung für dieses Lab-Setup:

KategorieModell (Fallback)Grund
routergemma4:e4b (mistral)schnellste zuverlässige Klassifikation
chatqwen3.5:9b (gpt-oss:20b)5/5, 98 Tok/s, guter Allrounder
codeqwen3-coder (gemma4:26b)Code-Spezialist, 5/5
tool_callinggpt-oss:20b (qwen3.5:9b)starke Tool-Kette, Deep 62 %
summarizenemotron-cascade-2 (glm-4.7-flash)höchster Deep-Score (100 %) für Dokument-Verständnis

Hinweise:

  • Pool-Effekt: Der Agent rechnet mit dem konservativen Kontext-Minimum über alle Endpoints. Solange die langsame CPU-Instanz (11436) im Pool ist, gilt für ein Modell min(nvidia, cpu). Für Groß-Kontext-Arbeit die CPU-Instanz aus der Config nehmen oder als Failover-Backup akzeptieren.
  • Server-Topologie (docker-compose auf dem ai-server): ollama-nvidia Port 11434 (RTX 3080 Ti, KV-Cache q8_0), ollama-cpu Port 11436 (bewusst CPU-only, 262k-Kontext), AMD-Instanz auf 11435 vorbereitet aber deaktiviert.