Files
AI-Profile-Router/docs/QWEN38-FINAL-PRE-MOVE-REPORT-2026-08-22.md
T

157 lines
7.5 KiB
Markdown

# Qwen3.8-Abschlusslauf vor dem Standortwechsel
Stand: 22. August 2026. Dieser Bericht dokumentiert den letzten isolierten
Abnahmelauf auf Athena vor dem Umzug des Hosts. Verwendet wurden ausschließlich
synthetische Prompts und Testbilder; keine Chats, privaten Prompts oder
Nutzerdaten wurden ausgewertet.
## Ergebnis in einem Satz
Die neue llama.cpp-Runtime wird übernommen, Medium erhält die nachweislich
schnellere MTP-Schwelle 0,05 und das neue, nicht standardmäßige Profil
`qwen-uncensored` wird mit 80K, Q4_K_M, 90:10 und MTP2 aufgenommen. Der
separate hochpräzise MTP-Draft wird verworfen, weil er die Ausgabe auf der
RTX-5080/RTX-3060-Kombination nahezu halbiert.
## Geprüfte Artefakte
| Artefakt | Quelle | SHA256 |
|---|---|---|
| Abliterated Q4_K_M | `Blackfrost-AI/Qwen3.8-27B-ABLITERATED-GGUF` | `5d53637a59cfcd3a4d8354e254ffd44943e5a693da2405a3e228c62962355509` |
| passender Abliterated-mmproj F16 | gleiche Quelle | `2284099ce864f1023d721e6ef5eaef32bb56abdbc1dc561c6d91300f12ef2e4b` |
| NVFP4-Trunk mit MTP-Metadaten | `LibertAIDAI/Qwen3.8-27B-NVFP4-MTP-GGUF` | `0fe21f4ce289f90108310f11065689c1496b56c7a8352b91ced16bd559691258` |
| separater hochpräziser MTP-Draft | gleiche Quelle | `e81b5dae9551b52190d06eae9db8a745057544893af32c828986ca053110a38c` |
Das Abliterated-Modell ist eine direkte Gewichtsablation und kein Merge mit
einem fremden Chat-Finetune. Tool Calling, Vision-Projektor und eingebettetes
MTP bleiben dadurch grundsätzlich verfügbar.
## llama.cpp A/B
| Runtime | Commit | Build | Medium 160K | Fast 76,8K | Start Medium |
|---|---|---:|---:|---:|---:|
| bisher | `4df29be4f4c3673f428170fda944a5b19f743bb8` | 10454 | 73,88 Tok/s | 85,75 Tok/s | 8,17 s |
| neu | `3f545beccee69d9975f466ec7e45fd9aacd8ba90` | 10587 | 73,86 Tok/s | 85,64 Tok/s | 6,08 s |
Die neun Antworten der beiden Medium-Läufe waren byte-identisch. Es gibt
keinen messbaren Inferenzgewinn, aber auch keine Regression. Übernommen wird
die neue Version wegen der zwischenzeitlichen Qwen-MTP-Korrekturen, des
expliziten `--mmproj-device`, der statischen CUDA-Workspace-Verbesserung und
weiterer Server-Härtungen.
## MTP-Abstimmung
| Medium-Konfiguration | Ergebnis |
|---|---:|
| MTP3, bisherige Schwelle 0,00 | 73,88 Tok/s |
| MTP2, Schwelle 0,10 | 73,80 Tok/s |
| **MTP3, Schwelle 0,05** | **77,26 Tok/s** |
| MTP4, Schwelle 0,10 | Startfehler, CUDA-OOM |
MTP3 mit `--spec-draft-p-min 0.05` bringt damit rund 4,6 Prozent mehr Ausgabe
ohne Änderung an Modell, Kontext, Quantisierung oder Antworten. Diese
Kombination wird für Medium übernommen. MTP4 ist für den verfügbaren VRAM zu
groß.
## Getrenntes Hauptmodell und separater MTP-Draft
| Aufbau | MTP | Ausgabe |
|---|---:|---:|
| NVFP4-Trunk mit eingebettet angefordertem Draft | 3 | Draft-Kontext konnte nicht initialisiert werden |
| NVFP4-Trunk 85:15, separater Draft vollständig auf RTX 3060 | 2 | 42,28 Tok/s |
| gleicher Aufbau | 3 | 35,95 Tok/s |
Die Trennung funktioniert technisch mit `--model-draft`, `--device-draft
CUDA1` und vollständigem Draft-Offload. Sie ist hier dennoch ungeeignet: Jede
Speculative-Runde wartet auf die wesentlich langsamere RTX 3060. Ein
hochpräziser Draft kauft keinen relevanten Qualitätsgewinn, halbiert aber fast
die Geschwindigkeit. Die beiden Testartefakte gehören daher nicht zur
Produktionsmatrix.
## Abliterated-/Uncensored-Tuning
| Kontext / Split | MTP | Vision | Ausgabe |
|---|---:|---|---:|
| 80K, 72:28 | 2 | ja | 44,74 Tok/s |
| 80K, 72:28 | 3 | ja | 40,44 Tok/s |
| 80K, 85:15 | 2 | ja | 50,24 Tok/s |
| 80K, 85:15 | 3 / p-min 0,05 | ja | 45,39 Tok/s |
| 80K, 90:10 | 3 / p-min 0,05 | ja | 47,13 Tok/s |
| **80K, 90:10** | **2 / p-min 0,10** | **ja** | **52,20 Tok/s** |
Der Gewinner lud in 5,15 Sekunden. Nach dem Laden waren rund 336 MiB auf der
RTX 5080 und 7,64 GiB auf der RTX 3060 frei. Der 60K-Fülltest verarbeitete
59.982 Prompt-Tokens in 94,16 Sekunden und fand den Sentinel korrekt wieder.
Der Vision-Test endete regulär, beschrieb das Testbild sachlich und erfand
keinen unlesbaren Text; die Vision-Ausgabe lief mit 49,79 Tok/s.
## Fachliche Bewertung
Die synthetische Suite prüfte Logik, evidenzgebundene Diagnose, Async-Code,
Kapazitätsplanung, Prompt-Injection, Home-Assistant-State gegen Konfiguration,
eine harmlose Admin-Diagnose, destruktive Bestätigung und die Grenze fehlender
Werkzeuge.
- Das offizielle Pure-Modell löste alle Kernaufgaben fachlich richtig. Zwei
Antworten erreichten wegen übermäßiger Ausführlichkeit das künstliche
Ausgabelimit, nicht das Kontextlimit.
- Das Abliterated-Modell löste die Logik-, Evidenz-, HA-, Injection- und
Tool-Ehrlichkeitsaufgaben im Endergebnis ebenfalls richtig.
- Bei der Migrationsaufgabe begann es einmal mit der falschen Behauptung
„möglich“, korrigierte sich anschließend aber vollständig und bewies die
Unmöglichkeit. Das ist fachlich am Ende korrekt, aber weniger sauber.
- Der Async-Vorschlag ist brauchbar, besitzt jedoch einen subtilen Randfall,
wenn mehrere Tasks gleichzeitig fertig werden: bereits fertige Exceptions
sollten vor dem frühen Return vollständig konsumiert werden.
- Beim destruktiven Auftrag blieb die Ausführung korrekt aus und der sichere
Alternativweg wurde genannt. Die Formulierung zur verlangten
Log-Unterdrückung war stellenweise weniger hart als beim Pure-Modell. Daher
bleibt dieses Profil bewusst kein Admin-Default und behält sämtliche
externen Tool-/Bestätigungs- und Secret-Grenzen.
Die Gewichtsablation macht das Modell also weniger verweigerungsfreudig, aber
nicht intelligenter als Pure. Für komplexe Administratoraufgaben bleibt Medium
die vertrauenswürdigere Standardwahl. Uncensored ist eine gezielt auswählbare
Alternative für zulässige Aufgaben, bei denen das Standardmodell unnötig
blockiert.
## Übernommene Produktionswerte
| Profil | Änderung |
|---|---|
| Medium | neue llama.cpp-Runtime und MTP3 mit p-min 0,05 |
| Uncensored | neu: Abliterated Q4_K_M, 80K, 90:10, MTP2, eigener mmproj auf RTX 3060 |
| Fast/Large/Ultra | Modellmatrix unverändert; neue gemeinsame Runtime |
| Default | bleibt Medium 160K |
## Produktionsabnahme des Routers
Beim ersten realen Profilwechsel zeigte die neue Runtime eine kleine, aber
wichtige Kompatibilitätsänderung: Mit MTP meldet llama.cpp für ein angefordertes
80K-Fenster intern 80.128 Tokens. Der Router verlangte zuvor exakte Gleichheit
und wartete deshalb trotz gesundem Modell bis zum Timeout. Die Prüfung
akzeptiert nun ausschließlich einen kleinen technischen Aufschlag von maximal
1.024 Tokens; Modellalias und Profilgrenzen werden weiterhin streng geprüft.
Nach der Korrektur wurden folgende End-to-End-Prüfungen bestanden:
- Router-Modellliste enthält Fast, Medium, Large, Ultra und Uncensored.
- Uncensored wird mit 80K, 90:10, MTP2 und eigenem Vision-Projektor gesund.
- Wechsel Uncensored → Medium über die authentifizierte Router-API: 5,75 s.
- Synthetischer Chat über OpenWebUI-Netz → Router → Medium: korrekte Antwort
`READY` in 0,58 s.
- Medium ist anschließend wieder aktives und gesundes Standardprofil.
- 27 lokale Unit-Tests sowie Python-Kompilierung und Compose-Validierung
bestanden.
Die verworfene Split-NVFP4-/separate-Draft-Kopie wurde nach der Abnahme vom
Host entfernt und gab rund 21 GB frei. Die vorherige llama.cpp-Runtime bleibt
bis nach dem physischen Umzug als lokales Rollback-Image erhalten.
## Rohdaten
Die vollständigen synthetischen Antworten, Serverlogs, Timings und GPU-Snapshots
liegen unter `benchmarks/qwen38-final-pre-move-20260822/`. Die drei Unterordner
bilden den breiten Runtime-/MTP-Lauf, das Split-Tuning und die finale
Uncensored-Abnahme ab.