198 lines
12 KiB
Markdown
198 lines
12 KiB
Markdown
# 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.
|