Files
AI-Profile-Router/docs/QWEN38_BYTESHAPE_AB_20260920.md

198 lines
12 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Qwen3.8-27B: ByteShape GPU-5 gegen Pure IQ4_XS auf Athena
Stand: 20. September 2026. Punkt 1 der Optimierungs-TODO.
## Entscheidung und Einordnung
ByteShape spart rund 1,34 GiB VRAM im identischen 32K-Ein-Karten-Test und
ermöglicht dadurch mehr Textkontext auf der RTX 5080. Der direkte 32K-Vergleich
zeigt jedoch niedrigere Prefill- und Ausgaberaten. Die Qualitätsstichprobe ist
gemischt: bessere Ergebnisse in einem Code-Fehlerpfad, aber ein falscher
Migrationsbeweis. Eine Aussage „gleiche Qualität bei höherem Tempo“ ist damit
nicht belegt. Das bestehende Produktivmodell wird nicht ersetzt.
Der kontrollierte A/B-Vergleich nutzt Pure IQ4_XS als Referenz. Das vorhandene
Fast-Profil verwendet die separate IQ4-MIX-Datei; dessen 76.800-Token-Kontext
ist deshalb gesondert aufgeführt und kein Ergebnis der Pure-Quantisierung.
## Messbedingungen
- Athena: RTX 5080 (16.303 MiB gemeldet), RTX 3060 (12.288 MiB), unveränderte
Treiber und unveränderte llama.cpp-Laufzeit 0.4.1 / b29c606.
- Exaktes Image: `sha256:5e3c12c145b8045e5731b44b6b97033f24b327ae3d4a3fa85ecdd159cc844907`.
- ByteShape: `Qwen3.8-27B-IQ4_XS-3.84bpw.gguf`, 13.083.052.416 Bytes,
SHA256 `89434f23dc89c5f990894e3fe9fdad19d88c370f0d3638a176f29933f218b78b`.
- Pure-Datei: 14.534.384.640 Bytes. Gleiche Modellarchitektur, gleiche
Vokabular-/Merge-Tabellen und natives Kontextlimit 262.144.
- Ein Slot, Text ohne Bildprojektor, vollständig GPU-offgeladene Modellschichten;
kein CPU-Offload zur Vergrößerung des Kontextfensters, `--fit off`.
- 5080 zuerst; für zwei GPUs ausschließlich Layer-Splitting. Das gleichnamige
Parameterfeld `--tensor-split` enthält nur die Aufteilungsquote, nicht den
experimentellen Tensor-Parallel-Modus.
- Flash Attention, q4_0 für K/V, Batch 2048, Micro-Batch je Zeile 512/128/64;
MTP3 für den direkten A/B-Test, MTP2 für beide Ultra-Fälle und IQ4-MIX/Fast.
- Identisches Sampling: Temperatur 1, top-p .95, top-k 20, min-p 0, Seed 42 (Code-Durchsatz: 43).
Kritische Qualitätswiederholungen: Seed 43. Das Produktiv-Serverdefault für
min-p ist .05; hier sind die Arme untereinander kontrolliert, aber nicht
jeder mögliche Clientrequest wird nachgestellt.
- Prefill ohne Cache-Treffer (`cache_n=0`), gleiche synthetische Records und
Aufgaben. Perf-Ausgaben haben feste 512/768-Token-Limits und bei beiden
Modellen kein Thinking. Qualitätsaufgaben verwenden medium Reasoning.
- TTS bleibt auf der 3060 resident, rund 4.647 MiB Grundlast. Es wird keine
parallele Sprachgenerierung oder konkurrierende Chatlast erzeugt.
Speicherwerte sind alle zwei Sekunden gesampelte Spitzen, keine lückenlose
Messung jeder kurzfristigen CUDA-Allokation. Erfolgreiches Laden wird von
vollständiger Verarbeitung einer langen Eingabe getrennt. Die größten
angegebenen Kontexte sind getestete Betriebspunkte mit Reserve; eine absolute
Absturzgrenze wurde nicht gesucht. Kontext umfasst Eingabe **und** Ausgabe;
Systemprompt, Tools und Chat-Template zählen zur Eingabe.
## Direkter Vergleich bei 32.768 Tokens Kontext
Ein Slot, nur RTX 5080, MTP3, Micro-Batch 512; gleiche Eingaben und Sampling. Mittelwerte der verfügbaren Wiederholungen.
| Messung | Pure | ByteShape | Änderung |
|---|---:|---:|---:|
| Prefill, 4.196 Eingabetokens (tok/s) | 2074.2 | 1951.0 | -5.9% |
| Deutsche Erklärung (tok/s) | 85.8 | 70.6 | -17.7% |
| Python-Code (tok/s) | 122.1 | 86.8 | -28.9% |
## Vollständig getestete Konfigurationen
Kontext ist Eingabe plus Ausgabe. Die Geschwindigkeit in dieser Tabelle gehört jeweils zur angegebenen tatsächlichen Eingabelänge; Zeilen unterschiedlicher Länge sind kein isolierter Quantisierungsvergleich. VRAM enthält auch residente Dienste (TTS auf der 3060).
| Fall | Kontext | Eingabe | Prefill tok/s | Ausgabe tok/s | 5080 MiB | 3060 MiB | Recall |
|---|---:|---:|---:|---:|---:|---:|---|
| byteshape-dual-262144-80-20 | 262144 | 261218 | 563.3 | 17.9 | 14622 | 11334 | 3/3 |
| byteshape-dual-262144-86-14-validated | 262144 | 261218 | 590.2 | 19.6 | 15612 | 10346 | 3/3 |
| byteshape-single-110592-ub128 | 110592 | 109666 | 1097.7 | 43.4 | 15666 | 4647 | 3/3 |
| byteshape-single-32768 | 32768 | 24674 | 1857.2 | 67.7 | 13846 | 4647 | 3/3 |
| byteshape-single-32768-repeat | 32768 | 4196 | 1953.6 | 73.2 | 13842 | 4647 | 3/3 |
| byteshape-single-ub128-validated-104448 | 104448 | 103525 | 1119.7 | 48.1 | 15510 | 4647 | 3/3 |
| mix-single-76800-ub64 | 76800 | 75874 | 1101.6 | 54.7 | 15832 | 4647 | 3/3 |
| pure-dual-262144-80-20 | 262144 | 261218 | 682.3 | 19.0 | 15780 | 11148 | 3/3 |
| pure-single-32768 | 32768 | 24674 | 1968.4 | 79.1 | 15220 | 4647 | 3/3 |
| pure-single-32768-repeat | 32768 | 4196 | 2073.1 | 89.2 | 15220 | 4647 | 3/3 |
| pure-single-57344 | 57344 | 56417 | 1681.0 | 74.6 | 15894 | 4647 | 3/3 |
| pure-single-61440-ub128 | 61440 | 60517 | 1401.4 | 60.8 | 15772 | 4647 | 3/3 |
| pure-single-ub128-validated-50176 | 50176 | 49251 | 1475.5 | 72.2 | 15488 | 4647 | 3/3 |
Die Kontextpiloten ohne lange Eingabe sind hier bewusst nicht als validierte Konfigurationen aufgeführt. Einzelne synthetische Recall-Aufgaben belegen keine allgemeine Langkontext-Intelligenz.
## Werden die Antworten schlechter?
Die kleine Stichprobe erlaubt keine globale Intelligenzbewertung. Sie zeigt
konkrete Unterschiede und genügt **nicht** für eine Freigabe als qualitativ
gleichwertiger Ersatz.
| Prüfung | Pure | ByteShape |
|---|---|---|
| Logikreihenfolge ACDB | richtig | richtig |
| Nativer Tool-Aufruf | korrekt, server=alpha | korrekt, server=alpha |
| Prompt Injection im Log | ignoriert | ignoriert |
| Proxy-Diagnose | Kernhypothese richtig, unbelegte Zusatzdetails | Kernhypothese richtig, unbelegte Zusatzdetails |
| Code: früher Fehler, späterer Erfolg | beide geprüften Antworten scheitern im Funktionstest | beide bestehen diesen Teiltest |
| Migration mit 4K-Antwortbudget | keine sichtbare Antwort vor Limit | Antwort angefangen, Beweis nicht vollständig |
| Migration mit 8K-Antwortbudget | richtiger erreichbarer Zustandszyklus; Tabellenbeschriftung mit Tippfehler | richtiges Endurteil, aber falscher Beweis durch doppelte RAM-Zählung auf dem Quellhost |
| Home Assistant | aktuelles off erkannt, falsche Konfigurations-/Persistenzbehauptungen | aktuelles off erkannt, ebenfalls falsche Zusatzbehauptungen |
Beim Code ist „Teiltest bestanden“ keine Freigabe der gesamten Implementierung:
ByteShape behandelt beispielsweise andere gleichzeitig abgeschlossene Fehler
nicht zuverlässig vollständig. Der Testcode und die vollständigen Antworten
sind im Experimentordner abgelegt.
Der Migrationsfehler ist konkret überprüfbar: Wird A zuerst von H1 nach H2
verschoben, hält H1 währenddessen weiterhin **16 GB**, H2 **18 GB**. ByteShape
behauptet **22 GB auf H1**, weil es die dort schon vorhandene VM nochmals
hinzuzählt. Damit ist sein Beweis falsch, obwohl das Endergebnis „Migration
unmöglich“ zufällig stimmt.
Bei Home Assistant ist `initial_state` maßgeblich für eine explizite
Startvorgabe; ohne diese wird der vorherige Zustand wiederhergestellt. Die von
beiden Modellen behaupteten allgemeinen `enabled`-Regeln sind kein belastbarer
Beleg. Quelle: [Home-Assistant-Dokumentation](https://www.home-assistant.io/docs/automation/yaml/).
Die eingebetteten Chat-Templates sind nicht identisch. Für die Testeingaben
waren die gerenderten Prompts in 36 geprüften Kombinationen identisch. Vor
einem produktiven ByteShape-Wechsel müssten dennoch die bestehenden
Anpassungen für Developer-/Systemrollen und Reasoning-Stufen erhalten bleiben.
Bildeingaben wurden in diesem Textvergleich nicht neu bewertet.
## Abbruch, Rückfall und Grenzen
Ein ByteShape-Start mit 114.688 Kontext, Micro-Batch 512 und MTP3 scheiterte an
einem zusätzlich benötigten 180-MiB-CUDA-Rechenpuffer. Der Prozess beendete sich,
der Supervisor entfernte den Testcontainer und startete die vorherigen
Produktionscontainer. Die reine Hochrechnung aus der gespeicherten Gewichts-
und KV-Größe unterschätzte temporäre Startpuffer. Anschließend wurde mit
kleinerer Micro-Batch und konservativen Kontextschritten weitergemessen.
Die 86:14-Aufteilung wurde nach erfolgreicher 49K-Probe bewusst während der
großen Eingabe gestoppt, um den gemessenen Spielraum für 88:12 zu prüfen.
Bei 88:12 belegte das Modell nach dem Laden tatsächlich 15.920 MiB auf der
5080 (nur 383 MiB frei), mehr als aus der Schichtgrößen-Näherung erwartet.
Die erste längere Anfrage scheiterte dann bei einer zusätzlichen
Flash-Attention-CUDA-Allokation. Auch dieser Prozessabbruch wurde automatisch
auf das bisherige Produktivprofil zurückgeführt.
Der gespeicherte Testtreiber prüft deshalb jetzt vor jeder Inferenz zusätzlich
mindestens 512 MiB freien VRAM pro benutzter Karte; zwei bereits bewährte
historische Fälle erlauben explizit 384 MiB. Der frühere 88:12-Fall würde damit
vor der Inferenz abgewiesen. Die Prüfung ersetzt keinen echten Langkontexttest.
Der unterbrochene 86:14-Zwischenlauf wird nicht als Erfolg gezählt; die
vollständige Validierung erhält einen eigenen Ergebnisdatensatz.
Keine Änderung an Kernel, NVIDIA-Treiber, SSH, LAN, WireGuard oder Gateway.
Der isolierte Container hat ein RAM-Limit ohne zusätzlichen Container-Swap;
Temperatur und Host-RAM-Reserve werden überwacht. Software-Wiederherstellung
kann einen echten Host-/Treiber-Hardlock nicht beheben; deshalb wurden keine
experimentelle Tensor-Parallelität und keine absichtlichen OOM-Grenzreihen
verwendet.
Ein Recall-Test mit drei Fakten in synthetischen Records ist keine allgemeine
Prüfung semantischen Denkens über 262K Tokens. Zwei kurze Durchsatzläufe pro
Quantisierung liefern eine brauchbare lokale Orientierung, aber keine
statistische Garantie für beliebige Aufgaben oder parallele Nutzer.
## Quellen und Reproduktion
- [ByteShape-Modell](https://huggingface.co/byteshape/Qwen3.8-27B-GGUF)
- [Anbieterbenchmarks](https://byteshape.com/blogs/Qwen3.8-27B/) – nicht mit
Athena-Messwerten gleichgesetzt.
- Konfigurationen, Testprogramme, Bewertungsregeln und Ergebnisse:
`experiments/byteshape-20260920/` im Repository.
- Vollständige Host-Telemetrie und Serverlogs:
`/data/benchmarks/byteshape-20260920/` auf Athena.
- Weitere Schritte: `docs/INFERENCE_OPTIMIZATION_TODO_20260920.md`.
## Abschluss und feste Referenz
Die vollständige ByteShape-Validierung mit 86:14 bestand die 261.218-Token-
Eingabe: Prefill 590,2 tok/s, Ausgabe 19,6 tok/s, Recall 3/3. Die 5080 erreichte
15.612 MiB, die 3060 einschließlich TTS 10.346 MiB. Gegen Pure 80:20 bei derselben
Eingabe ist das Prefill rund 13,5 % langsamer, die Ausgabe rund 3,2 % schneller;
das ist ein Vergleich zweier Gesamtprofile, kein isolierter Quantisierungseffekt.
Auf einer 5080 allein wurden Pure mit 61.440, das bisherige MIX/Fast mit 76.800
und ByteShape mit 110.592 Gesamtkontext-Tokens erfolgreich geprüft. Bei 8.192
reservierten Ausgabetokens bleiben ByteShape 102.400 für Eingabe inklusive
Systemprompt, Tools und Template. Beide Pure/ByteShape erreichen mit zwei Karten
den nativen Kontext 262.144; keine Kontextverlängerung darüber wurde geprüft.
Nach Abschluss liefen Medium, Router, Controller, Gateway und TTS gesund.
Router readiness und eine minimale Modellantwort wurden geprüft; im Kerneljournal
seit Beginn der Messreihe wurden keine Xid-, OOM-Kill-, Kernel-Panic- oder
GPU-fallen-off-Meldungen gefunden. Die beiden CUDA-Allokationsfehler oben waren
Fehler der Testprozesse und sind ausdrücklich Bestandteil des Berichts.
Die bisherigen Modelle und Produktivprofile bleiben aktiv. Punkt 1 ist für
Text abgeschlossen; keine Freigabe für einen ByteShape-Produktivwechsel.
Die [feste Qwen-Referenz](../benchmarks/athena-qwen38-reference-20260920/README.md)
sichert sieben Pure/MIX-Fälle inklusive Antworten, Messungen, Modellhashes,
Umgebung und festen Requests. **Bei weiteren Kandidaten Qwen nicht erneut als
Standard mitlaufen lassen.** Neue Ergebnisse mit diesem Paket vergleichen;
relevante Änderungen transparent dokumentieren und nur bei begründetem Bedarf
neu kalibrieren. Das Referenzpaket ist per SHA256 offline prüfbar.