Titelkarte für vLLM PR #61018, gekennzeichnet als UNVERIFIZIERT — ENTWURFS-PR, NICHT GEMERGT, mit der Überschrift „3 Zeilen, damit Qwen4Exp sharded samplen kann“ und Chips für das Quell-Repository, das Eröffnungsdatum 2026-10-10 und den Status „offener Entwurf“.
Guides & Insights

Qwen4Exp Batch-Sharded-Sampling: in vLLM PR #61018 und was darin über Qwen 4 steht

Autor

Gideon Frost

Veröffentlicht am

Neueste Modelle · 20Alle Modelle ansehen →
Benchmarks: Artificial Analysis · täglich aktualisiert
Zurück zu allen Beiträgen

Die aussagekräftigste Zahl im vLLM-Pull-Request #61018 ist ein Verlust: 1,5 %. Das ist die Obergrenze, die der Autor für seine eigene Änderung ansetzt — grob 0,6 bis 0,8 Millisekunden eingespart aus einem durchschnittlichen Schritt von 42 Millisekunden, gemessen auf einer Maschine, die ihm nicht gehört, in einem Patch, den er überhaupt nicht ausführen kann. Der Pull Request, betitelt „[Model] Qwen4Exp: Unterstützung für Batch-Sharded-Sampling (compute_logits_local)“ und eröffnet am 2026-10-10 vom Mitwirkenden kimseunghyun-kr, fügt drei Zeilen Modellcode in zwei Dateien hinzu, damit die Qwen4Exp-Architektur einen Sampling-Pfad nutzen kann, den vLLM im August veröffentlicht hat. Es ist ein Entwurf. Es sind 14 Zeilen Modellcode plus 57 Zeilen Test. Und es lohnt sich trotzdem, genau gelesen zu werden, wegen dessen, worüber diese drei Zeilen hinwegtäuschen: Qwen4Exp ist die Architektur in Qwen3.8-Flash-Next, dem 125-Milliarden-Parameter-Modell mit offenen Gewichten, das der Anbieter am 2026-08-24 als „eine experimentelle Vorschau der Architektur, die Qwen4 zugrunde liegen wird“ veröffentlicht hat — und ein Zwei-Pfad-Bug in der rein textbasierten Hälfte dieser Architektur ist genau die Art von Detail, die man nur erfährt, wenn man die Serving-Schicht beobachtet statt den Ankündigungsbeitrag.

Um bei der Einordnung eindeutig zu sein – denn sie ist hier wichtig: Qwen 4 selbst ist nicht veröffentlicht. Der Anbieter nannte auf seiner Apsara-Konferenz am 22.09.2026 vier Stufen von Qwen 4 – Qwen 4 Max, Flash, Plus und 27B – und hat für keine davon Gewichte, eine Kennung, einen Preis, eine Kontextlänge oder einen Benchmark veröffentlicht. Nichts im Folgenden ist eine Veröffentlichung. Dies ist eine Zusammenfassung dessen, was wir bisher wissen, zu einem einzelnen Entwurfs-Pull-Request, und alles darin, das eine Zahl enthält, ist entweder ein Zeitstempel, den man überprüfen kann, eine Angabe, die der Mitwirkende in den Text seines eigenen PRs eingetippt hat, oder ein Wert, der aus einer öffentlichen Modellkonfigurationsdatei ausgelesen wurde.

Was Batch-Sharded-Sampling ist, in einem Absatz.

Tensor-Parallelismus verteilt die Gewichte eines Modells auf GPUs; die Vokabularprojektion ist der breiteste einzelne Tensor im Stack, daher berechnet jeder Rank normalerweise nur seinen eigenen Ausschnitt des Vokabulars — und dann führen alle Ranks ein All-Gather durch, sodass jeder am Ende die vollständigen Logits für jede Anfrage im Batch hält. Sharded Sampling kehrt diesen Austausch um. Statt das Vokabular über Ranks hinweg zu replizieren, shardet es den Batch: Jeder Rank sampelt einen Ausschnitt der Anfragen, und die Ranks tauschen Vokabular-Ausschnitte untereinander über ein All-to-All aus. Die eigene CLI-Dokumentation von vLLM beschreibt das Flag schlicht — „Jeder Rank sampelt einen Ausschnitt des Batches, statt dass jeder Rank das Ganze sampelt“ — und nennt die Einschränkungen: --enable-batch-sharded-sampling ist standardmäßig False und erfordert tensor_parallel_size größer als 1, mindestens tensor_parallel_size maximale Sequenzen und ein nicht-negatives max_logprobs. Die letzte Zeile dieser Dokumentation ist der Haken, an dem dieser Pull Request hängt: „Modelle entscheiden sich dafür, indem sie compute_logits_local.“

