Kartu judul untuk vLLM PR #61018, dilabeli UNVERIFIED — DRAFT PR, UNMERGED, dengan judul utama "3 baris agar Qwen4Exp dapat melakukan sampling secara sharded" beserta chip untuk repo sumber, tanggal pembukaan 2026-10-10, dan status draf terbuka.
Guides & Insights

Pengambilan sampel batch-sharded Qwen4Exp: di dalam vLLM PR #61018, dan apa yang dikatakannya tentang Qwen 4

Penulis

Gideon Frost

Tanggal Terbit

Model terbaru · 20Lihat semua model →
Benchmark: Artificial Analysis · diperbarui setiap hari
Kembali ke semua artikel

Angka paling informatif dalam pull request vLLM #61018 adalah kerugian: 1,5%. Itu adalah batas atas yang penulis tetapkan pada perubahannya sendiri — sekitar 0,6 hingga 0,8 milidetik yang dihemat dari langkah rata-rata 42 milidetik, diukur pada mesin yang bukan miliknya, dalam patch yang sama sekali tidak dapat dia jalankan. Pull request yang berjudul "[Model] Qwen4Exp: mendukung sampling batch-sharded (compute_logits_local)" dan dibuka pada 2026-10-10 oleh kontributor kimseunghyun-kr, menambahkan tiga baris kode model ke dua file agar arsitektur Qwen4Exp dapat mengambil jalur sampling yang dirilis vLLM pada Agustus. Ini masih draf. Ini terdiri atas 14 baris kode model ditambah 57 baris tes. Dan tetap layak dibaca dengan saksama, karena apa yang sedang ditambal oleh ketiga baris itu: Qwen4Exp adalah arsitektur di dalam Qwen3.8-Flash-Next, model open-weight berparameter 125 miliar yang diterbitkan vendor pada 2026-08-24 sebagai "pratinjau eksperimental dari arsitektur yang akan mendasari Qwen4" — dan bug dua jalur di separuh text-only arsitektur itu justru jenis detail yang hanya Anda ketahui dengan mengamati lapisan serving, bukan postingan peluncuran.

Untuk menghindari ambiguitas soal pembingkaiannya, karena ini penting di sini: Qwen 4 sendiri belum dirilis. Vendor itu menyebutkan empat tier Qwen 4 — Qwen 4 Max, Flash, Plus, dan 27B — pada konferensi Apsara-nya pada 2026-09-22, dan belum menerbitkan bobot, pengenal, harga, panjang konteks, maupun tolok ukur untuk salah satu dari mereka. Tidak ada apa pun di bawah ini yang merupakan rilis. Ini adalah rangkuman sejauh yang kita ketahui tentang satu pull request draf, dan segala hal di dalamnya yang membawa angka hanyalah stempel waktu yang dapat Anda verifikasi, angka yang diketikkan kontributor ke dalam isi PR-nya sendiri, atau nilai yang dibaca dari file konfigurasi model publik.

Apa itu batch-sharded sampling, dalam satu paragraf

Tensor parallelism membagi bobot model ke beberapa GPU; proyeksi kosakata adalah tensor tunggal paling lebar di seluruh stack, jadi setiap rank biasanya hanya menghitung slice kosakatanya sendiri — lalu setiap rank melakukan all-gather, sehingga masing-masing pada akhirnya memegang logits lengkap untuk setiap permintaan dalam batch. Sharded sampling membalik pertukaran itu. Alih-alih mereplikasi kosakata di antara rank, ia memecah batch: setiap rank mengambil sampel satu slice permintaan, dan para rank saling bertukar slice kosakata satu sama lain melalui all-to-all. Dokumentasi CLI milik vLLM sendiri menjelaskan flag itu secara gamblang — "Setiap rank mengambil sampel sebagian batch alih-alih setiap rank mengambil sampel semuanya" — dan menyatakan batasannya: --enable-batch-sharded-sampling default-nya False, memerlukan tensor_parallel_size lebih besar dari 1, setidaknya tensor_parallel_size sequence maksimum, dan sebuah max_logprobs yang non-negatif. Baris terakhir dokumentasi itu adalah kait yang menjadi tempat pull request ini bergantung: "Model ikut serta dengan mengimplementasikan compute_logits_local."

