Messung · 11. Oktober 2026 · 54 Messläufe
Langer Kontext auf dem HP ZBook Ultra G1a
halogen-flash-server 0.18.0 von 32.000 bis 990.000 Token
Autoren
Maschine
HP ZBook Ultra G1a
- SoC
- Ryzen AI Max+ PRO 395
- GPU
- Radeon 8060S, gfx1151
- Speicher
- 128 GiB LPDDR5X-8000, verlötet – als Unified Memory von CPU und GPU geteilt
- SSD
- Samsung 990 PRO, 4 TB, NVMe über PCIe 4.0 x4
- System
- Ubuntu 24.04,
140-W-Netzteil,
platform_profile=performance
Modell
Qwen3.8-Flash-Next
- Größe
- rund 180B – gemessen 176,9 Mrd. Parameter
- Bauart
- „512×56B“, 48 Blöcke, 512 Experten, davon 10 je Token aktiv
- Kontext
- nativ bis 262.144 Token, darüber YaRN mit Faktor 4
Engine
halogen-flash-server
- Stand
- Image
0.18.0, Podman - Gewichte
v2.hgnohne Beilage, 4,2 bpw über die 125,7 Mrd. Parameter ohne N-Gramm-Tabelle; die Tabelle (51,2 Mrd. Einträge, 8 bit) liegt als eigene Datei daneben und wird von der SSD gelesen- Aufruf
HALOGEN_CTXje Länge bis 1.048.576,HALOGEN_ROPE_YARN=4über 262k- Budget
- 3.072 Token Ausgabe je Aufgabe, Temperatur 0, je Messlauf ein frischer Container
Aufgaben
Acht Fragen an ein Wetterprotokoll
- Text
- 651 Zeilen Messwerte von Wetterstationen, in jeder Länge dieselben
- Länge
- aufgefüllt mit einem fachfremden Wartungsjournal
- Art
- nachschlagen, vergleichen, zählen, summieren
- Gewertet
- sechs; die zwei Rechenaufgaben prüfen Arithmetik, nicht Kontext
1.440Token/s
Prompt-Verarbeitung bei der ersten Frage zu einem Text
22Sekunden
Ganzen Text einlesen einmal, bei der ersten Frage
0,4Sekunden
Folgefrage einlesen der Text selbst ist schon verarbeitet
61,6Token/s
Ausgabe beim Antworten auf Folgefragen
86,2GiB
Speicher belegt von 125,1 GiB; danach frei: 31,5 GiB
984Token/s
Prompt-Verarbeitung bei der ersten Frage zu einem Text
16,8Minuten
Ganzen Text einlesen einmal, bei der ersten Frage
0,8Sekunden
Folgefrage einlesen der Text selbst ist schon verarbeitet
55,1Token/s
Ausgabe beim Antworten auf Folgefragen
99,7GiB
Speicher belegt von 125,1 GiB; danach frei: 19,0 GiB
Mediane über alle Messläufe der jeweiligen Länge. Bei der ersten Frage zu einem Text liest die Maschine ihn vollständig ein. Bei jeder Folgefrage ist er schon verarbeitet, und nur die neue Frage kommt hinzu. Die Längen dazwischen zeigt Kapitel 02.
01 · Aufbau
Dieselbe Aufgabe in jeder Länge
Wer wissen will, ob ein Modell langen Kontext versteht, muss die Länge ändern und die Aufgabe festhalten. Gefragt wird deshalb immer nach demselben Wetterprotokoll: 651 Zeilen Messwerte von Wetterstationen, rund 32.000 Token, dazu acht Fragen mit eindeutiger Antwort. Auf die jeweilige Länge kommt der Text durch ein fachfremdes Wartungsjournal davor und dahinter, bei 990k mit 957.999 Token. Ändert sich das Ergebnis, kann es nur an der Länge liegen.
Bis 245k liefen je Stufe drei Fassungen des Wetterprotokolls mit anderen Zufallswerten, darüber eine: 21 Messläufe für das Verstehen. Für das Tempo zählen alle 54 gewerteten Messläufe dieser Tage, auch die mit anderen Dokumenten derselben Länge; wie schnell die Maschine einliest und antwortet, hängt an der Zahl der Token, nicht an ihrem Inhalt. Verworfen sind der Aufwärmlauf, die Wiederholung desselben Dokuments und die Vergleichsläufe mit YaRN unterhalb von 262k, die Kapitel 06 zeigt. Welcher Messlauf warum fehlt, steht in der Auswertung im Repository.
02 · Tempo
Einmal einlesen, dann antwortet es in Sekunden
Bei der ersten Frage zu einem Text liest die Maschine 1.440 Token je Sekunde bei 32k und 984 bei 990k. Jede Folgefrage zum selben Text braucht danach höchstens 0,8 Sekunden, in jeder Länge.
Für die Arbeit mit einem langen Dokument heißt das: Man wartet einmal, bei 245k 3,3 Minuten, und fragt danach im Gespräch weiter. Ein Agent, der seinen Verlauf fortschreibt, zahlt das Einlesen nur für das, was neu hinzukommt.
03 · Speicher
Den Speicher bestimmt der Pool, nicht der Prompt
halogen reserviert beim Start einen Pool für eine feste Zahl von Positionen und belegt ihn ganz, gleich wie lang der Text später ist. Bis 262k lief jeder Messlauf mit demselben Pool: 86,2 GiB, ob der Prompt 32.000 oder 245.000 Token lang war. Für 990k sind es 99,7 GiB von 125,1 GiB.
Oberhalb 262k lief halogen mit einem Generierungsbudget von 16.384 statt 32.768 Token. Das senkt den Arbeitsspeicher von 12,5 auf 8,0 GiB, und deshalb belegt der Pool für 396k weniger als der native.
Bei 990k wird es eng. Nach dem Start blieben dem Rechner 19,0 bis 19,2 GiB für alles andere, und schon beim Reservieren des Pools musste der Kernel den Speicher je nach Start 378- bis 6.192-mal verdichten; bei den kleineren Pools kein einziges Mal. Neben einem Pool dieser Größe sollte auf dem Notebook nichts Großes mehr laufen.
04 · Verstehen
Bis 245k fehlen 2 von 108, darüber lässt es nach
Bis 245k löst das Modell 106 von 108 wertbaren Aufgaben.
Innerhalb der nativen Grenze ist Länge für dieses Modell kaum ein Hindernis. Die zwei fehlenden Antworten liegen bei 128k und 245k, nicht gehäuft am oberen Ende: Bei 128k übersieht das Modell in einer Fassung beim Maximum die Bedingung des Standorts, bei 245k liest es in einer Fassung die Windspitze aus einer falschen Zeile.
05 · Über 262k
Was zuerst ausfällt, ist das Nachschlagen
Oberhalb der nativen Grenze lässt das Ergebnis nach. Dasselbe Wetterprotokoll löst bei 396k 5 von 6, bei 594k 5 von 6 und bei 990k 3 von 6 wertbaren Aufgaben.
Das Muster ist kein gleichmäßiger Verfall. Das Modell nennt echte Werte aus demselben Protokoll, nur aus der falschen Zeile: bei 396k und 594k die Sensorkennung der Nachbarzeile, bei 990k eine Windspitze von 23 km/h statt 81. Beim Maximum wählt es den Messpunkt mit der höchsten Windspitze, übersieht aber, dass er am falschen Standort liegt. Es verliert also nicht den Text, sondern die genaue Stelle darin.
Auch das Einlesen wird jenseits der Grenze teurer: bei 990k kostet jedes Token 26 Prozent mehr Zeit als bei 245k. Die Ausgabe bleibt davon fast unberührt.
06 · YaRN
Bei gleicher Länge ändert YaRN einzelne Antworten
Über 262.144 Token kommt das Modell nur mit YaRN, einer Streckung der Positionskodierung. Ob sie selbst Antworten kostet, zeigt ein Vergleich bei 245k, wo beides geht: dasselbe Dokument einmal nativ und einmal mit YaRN.
Dahinter stehen ein Block von vier Messläufen in wechselnder Reihenfolge auf einem langen Wetterprotokoll von 4.993 Zeilen, dessen Wiederholungen dieselben Antworten geben, und ein Messlauf mit dem kurzen Wetterprotokoll im Wartungsjournal. Im langen Protokoll findet YaRN die eindeutige Kombination, die das Modell nativ als nicht vorhanden meldet, und bestimmt den Abstand zweier Einträge richtig. Im kurzen sind dieselben wertbaren Aufgaben richtig; nur bei den zwei Rechenaufgaben tauschen nativ und YaRN die richtige Antwort.
Zwei Dokumente reichen nicht, um YaRN einen Vorteil zuzuschreiben. Sie reichen für den Schluss, dass YaRN nicht verursacht, dass das Modell über 262k schlechter nachschlägt: Bei gleicher Länge schlägt es mit YaRN mindestens so gut nach wie ohne.
07 · Alle Zahlen
Die Ergebnisse je Längenstufe
Verstehen: das Wetterprotokoll im Wartungsjournal, die sechs wertbaren Aufgaben über alle Messläufe der Stufe. Tempo: Mediane über alle gewerteten Messläufe der Stufe. Aus diesen Werten sind alle Grafiken dieses Berichts gerechnet.
| Länge | Skalierung | Läufe | richtig |
|---|---|---|---|
| 32k | nativ | 3 | 18 / 18 |
| 64k | nativ | 3 | 18 / 18 |
| 96k | nativ | 3 | 18 / 18 |
| 128k | nativ | 3 | 17 / 18 |
| 192k | nativ | 3 | 18 / 18 |
| 245k | nativ | 3 | 17 / 18 |
| 396k | YaRN 4 | 1 | 5 / 6 |
| 594k | YaRN 4 | 1 | 5 / 6 |
| 990k | YaRN 4 | 1 | 3 / 6 |
| Länge | Läufe | Einlesen (s) | Einlesen (t/s) | Ausgabe (t/s) | Folgefrage (s) |
|---|---|---|---|---|---|
| 32k | 4 | 22,3 | 1.440 | 61,6 | 0,4 |
| 64k | 6 | 47,3 | 1.357 | 61,2 | 0,4 |
| 80k | 3 | 58,6 | 1.368 | 60,6 | 0,4 |
| 96k | 6 | 72,0 | 1.335 | 61,2 | 0,4 |
| 112k | 3 | 83,9 | 1.337 | 60,5 | 0,3 |
| 128k | 6 | 97,5 | 1.315 | 60,8 | 0,4 |
| 144k | 3 | 111,3 | 1.295 | 59,1 | 0,4 |
| 160k | 3 | 126,3 | 1.268 | 60,5 | 0,5 |
| 176k | 3 | 139,5 | 1.263 | 60,3 | 0,4 |
| 192k | 6 | 151,8 | 1.266 | 59,8 | 0,5 |
| 229k | 1 | 187,0 | 1.225 | 58,7 | 0,5 |
| 245k | 4 | 197,8 | 1.239 | 58,3 | 0,5 |
| 396k | 2 | 343,9 | 1.152 | 56,8 | 0,5 |
| 594k | 2 | 553,5 | 1.074 | 56,8 | 0,7 |
| 990k | 2 | 1.006,0 | 984 | 55,1 | 0,8 |
| Pool | Budget | Starts | Gewichte | KV-Pool | Arbeit | zusammen | danach frei |
|---|---|---|---|---|---|---|---|
| 393.216 | 32.768 | 53 | 62,9 | 10,8 | 12,5 | 86,2 | 31,5–32,4 |
| 425.984 | 16.384 | 2 | 62,9 | 11,7 | 8,0 | 82,6 | 35,3–35,3 |
| 622.592 | 16.384 | 2 | 62,9 | 17,1 | 8,0 | 88,0 | 29,8–29,9 |
| 1.048.576 | 16.384 | 2 | 62,9 | 28,8 | 8,0 | 99,7 | 19,0–19,2 |
08 · Grenzen
Was diese Arbeit nicht zeigt
Eine Fassung über 262k. Oberhalb der nativen Grenze lief je Länge eine Fassung des Wetterprotokolls. Bei Temperatur 0 wiederholt dasselbe Dokument dieselbe Antwort; die Streuung liegt zwischen Dokumenten und ist dort nicht gemessen. Belastbar ist der Verlauf über alle Stufen, nicht der einzelne Punkt.
Ein Pool für alle Längen bis 262k. Bis 262k lief jeder Messlauf mit dem Alltagspool von 393.216 Positionen. Wie viel Speicher ein kleinerer Pool für kurze Texte spart, ist nicht gemessen.
Die kleinere Arena. Ab 396k arbeitet halogen mit einem Generierungsbudget von 16.384 statt 32.768 Token. Das ändert sich zugleich mit der Länge und ist nicht getrennt gemessen.
Eine Art Dokument. Die Aufgaben stellen Fragen an ein tabellarisches Messprotokoll. Für Quelltext, Fließtext oder Gespräche kann die Grenze anders liegen.
Eine Engine, eine Maschine. Gemessen ist halogen 0.18.0 mit dem Checkpoint v2 auf dem HP ZBook Ultra G1a. Das Tempo gilt für diesen Stapel; ob llama.cpp bei denselben Längen dasselbe versteht, ist hier nicht gemessen.