Das Feature selbst ist nicht neu. vLLM hat es als PR #50465 – „[Model Runner V2] batch-sharded sample“ von Giancarlo Delfin – am 24.08.2026 gemergt, am selben Tag, an dem die Gewichte von Qwen3.8-Flash-Next veröffentlicht wurden. Die Motivation dahinter waren Speicher und Latenz: Das Materialisieren vollständiger Ziel-Logits kostet in der Größenordnung von Batchgröße × (spekulative Tokens + 1) × Vokabulargröße, und Sharding senkt diese Allokation um einen Faktor des Tensor-Parallelitätsgrads, während es die Top-k- und Top-p-Arbeit des Samplers parallel laufen lässt. Es ist der ermöglichende Schritt, nicht das Ziel: Der Text des PRs selbst markiert geshardete Draft-Logits als zukünftige Arbeit.

Warum drei Zeilen die ganze Arbeit ausmachten

GitHub page for vllm-project/vllm pull request 61018, titled "[Model] Qwen4Exp: support batch-sharded sampling (compute_logits_local)", showing the Draft badge, a three-file diff with 71 additions, the qwen label and the PR body.

Hier ist der eigentliche Defekt, und er ist ein guter, weil er von außerhalb des Codes unsichtbar ist. Die Qwen4Exp-Implementierung von vLLM wird als zwei Klassen ausgeliefert. Qwen4ExpForConditionalGeneration ist der Vision-Sprache-Wrapper — ein an das Sprachmodell angeschraubter Qwen3-VL-Vision-Tower —, und Qwen4ExpForCausalLM ist der Nur-Text-Pfad. Der Wrapper erbt compute_logits_local von Qwen3_5ForConditionalGeneration, die den Aufruf an language_model.compute_logits_local weiterleitet. Aber die Sprachmodellklasse, auf die der Wrapper verwies, hat diese Methode nie definiert.

Die beiden Pfade befanden sich also in unterschiedlichen Zuständen. Ein Vision-Language-Deployment von Qwen3.8-Flash-Next konnte den Sharded-Pfad nehmen; ein reines Text-Deployment nicht, weil die Methode, an die der Wrapper delegierte, nicht existierte. Die Lösung ist eine Methode, identisch in den NVIDIA- und AMD-Kopien der Modelldatei:

• Die Methode gibt self.logits_processor(self.lm_head, hidden_states, skip_gather=True) zurück — das eigene Vokabular-Shard des Rangs, ohne Gather und ohne Materialisierung des vollständigen Vokabulars auf irgendeinem Rang.

• Es folgt dem, was der PR als „dasselbe dreizeilige Muster wie Qwen3.5 und MiniMax M3“ bezeichnet, was einen Moment des Innehaltens wert ist: Zwei andere Modellfamilien im selben Repository hatten bereits zugestimmt. Qwen4Exp war einfach diejenige, die es nicht getan hatte.

Die Testdatei ist der Ort, an dem sich die Ehrlichkeit des Patches am einfachsten überprüfen lässt und an dem seine Grenzen am leichtesten zu erkennen sind. Sie ist 57 Zeilen lang, sie ist sowohl über die NVIDIA- als auch über die AMD-Module parametrisiert, und sie lädt kein Modell herunter. Der Helfer baut die Klasse mit object.__new__, setzt nn.Identity als Language-Model-Head ein und installiert einen gefälschten Logits-Prozessor, der seine Eingabe plus eins zurückgibt und dabei aufzeichnet, wie er aufgerufen wurde. Der erste Test prüft, dass eine 4.0 hineingeht und als 5.0 herauskommt, und dass der aufgezeichnete Aufruf skip_gather=True trug. Der zweite Test verpackt das Sprachmodell in die Klasse für bedingte Generierung und stellt sicher, dass die Delegation greift. Das ist ein echter Test der Verdrahtung und ein Test von nichts anderem — kein Kernel wird ausgeführt, keine Rang-Grenze wird überschritten, und die Anzahl der beteiligten GPUs ist null.