Fitur ini sendiri bukan hal baru. vLLM menggabungkannya sebagai PR #50465 — "[Model Runner V2] batch-sharded sample," oleh Giancarlo Delfin — pada 2026-08-24, hari yang sama ketika bobot Qwen3.8-Flash-Next diunggah. Motivasi di sana adalah memori dan latensi: merealisasikan logits target memakan biaya pada orde ukuran batch × (token spekulatif + 1) × ukuran kosakata, dan sharding memangkas alokasi itu dengan faktor derajat tensor-paralel sekaligus memungkinkan pekerjaan top-k dan top-p sampler berjalan secara paralel. Ini adalah langkah yang memungkinkan, bukan tujuan akhir: teks PR itu sendiri menandai draft-logits yang di-shard sebagai pekerjaan mendatang.

Mengapa tiga baris adalah seluruh pekerjaannya

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.

Berikut adalah cacat sebenarnya, dan ini cacat yang bagus karena tidak terlihat dari luar kode. Implementasi Qwen4Exp di vLLM dikirim sebagai dua kelas. Qwen4ExpForConditionalGeneration adalah pembungkus bahasa-visi — menara visi Qwen3-VL yang dipasang pada model bahasa — dan Qwen4ExpForCausalLM adalah jalur khusus teks. Pembungkus tersebut mewarisi compute_logits_local dari Qwen3_5ForConditionalGeneration, yang meneruskan panggilan itu ke language_model.compute_logits_local. Namun kelas model bahasa yang ditunjuk oleh pembungkus tersebut tidak pernah mendefinisikan metode itu.

Jadi kedua jalur itu berada dalam kondisi yang berbeda. Deployment vision-language dari Qwen3.8-Flash-Next dapat menempuh jalur sharded; yang hanya teks tidak bisa, karena metode yang didelegasikan oleh wrapper tersebut tidak ada. Perbaikannya adalah satu metode, identik pada salinan file model untuk NVIDIA dan AMD:

• Metode ini mengembalikan self.logits_processor(self.lm_head, hidden_states, skip_gather=True) — shard kosakata milik rank itu sendiri, tanpa gather dan tanpa materialisasi kosakata penuh di rank mana pun.

• Ini mengikuti apa yang disebut PR sebagai "pola 3 baris yang sama seperti Qwen3.5 dan MiniMax M3," yang patut direnungkan: dua keluarga model lain di repositori yang sama sudah memilih ikut serta. Qwen4Exp hanyalah satu-satunya yang belum melakukannya.

Berkas pengujian adalah tempat kejujuran patch paling mudah diperiksa, dan tempat batasannya paling mudah dilihat. Berkas ini terdiri dari 57 baris, diparametrisasi untuk modul NVIDIA maupun AMD, dan tidak mengunduh model. Helper-nya membangun kelas dengan object.__new__, menggantikan nn.Identity untuk kepala model bahasa, dan memasang pemroses logits palsu yang mengembalikan inputnya ditambah satu sambil mencatat bagaimana ia dipanggil. Pengujian pertama menegaskan bahwa 4.0 yang masuk keluar sebagai 5.0 dan bahwa pemanggilan yang tercatat membawa skip_gather=True. Pengujian kedua membungkus model bahasa dalam kelas generasi kondisional dan menegaskan bahwa delegasinya berhasil. Itu adalah pengujian nyata terhadap pengkabelannya dan bukan pengujian apa pun selain itu — tidak ada kernel yang dijalankan, tidak ada batas rank yang dilintasi, dan jumlah GPU yang terlibat adalah nol.

Kedua fakta itu dinyatakan di dalam PR, bukan disembunyikan. Docstring berkas tes itu sendiri menyebut Qwen4Exp sebagai "test double kecil yang hanya CPU." Bagian validasi penulis mencatat bahwa ia sama sekali tidak bisa mengimpor model tersebut pada pengaturan macOS-nya, karena transformers build yang ia miliki tidak menyertakan Qwen4ExpConfig. Run CUDA masih tertunda. Benchmark end-to-end — dataset MLPerf agentic, 20 sesi bersamaan, tiga arm berdurasi 60 menit — juga masih tertunda. Jalur logits milik drafter MTP ditandai sebagai belum diperiksa. LoRA sudah ditolak oleh flag di hulu, jadi ini di luar cakupan, bukan regresi. Ada juga satu baris yang mengungkapkan bahwa draf tersebut ditulis dengan bantuan AI, dan trailer commit mencantumkan Claude Opus 5.5 sebagai salah satu penulis bersama, yakni jenis pengungkapan yang seharusnya lazim pada stack sebesar ini dan sebagian besar tidak demikian.

