Test ordered one-slot DFlash2 placements and preserve results

This commit is contained in:
Mikei386
2026-09-20 21:10:08 +02:00
parent 3d5931146b
commit 4007242709
25 changed files with 360 additions and 5 deletions
+99
View File
@@ -0,0 +1,99 @@
# DFlash2 auf Athena: Ein-Slot-Vergleich
20.09.2026, im Anschluss an den gescheiterten Zwei-Slot-Kurztest.
**Ein Slot mit Draft auf der RTX 3060 funktioniert im Kurztest. Ein klarer
Geschwindigkeitsvorteil gegenüber der gespeicherten MTP-Referenz ist nicht
sichtbar. Kein produktiver Wechsel.**
## Gewünschte Reihenfolge und Ergebnis
| Priorität | Konfiguration | Ergebnis |
|---|---|---|
| 1 | Ein Slot, Qwen 80:20, Draft auf 5080 | Initialisierung scheitert an Gerätezuordnung der geteilten Ausgabematrix |
| 2 | Ein Slot, Qwen 80:20, Draft auf 3060 | Laden, Deutsch, Code und kurze Prefill-/Recall-Probe bestanden |
| 3 | Ein Slot, mehr Qwen auf 3060 (70:30), Draft auf 5080 | Nicht ausgeführt: nur als Rückfall bei Fehlschlag von Priorität 2 vorgesehen |
Beim ersten Ein-Slot-Lauf scheitert die Laufzeit mit
`pre-allocated tensor (output.weight) in a buffer (CUDA1) that cannot run the operation (NONE)`.
Der Draft ist auf CUDA0 begrenzt, während die verwendete Ausgabematrix auf CUDA1
liegt. Anders als beim ursprünglichen Zwei-Slot-Versuch ist dies kein gemeldeter
CUDA-Malloc-Fehler. Der Testprozess brach ab, der Host blieb erreichbar.
## Durchsatz
| Messung | DFlash2, ein Slot, 160K Kontext | Gespeicherte Pure/MTP-Zwei-GPU-Referenz |
|---|---:|---:|
| Deutsche Erklärung, Ausgabe | 37,8 tok/s | 57,3 tok/s |
| Python-Code, Ausgabe | 75,5 tok/s | 73,4 tok/s |
| Prefill, 4.196 Eingabetokens | 1.437,6 tok/s | kein gleicher 4K-Messpunkt dieses Referenzprofils |
| Ausgabe nach dieser 4K-Eingabe | 41,1 tok/s | kein gleicher 4K-Messpunkt dieses Referenzprofils |
| Recall der drei eingebauten Fakten | 3/3 | — |
Die Referenz verwendet dasselbe Pure-Modell, 80:20-Layer-Split und Microbatch 128,
aber **262.144 statt 160.000 Kontext, MTP2 statt DFlash2**. Das sind Vergleiche
vollständiger Konfigurationen, keine isolierten DFlash-Beschleunigungsfaktoren.
Es wurde kein neuer Qwen-Referenzlauf durchgeführt.
Deutsch erzeugte 768 Tokens in 20,29 Sekunden, Code endete nach 671 Tokens in
8,87 Sekunden; die Referenz erzeugte in beiden Aufgaben 768 Tokens. Gleiche
Eingaben und Seeds bedeuten bei unterschiedlicher spekulativer Verarbeitung
keine identischen Ausgaben. Ein Durchlauf je Aufgabe; geringe Unterschiede
wie die rund 3 % beim Code sind kein belastbarer allgemeiner Geschwindigkeitsgewinn.
DFlash-Draft-Akzeptanz: Deutsch 417/2444 = 17,1 %, Code 517/1071 = 48,3 %, kurze
Recall-Aufgabe 300/1460 = 20,5 %. Das sind angenommene Draft-Tokens, keine
Qualitätswerte; der Zusatzaufwand lohnt bei geringer Annahme weniger.
## Speicher und Kontext
Getestet: Pure IQ4_XS, bestehendes llama.cpp-Image b29c606, Q4_K_M-DFlash2,
160.000 Kontext, ein Slot, q4_0-K/V für Hauptmodell und Draft, Microbatch 128,
Batch 2048, Draft-Länge 7. Text ohne Vision-Projektor, TTS auf 3060 resident.
| GPU | Belegung nach Laden | Höchste gesampelte Belegung | Freier Speicher am gemessenen Peak |
|---|---:|---:|---:|
| RTX 5080 | 14.632 MiB | 14.660 MiB | 1.643 MiB |
| RTX 3060, inklusive TTS | 10.320 MiB | 10.378 MiB | 1.910 MiB |
Die Konfiguration mit 160K Kontext wurde geladen. **Die tatsächlich größte
Testeingabe hatte 4.196 Tokens.** Damit ist weder ein voller 160K-Langkontexttest
noch die Stabilität bei Vision oder paralleler Last erbracht. Die gemessenen
Reserven rechtfertigen keine automatische Hochrechnung einer maximalen Kapazität.
## Antwortqualität
Alle drei synthetischen Fakten wurden gefunden. Das Codebeispiel besteht den
geprüften Fehlerpfad „erste Aufgabe scheitert, spätere gelingt“. Wenn alle
Aufgaben scheitern, erzeugt es jedoch einen **NameError**, weil `builtins` ohne
Import verwendet wird. Die manuell geprüfte Antwort und der reproduzierbare
Teiltest sind archiviert. Die Deutschantwort enthält sprachliche und sachliche
Unschärfen; die Ausgabe endet am festgelegten Tokenlimit.
Diese kleinen Durchsatzaufgaben erlauben keine Freigabe als qualitativ gleichwertig
und belegen auch keinen durch DFlash verursachten Intelligenzverlust. Eine
allgemeine Qualitätsbewertung oder deterministische Äquivalenzprüfung wurde
in diesem kurzen Versuch nicht durchgeführt.
## Abschluss
Das bisherige Medium-Profil mit seinen ursprünglichen zwei Slots wurde nach
jedem Versuch wiederhergestellt; die Ein-Slot-Änderung war nur im isolierten
Testcontainer aktiv. Medium, Router, Controller, Gateway und TTS gesund,
Router readiness und minimale Modellantwort geprüft. Keine Xid-, OOM-Kill-,
Kernel-Panic- oder GPU-fallen-off-Meldungen im geprüften Kerneljournal.
Keine Treiber-, Kernel- oder Netzwerkänderungen, kein Neustart des Hosts.
Ein aktiver Produktionsrequest verzögerte beide Teststarts; der zweite musste
auf die Verarbeitung einer langen Eingabe warten. Keine laufende Anfrage wurde
absichtlich abgebrochen. Der gespeicherte Supervisor wartet künftig zusätzlich
auf gesunde Router-/Controller-Checks, bevor er die Wiederherstellung meldet.
**Empfehlung:** DFlash2 ist in dieser Ein-Slot-Anordnung technisch nutzbar,
aber nach diesem Kurztest kein überzeugender Ersatz für das vorhandene MTP.
Weitere Arbeit wäre gezieltes Draft-/Platzierungs-Tuning mit anschließender
Qualitäts- und Langkontextprüfung, keine produktive Aktivierung des jetzigen Falls.
Konfigurationen, Rohantworten, Serverlogs, GPU-Samples und Prüfbelege:
`experiments/dflash2-medium-20260920/` im Repository, entsprechend
`/data/benchmarks/dflash2-medium-20260920/` auf Athena.