Beide dieser Fakten werden im PR genannt und nicht verschwiegen. Der Docstring der Testdatei selbst bezeichnet Qwen4Exp als „ein winziges CPU-only-Test-Double“. Der Validierungsabschnitt des Autors merkt an, dass er das Modell auf seinem macOS-Setup überhaupt nicht importieren konnte, weil der transformers-Build, den er hatte, kein Qwen4ExpConfig. Der CUDA-Lauf war noch ausstehend. Der End-to-End-Benchmark – MLPerf-Agentic-Datensatz, 20 gleichzeitige Sessions, drei 60-Minuten-Arme – war ebenfalls noch ausstehend. Der Logits-Pfad des MTP-Drafters selbst ist als ungeprüft gekennzeichnet. LoRA wird upstream bereits durch das Flag abgelehnt, liegt also außerhalb des Geltungsbereichs und ist keine Regression. Es gibt zudem eine Zeile, die offenlegt, dass der Entwurf mit KI-Unterstützung verfasst wurde, und der Commit-Trailer nennt Claude Opus 5.5 als Co-Autor – genau die Art von Offenlegung, die in einem Stack dieser Größe normal sein sollte und es größtenteils nicht ist.

Die 1,5%-Schätzung und die Messungen, neben denen sie steht

Die Schätzung des Beitragenden ist ein nsys-Trace bei 16 gleichzeitigen Sitzungen auf Qwen3.8-Flash-Next-FP8 mit Tensor-Parallelität 8 und Experten-Parallelität über acht A100-SXM4-40GB-Karten: etwa 1,6 Millisekunden eines 42-Millisekunden-Schritts, gekürzt auf ungefähr ein Drittel davon, für einen End-to-End-Gewinn von 1,5 bis 2 %. Seine Kernaussage ist die Rechnung – 0,6 bis 0,8 ms von 42 ms. Beachten Sie, was daran hängt: 42 ms ist ein Inter-Token-Latenzwert, also ist eine Reduzierung um 1,7 % eine Reduzierung um 1,7 % bei der Token-Generierungszeit, keine Durchsatzaussage an sich.

Der ehrliche Vergleich erfolgt gegen die eigenen gemergten Zahlen des übergeordneten Features, weil diese von jemandem mit der Hardware Ende-zu-Ende gemessen wurden. In den in PR #50465 veröffentlichten Speed-Bench 2K/2K-Läufen verschob Batch-Sharded-Sampling DeepSeek V4 mit DSpark bei 7 spekulativen Token und Nebenläufigkeit 64 von 2,62 auf 2,66 Anfragen pro Sekunde – eine Durchsatzsteigerung von 1,53 % – wobei die mediane Inter-Token-Latenz um 3,09 % sank und die Zeit bis zum ersten Token um 1,45 % stieg. Bei MiniMax M3 mit DSpark bei 8 spekulativen Token stieg der Anfragedurchsatz um 5,38 % und die mediane TPOT fiel um 8,33 % von 15,61 auf 14,31 Millisekunden. Und derselbe Plan dokumentiert, wo es nicht hilft: Bei Nebenläufigkeit 4 bis 16 fielen die Läufe flach bis leicht negativ aus, wobei der Nebenläufigkeits-16-Arm um 0,54 % beim Durchsatz und 1,89 % bei der Akzeptanzlänge niedriger lag.