Perkiraan 1,5%, dan pengukuran yang berada di sebelahnya

Perkiraan kontributor adalah nsys trace pada 16 sesi bersamaan di Qwen3.8-Flash-Next-FP8 dengan paralelisme tensor 8 dan paralelisme pakar di delapan kartu A100-SXM4-40GB: sekitar 1,6 milidetik dari langkah 42 milidetik, dipangkas menjadi sekitar sepertiganya, untuk peningkatan end-to-end sebesar 1,5 hingga 2%. Sorotan utamanya adalah aritmetika — 0,6 hingga 0,8 ms dari 42 ms. Perhatikan apa yang melekat pada itu: 42 ms adalah angka latensi antartoken, jadi pemangkasan 1,7% adalah pemangkasan 1,7% pada waktu pembuatan token, bukan klaim throughput secara umum.

Perbandingan yang jujur adalah terhadap angka hasil merge milik fitur induk itu sendiri, karena angka-angka itu diukur secara end-to-end oleh seseorang yang memiliki perangkat kerasnya. Dalam uji Speed-Bench 2K/2K yang diterbitkan di PR #50465, pengambilan sampel batch-sharded mendorong DeepSeek V4 dengan DSpark pada 7 token spekulatif dan konkurensi 64 dari 2,62 ke 2,66 permintaan per detik — peningkatan throughput 1,53% — dengan latensi antar-token median turun 3,09% dan waktu ke token pertama naik 1,45%. Pada MiniMax M3 dengan DSpark pada 8 token spekulatif, throughput permintaan naik 5,38% dan TPOT median turun 8,33% dari 15,61 ke 14,31 milidetik. Dan rencana yang sama mendokumentasikan di mana hal itu tidak membantu: pada konkurensi 4 hingga 16, hasil uji menjadi datar hingga sedikit negatif, dengan cabang konkurensi-16 turun 0,54% pada throughput dan 1,89% pada panjang penerimaan.

Pola itulah yang perlu diingat. Sampling ber-shard menguntungkan ketika sampling berat dan batch-nya lebar — konkurensi tinggi, banyak token spekulatif, top-k dan top-p benar-benar bekerja — dan hanya sedikit membebani ketika batch cukup kecil sehingga all-to-all murni menjadi overhead. Estimasi 1,5% untuk satu model yang ikut serta konsisten dengan hal itu, bukan bertentangan dengannya: angka 5,38% dan 8,33% milik model berbeda dengan anggaran spekulatif yang berbeda, dan model dalam PR ini memiliki konfigurasinya sendiri, kosakatanya sendiri berisi 248.320 token, dan jalur speculative-decoding-nya sendiri.

Tidak ada satu pun yang diaudit. Angka-angka PR induk adalah hasil run berpasangan milik satu kontributor pada satu node; angka-angka uji asap di sini adalah jejak pada perangkat keras yang tidak dimiliki penulis, dari revisi patch yang menurutnya hanya diukur pada 16 sesi. Pengukuran oleh satu kontributor dengan satu konfigurasi adalah sinyal yang berguna tentang arah dan dasar yang buruk untuk rencana kapasitas. Alasan topik ini sama sekali layak dituliskan adalah arahnya, bukan angka desimalnya.

Apa yang dikatakan oleh klaster patch di sekitarnya tentang Qwen4Exp

Satu draf PR bukanlah sebuah cerita. Ceritanya adalah bahwa Qwen4Exp telah menjadi target penyajian yang berkelanjutan pada minggu ketika perubahan ini mendarat, dan patch terkecil di klaster itu adalah yang membuat polanya terbaca. Dalam tujuh hari hingga 2026-10-10, vLLM membawa, dari kontributor yang sama dan kontributor lain: jalur cache KV utama FP8 untuk sparse attention pada Ampere, dengan kapasitas KV naik 1,83× pada delapan A100 dan 1,87× pada empat RTX 3090 serta sekitar 2,7× permintaan pada konkurensi 16, dengan biaya sekitar 6% TPOT decode single-stream yang lebih tinggi; perbaikan untuk padding MoE W4A4 pada tensor-parallel 1 dan expert parallelism; jalur AMD yang melakukan fallback dari operasi MoE FP8 AITER yang tidak didukung dan melayani dalam fp16; perbaikan yang membawa state short-convolution PLE melalui mode align; dan kernel decode yang membongkar byte e4m3 empat sekaligus per register pada sm_80. Salah satunya, penyetelan ulang rencana QSA LL-GEMM gabungan H200 M=4, digabungkan ke main pada 2026-10-09.