Dieses Muster ist die Erkenntnis, die man mitnehmen sollte. Sharded Sampling zahlt sich aus, wenn das Sampling aufwendig und der Batch breit ist – hohe Parallelität, viele spekulative Token, Top-k und Top-p, die echte Arbeit leisten – und es kostet ein wenig, wenn der Batch klein genug ist, dass das All-to-all reiner Overhead ist. Eine Schätzung von 1,5 % für ein Modell, das sich dafür entscheidet, ist damit konsistent und steht nicht im Widerspruch dazu: Die Zahlen 5,38 % und 8,33 % gehören zu verschiedenen Modellen mit unterschiedlichen spekulativen Budgets, und das Modell in diesem PR hat seine eigene Konfiguration, sein eigenes Vokabular mit 248.320 Token und seinen eigenen spekulativen Decodierungspfad.

Nichts davon ist auditiert. Die Zahlen des übergeordneten PR sind gepaarte Läufe eines einzelnen Beitragenden auf einem einzigen Knoten; die Smoke-Test-Zahlen hier sind ein Trace auf Hardware, die der Autor nicht besitzt, aus einer Revision des Patches, von der er sagt, sie sei nur bei 16 Sitzungen gemessen worden. Eine Messung mit einem einzigen Beitragenden und einer einzigen Konfiguration ist ein nützliches Signal für die Richtung und eine schlechte Grundlage für einen Kapazitätsplan. Der Grund, warum es sich überhaupt lohnt, über das Thema zu schreiben, ist die Richtung, nicht die Dezimalstelle.

Was der umgebende Patch-Cluster über Qwen4Exp aussagt

Ein einzelner Draft-PR wäre keine Geschichte. Die Geschichte ist, dass Qwen4Exp in der Woche, in der dies landete, zu einem dauerhaften Serving-Ziel geworden ist, und der kleinste Patch in diesem Cluster ist derjenige, der das Muster erkennbar macht. In den sieben Tagen bis zum 10.10.2026 hat vLLM vom selben Contributor und anderen bereitgestellt: einen FP8-Haupt-KV-Cache-Pfad für Sparse Attention auf Ampere, mit einer KV-Kapazität von 1,83× auf acht A100s und 1,87× auf vier RTX 3090s und etwa 2,7× so vielen Anfragen bei Concurrency 16, auf Kosten von etwa 6 % höherem Single-Stream-Decode-TPOT; einen Fix für W4A4-MoE-Padding bei Tensor-Parallel 1 und Expert Parallelism; einen AMD-Pfad, der von nicht unterstützten AITER-FP8-MoE-Operationen zurückfällt und in fp16 bedient; einen Fix, der den PLE-Kurzkonvolutionszustand durch den Align-Modus trägt; und einen Decode-Kernel, der e4m3-Bytes vier auf einmal pro Register auf sm_80 entpackt. Einer von ihnen, ein Retune des H200 M=4 gemergten QSA LL-GEMM-Plans, wurde am 09.10.2026 in main gemerged.

Lies diese Liste als Ganzes, und sie sagt etwas Konkretes. Die Qwen4Exp-Architektur – die, die der Anbieter noch nicht veröffentlicht hat – wird gleichzeitig für Ampere, Hopper, ROCm und fp16-Fallback optimiert, und zwar in einem Projekt, das Day-Zero-Unterstützung für Modelle ausliefert, die man tatsächlich herunterladen kann. Der Grund ist nicht mysteriös: Qwen3.8-Flash-Next ist ein echtes, herunterladbares, stark genutztes Modell, und es basiert auf der Architektur, die Qwen 4 verwenden wird. Ob die Gewichte von Qwen 4 jemals in dieser Form erscheinen werden, ist unbekannt, und der Anbieter hat dazu nichts gesagt, aber der Serving-Envelope wird öffentlich ausgeweitet, und das ist überprüfbare Information – anders als ein gemutmaßtes Zeitfenster von Oktober bis November.