Baca daftar itu secara keseluruhan dan itu mengatakan sesuatu yang konkret. Arsitektur Qwen4Exp — yang belum dirilis vendor — sedang disetel untuk Ampere, Hopper, ROCm, dan fallback fp16 secara bersamaan, dalam sebuah proyek yang menyediakan dukungan sejak hari pertama untuk model yang benar-benar bisa diunduh orang. Alasannya tidak misterius: Qwen3.8-Flash-Next adalah model nyata, dapat diunduh, dan banyak digunakan, serta dibangun di atas arsitektur yang akan digunakan Qwen 4. Apakah bobot Qwen 4 akan pernah hadir dalam bentuk seperti ini tidak diketahui dan vendor belum mengatakan apa pun, tetapi cakupan serving sedang diperluas di depan publik, dan itu adalah informasi yang dapat diperiksa, tidak seperti jendela Oktober-ke-November yang dirumorkan.

Sebagian dari bentuk arsitekturalnya juga publik, bagi siapa pun yang membaca konfigurasi alih-alih pengumumannya. Konfigurasi Qwen3.8-Flash-Next mencantumkan kosakata 248.320 token pada 48 layer, 512 expert dengan 10 routed plus satu shared yang aktif per token pada lebar intermediate expert 640, ukuran hidden 2.560, dan konteks native 262.144 token yang dideskripsikan dapat diperluas hingga satu juta. Model ini hibrida: daftar tipe layer bergantian tiga blok linear-attention dengan satu blok full-attention, dan blok full-attention menggunakan jalur sparse-attention dengan indexer satu-head yang memampatkan key dengan faktor empat dan mempertahankan anggaran 2.048 posisi. Ada tabel embedding per-layer di layer 2, sebuah embedding n-gram dengan kosakata 20 juta entri — itulah tabel 47,7 GiB yang sedang sibuk di-host-staging oleh patch lain di klaster ini — dan head MTP satu-layer untuk speculative decoding. Ringkasan model card itu sendiri adalah "125B dengan 6B diaktifkan, plus 51B embedding n-gram dan 4B MTP." Kosakata berisi 248.320 entri adalah alasan proyeksi logits layak di-shard sejak awal.

Apa yang tidak berubah untuk Anda

Ada baiknya bersikap tepat, karena klaster patch sepadat ini bisa terbaca seperti peluncuran. Tidak ada satu pun dari hal di atas yang sudah di-merge, dan salah satu bagiannya — pekerjaan cache KV FP8 Ampere — secara eksplisit belum divalidasi di CI karena CI vLLM tidak memiliki A100. Tidak ada versi vLLM yang telah dirilis yang dapat Anda pasang hari ini yang menyertakan opt-in sharded-sampling Qwen4Exp. Tidak ada benchmark independen atas perilaku penyajian Qwen3.8-Flash-Next di bawah perubahan-perubahan ini; setiap angka yang dikutip di atas berasal dari isi PR, yang membuatnya dilaporkan oleh kontributor dan tidak diaudit dalam arti spesifik bahwa tidak ada pihak ketiga yang mereproduksi eksekusi tersebut. Dan angka utama dalam PR yang memulai tulisan ini adalah 1,5%, yang merupakan keuntungan nyata dalam serving stack dan bukan alasan untuk mengubah pilihan model.

Yang akan mengubah suatu keputusan adalah proses serving penuh yang diaudit, dan itu belum ada. Pengukuran pacing yang memang ada untuk Qwen3.8-Flash-Next sepenuhnya berada di luar patch ini: model tersebut mencatat Intelligence Index 40 di Artificial Analysis, jauh di atas median 18 untuk model open-weight dengan ukuran serupa, dan angka itu independen dari semua yang dibahas di sini.

Apa yang dapat Anda panggil hari ini, dan sudut routingnya

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.