Ein Teil der architektonischen Ausgestaltung ist ebenfalls öffentlich, für jeden, der die Konfiguration statt der Ankündigung liest. Die Konfiguration von Qwen3.8-Flash-Next listet ein Vokabular von 248.320 Token über 48 Schichten, 512 Experten mit 10 gerouteten plus einem geteilten aktiven pro Token bei einer intermediären Expertenbreite von 640, einer Hidden-Size von 2.560 und einem nativen Kontext von 262.144 Token, der als auf eine Million erweiterbar beschrieben wird. Es ist ein Hybrid: Die Layer-Typ-Liste wechselt drei Linear-Attention-Blöcke mit einem Full-Attention-Block ab, und die Full-Attention-Blöcke verwenden den Sparse-Attention-Pfad mit einem Ein-Kopf-Indexer, der Schlüssel um den Faktor vier komprimiert und ein Budget von 2.048 Positionen beibehält. Es gibt eine Embedding-Tabelle pro Schicht in Schicht 2, ein n-Gramm-Embedding mit einem Vokabular von 20 Millionen Einträgen – das ist die 47,7 GiB große Tabelle, die andere Patches in diesem Cluster gerade host-stagen – und einen einlagigen MTP-Kopf für spekulatives Decoding. Die Zusammenfassung der Modellkarte selbst lautet: „125B mit 6B aktiviert, plus 51B n-Gramm-Embedding und 4B MTP.“ Ein Vokabular mit 248.320 Einträgen ist der Grund, warum es sich überhaupt lohnt, die Logits-Projektion zu sharden.

Was dies für Sie nicht ändert

Es lohnt sich, genau zu sein, denn ein so dichtes Patch-Cluster kann wie ein Launch wirken. Nichts von alldem ist gemergt, und ein Teil davon – die Ampere-FP8-KV-Cache-Arbeit – ist ausdrücklich in CI nicht validiert, weil die CI von vLLM keine A100 hat. Es gibt keine veröffentlichte vLLM-Version, die man heute installieren kann und die das Qwen4Exp-Sharded-Sampling-Opt-in mitbringt. Es gibt keinen unabhängigen Benchmark für das Serving-Verhalten von Qwen3.8-Flash-Next unter irgendeiner dieser Änderungen; jede oben genannte Zahl stammt aus den PR-Beschreibungen, was sie zu von Beitragenden gemeldeten und nicht auditierten Angaben macht – und zwar in dem spezifischen Sinn, dass kein Dritter den Lauf reproduziert hat. Und die Schlagzeilenzahl im PR, der diesen Beitrag ausgelöst hat, ist 1,5 %, was ein echter Gewinn in einem Serving-Stack ist und kein Grund, eine Modellwahl zu ändern.

Was eine Entscheidung ändern würde, ist ein vollständiger, auditierter Serving-Durchlauf, und den gibt es noch nicht. Die Pacing-Messungen, die für Qwen3.8-Flash-Next existieren, liegen völlig außerhalb dieser Patches: Das Modell erreicht einen Intelligence Index von 40 bei Artificial Analysis, deutlich über dem Median von 18 für Open-Weight-Modelle ähnlicher Größe, und diese Zahl ist unabhängig von allem, was hier besprochen wurde.

Was Sie heute anrufen können und der Routing-Aspekt

OrcaRouter model page for qwen/qwen3.8-flash, listing one-million-token context, 131,072 max output, a $0.15 input and $0.47 output list price, and the api.orcarouter.ai base URL.

Hier wird es praktisch für alle, die bis hierher gelesen haben und lieber ein gehostetes Modell nutzen möchten, statt eines zu instrumentieren. Qwen3.8-Flash-Next steht nicht im Katalog von OrcaRouter – es ist nicht eines der 205 Modelle, die wir routen, und es gibt hier keinen gehosteten Endpunkt dafür. Aber das Produktionsgeschwistermodell, auf das es vorausweist, ist verfügbar:qwen/qwen3.8-flash, die offizielle Qwen3.8-Flash-Version, die laut der eigenen Modellkarte des Anbieters mehr Funktionen als die Vorschau bietet, darunter standardmäßig ein Kontextfenster von einer Million Token und integrierte Tools, ist für 0,15 $ pro Million Eingabe-Token und 0,47 $ pro Million Ausgabe-Token erhältlich und wird zum Listenpreis des Anbieters ohne Aufschlag durchgereicht. Zum Vergleich innerhalb derselben Familie kostet qwen/qwen3.8-27b 0,33 $ und 2,40 $, und qwen/qwen3.8-max 2,00 $ und 6,00 $ – alle über einen einzigen Schlüssel erreichbar.