Di sinilah gambaran ini menjadi praktis bagi siapa pun yang telah membaca sejauh ini dan ingin menggunakan model yang dihosting alih-alih menginstrumentasi model. Qwen3.8-Flash-Next tidak ada dalam katalog OrcaRouter — ini bukan salah satu dari 205 model yang kami rutekan, dan tidak ada endpoint yang dihosting untuknya di sini. Namun, saudara produksinya yang dipratinjau ada: qwen/qwen3.8-flash, rilis resmi Qwen3.8-Flash yang menurut kartu model vendor sendiri membawa lebih banyak fitur daripada versi pratinjau, termasuk konteks satu juta token secara default dan alat bawaan, tersedia dengan harga $0,15 per juta token input dan $0,47 per juta token output, diteruskan pada harga daftar penyedia tanpa markup tambahan. Untuk skala dalam keluarga yang sama, qwen/qwen3.8-27b berjalan $0,33 dan $2,40, dan qwen/qwen3.8-max $2,00 dan $6,00 — semuanya dapat diakses dengan satu kunci.

Ada dua alasan yang membuatnya lebih penting dari biasanya untuk sebuah tulisan tentang arsitektur yang belum dirilis. Yang pertama adalah biaya peralihan. Jika Anda ingin mengukur seperti apa rasanya model sparse-attention pada trafik Anda sebelum Qwen 4 ada, pembanding yang ingin Anda jalankan adalah terhadap qwen/qwen3.8-flash pada harga list — dan melakukannya melalui router berarti model yang Anda ukur dan model yang mungkin Anda gunakan sebagai fallback berada di balik endpoint yang sama, SDK yang sama, dan kunci yang sama, tanpa kontrak kedua yang harus ditandatangani. Yang kedua adalah bahwa setiap perubahan serving dalam klaster patch ini menyasar vLLM yang di-host sendiri. Jika Anda tidak menjalankan delapan A100s, kapasitas KV 1,83× dan keunggulan sampling 1,5% adalah hal yang Anda baca, bukan hal yang Anda dapatkan. Endpoint yang dirutekan adalah versi dari ini yang hadir tanpa langkah build: failover otomatis jika penyedia menurun, dan DSL perutean yang memungkinkan Anda menempatkan panggilan hosted di samping panggilan self-hosted dalam satu endpoint ketika Anda memang punya perangkat keras sendiri untuk diukur.

Satu hal yang tidak boleh dilakukan adalah membaca artikel ini sebagai alasan untuk menunggu Qwen 4. Tidak ada tanggal. Tidak ada harga. Tidak ada jumlah bobot untuk versi aslinya — angka-angka di atas menggambarkan build pratinjau, bukan produknya. Yang ada adalah stack penyajian yang sedang dipersiapkan secara publik untuk sebuah arsitektur yang, untuk saat ini, hanya dapat diunduh dalam bentuk pratinjau.

Versi singkatnya

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.

Tiga baris yang menutup celah antara jalur teks-saja dan jalur visi-bahasa dari satu file model bukanlah berita, dengan sendirinya. Itu adalah jenis patch yang akan terkubur dalam commit merge jika ada yang punya waktu untuk meninjaunya, dan bisa saja dilipat ke dalam perubahan yang lebih besar atau ditutup begitu saja — pedoman agen milik bot vLLM sendiri, yang dikutip di PR, menginstruksikan kontributor berbantuan AI untuk menutup pekerjaan mereka jika kurang memberi manfaat signifikan, dan 1,5% adalah angka yang mengundang pertanyaan itu. Yang membuatnya layak diperhatikan adalah hal yang didokumentasikannya: tabel n-gram berisi 20 juta entri, MoE dengan 512 pakar dan sepuluh pakar aktif per token, hibrida antara attention linear dan attention sparse terkompresi, sebuah head spekulatif — semuanya sedang disetel di seluruh NVIDIA dan AMD, dari Ampere hingga Hopper, sebelum produk yang membawanya ada. Jika Anda peduli pada cakupan penyajian Qwen4, isi PR-lah tempat spesifikasi aslinya saat ini berada. Jika Anda ingin memanggil model hari ini, Qwen3.8-Flash adalah model yang benar-benar ada di sana.

Satu API untuk 200+ model, failover otomatis, DSL routing. Jelajahi katalog model OrcaRouter

Dibandingkan dalam artikel ini2

Terdeteksi dari artikel ini · Benchmark: Artificial Analysis · diperbarui setiap hari