Es gibt zwei Gründe, die für einen Beitrag über eine unveröffentlichte Architektur mehr als sonst von Bedeutung sind. Der erste sind die Wechselkosten. Wenn Sie kalibrieren möchten, wie sich ein Sparse-Attention-Modell auf Ihrem Traffic anfühlt, bevor Qwen 4 existiert, ist der Vergleich, den Sie anstellen möchten, der mit qwen/qwen3.8-flash zum Listenpreis – und ihn über einen Router laufen zu lassen bedeutet, dass das Modell, das Sie messen, und das Modell, auf das Sie möglicherweise zurückfallen, hinter demselben Endpunkt, demselben SDK und demselben Schlüssel stehen, ohne einen zweiten Vertrag unterschreiben zu müssen. Der zweite ist, dass jede Serving-Änderung in diesem Patch-Cluster auf selbst gehostetes vLLM abzielt. Wenn Sie nicht acht A100s betreiben, sind die 1,83× KV-Kapazität und der 1,5 % Sampling-Gewinn Dinge, über die Sie lesen, nicht Dinge, die Sie bekommen. Ein gerouteter Endpunkt ist die Version davon, die ohne Build-Schritt auskommt: automatisches Failover, wenn ein Anbieter degradiert, und eine Routing-DSL, mit der Sie einen gehosteten Aufruf neben einen selbst gehosteten in einem einzigen Endpunkt setzen können, wenn Sie tatsächlich eigene Hardware zum Messen haben.

Das Einzige, was man nicht tun sollte, ist, diesen Artikel als Grund dafür zu lesen, auf Qwen 4 zu warten. Es gibt kein Datum. Es gibt keinen Preis. Es gibt keine Gewichtszahl für das echte Modell – die oben genannten Zahlen beschreiben den Preview-Build, nicht das Produkt. Was existiert, ist ein Serving-Stack, der öffentlich für eine Architektur vorbereitet wird, die vorerst nur in Preview-Form herunterladbar ist.

Die Kurzfassung

Two-column scoreboard comparing batch-sharded sampling without the flag and with it across path, rank memory, sampler work, reported gain and status, footnoted as the PR body estimate on Qwen3.8-Flash-Next-FP8, TP8 plus EP, eight A100-SXM4-40GB, not independently audited.

Drei Zeilen, die eine Lücke zwischen den Text-only- und Vision-Language-Pfaden einer einzigen Modelldatei schließen, sind für sich genommen keine Neuigkeit. Es ist ein Patch, wie er in einem Merge-Commit untergehen würde, wenn jemand Zeit hätte, ihn zu prüfen, und er könnte durchaus in eine größere Änderung einfließen oder kurzerhand geschlossen werden – die eigenen Agent-Richtlinien des vLLM-Bots, die im PR zitiert werden, weisen KI-unterstützte Beitragende an, ihre Arbeit zu schließen, wenn sie keinen erheblichen Nutzen hat, und 1,5 % ist eine Zahl, die genau diese Frage aufwirft. Was es Ihrer Aufmerksamkeit wert macht, ist das, was es dokumentiert: eine n-Gramm-Tabelle mit 20 Millionen Einträgen, ein MoE mit 512 Experten, von denen zehn pro Token aktiv sind, ein Hybrid aus linearer Attention und komprimierter Sparse-Attention, ein spekulativer Head – all das wird über NVIDIA- und AMD-Hardware hinweg, von Ampere bis Hopper, abgestimmt, bevor das Produkt, das es trägt, überhaupt existiert. Wenn Sie sich für die Serving-Envelope von Qwen4 interessieren, sind die PR-Bodies derzeit der Ort, an dem die tatsächlichen Spezifikationen zu finden sind. Wenn Sie heute ein Modell aufrufen möchten, ist Qwen3.8-Flash dasjenige, das tatsächlich vorhanden ist.

Eine API für über 200 Modelle, automatisches Failover, Routing-DSL. Entdecken Sie den OrcaRouter-Modellkatalog

In diesem Artikel verglichen2

Aus diesem Artikel erkannt · Benchmarks: Artificial Analysis · täglich aktualisiert