
Батч-шардированная выборка Qwen4Exp: в vLLM PR #61018 и что в нём говорится о Qwen 4
- OrcaНОВИНКАOrca: OrcaCyber Zero 1.52026-10-10$3.00 / $7.50 за 1 млн токенов · 82 tok/s
- openaiНОВИНКАOpenAI: GPT-6.1 Sol2026-09-2952Интеллект
- anthropicНОВИНКАAnthropic: Claude Sonnet 5.52026-09-2856Интеллект
- typesafeTypeSafe: Jev 1.132026-09-24$0.04 / $0.00 за 1 млн токенов · 122 tok/s
- OpenAIOpenAI: GPT-6 Luna2026-09-2238Интеллект
- OpenAIOpenAI: GPT-6 Sol2026-09-2248Интеллект
- AnthropicAnthropic: Claude Opus 5.52026-09-2258Интеллект
- xAIGrok 4.72026-09-2146Интеллект
- OrcaOrca: OrcaCyber Zero 1.02026-09-17$3.00 / $7.50 за 1 млн токенов · 53 tok/s
- OrcaOrca: OrcaVerify Text 1.02026-09-16$2.00 / $0.00 за 1 млн токенов · 423 tok/s
- DeepSeekDeepSeek: DeepSeek V4.1 Flash2026-09-1040Интеллект
- OpenAIOpenAI: GPT-6 Astra2026-09-0453Интеллект77Кодинг
- GoogleGoogle: Gemini 3.8 Flash2026-09-0241Интеллект76Кодинг
- AlibabaQwen: Qwen3.8 Max (0902)2026-09-0245Интеллект76Кодинг
- AnthropicAnthropic: Claude Fable 5.12026-09-0153Интеллект82Кодинг
- TencentTencent: Hy4 preview2026-08-28$0.83 / $2.50 за 1 млн токенов · 60 tok/s
- AlibabaQwen: Qwen3.8 Flash2026-08-26$0.15 / $0.47 за 1 млн токенов · 358 tok/s
- z-aiZ.ai: GLM 5.3 Flash2026-08-2642Интеллект72Кодинг
- DeepSeekDeepSeek: DeepSeek V4 Flash Vision (Exp)2026-08-21$0.22 / $0.66 за 1 млн токенов · 231 tok/s
- z-aiZ.ai: GLM 5.32026-08-1845Интеллект75Кодинг
Самое информативное число в пул-реквесте vLLM #61018 — это потеря: 1,5%. Это верхняя оценка, которую автор дает собственному изменению: примерно 0,6–0,8 миллисекунды, сэкономленные из 42-миллисекундного среднего шага, измеренные на машине, которая ему не принадлежит, в патче, который он вообще не может запустить. Пул-реквест под названием «[Model] Qwen4Exp: support batch-sharded sampling (compute_logits_local)», открытый 2026-10-10 участником kimseunghyun-kr, добавляет три строки кода модели в два файла, чтобы архитектура Qwen4Exp могла использовать путь сэмплирования, выпущенный vLLM в августе. Это черновик. Это 14 строк кода модели плюс 57 строк теста. И всё же его стоит внимательно прочитать, потому что эти три строки прикрывают вот что: Qwen4Exp — это архитектура внутри Qwen3.8-Flash-Next, модели со 125 миллиардами параметров и открытыми весами, которую производитель опубликовал 2026-08-24 как «экспериментальное превью архитектуры, которая ляжет в основу Qwen4», — а баг с двумя путями в текстовой половине этой архитектуры — это именно та деталь, которую узнаёшь, только наблюдая за сервинг-слоем, а не из поста о запуске.
Чтобы не было двусмысленности в постановке вопроса, поскольку здесь это важно: сам Qwen 4 ещё не выпущен. Вендор назвал четыре уровня Qwen 4 — Qwen 4 Max, Flash, Plus и 27B — на своей конференции Apsara 22 сентября 2026 года и не опубликовал ни весов, ни идентификатора, ни цены, ни длины контекста и ни одного бенчмарка ни для одного из них. Ничто из приведённого ниже не является релизом. Это сводка того, что известно на данный момент, по одному черновому пул-реквесту, и всё в ней, что содержит число, — это либо временная метка, которую вы можете проверить, либо цифра, которую контрибьютор вписал в тело своего PR, либо значение, прочитанное из публичного файла конфигурации модели.
Что такое батч-шардированная выборка, в одном абзаце
Тензорный параллелизм разделяет веса модели между GPU; проекция словаря — это самый широкий отдельный тензор в стеке, поэтому каждый ранг обычно вычисляет только свой срез словаря — а затем каждый ранг выполняет all-gather, так что каждый из них в итоге хранит полные логиты для каждого запроса в пакете. Шардированная выборка инвертирует этот обмен. Вместо репликации словаря между рангами, она шардирует пакет: каждый ранг выбирает один срез запросов, и ранги обмениваются срезами словаря друг с другом через all-to-all. Собственная документация vLLM по CLI описывает этот флаг прямо — «Каждый ранг выбирает срез пакета вместо того, чтобы каждый ранг выбирал весь пакет» — и указывает ограничения: --enable-batch-sharded-sampling по умолчанию имеет значение False, требует tensor_parallel_size больше 1, как минимум tensor_parallel_size максимальных последовательностей и неотрицательный max_logprobs. Последняя строка этой документации — это зацепка, на которой держится этот pull request: «Модели подключаются, реализуя compute_logits_local».
Сама по себе эта возможность не нова. vLLM влил её как PR #50465 — «[Model Runner V2] batch-sharded sample» от Джанкарло Делфина — 2026-08-24, в тот же день, когда были выложены веса Qwen3.8-Flash-Next. Мотивация там была связана с памятью и задержкой: материализация полных целевых логитов стоит порядка размер батча × (спекулятивные токены + 1) × размер словаря, а шардирование сокращает это выделение в число раз, равное степени тензорного параллелизма, и при этом позволяет операциям top-k и top-p сэмплера выполняться параллельно. Это необходимый этап, а не конечная цель: в самом тексте PR шардированные драфт-логиты отмечены как будущая работа.
Почему трёх строк хватило для всей работы
![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.](https://cms.orcarouter.ai/api/media/file/2-1829.png)
Вот в чём настоящий дефект, и он хорош тем, что невидим извне кода. Реализация Qwen4Exp в vLLM поставляется в виде двух классов. Qwen4ExpForConditionalGeneration — это обёртка для обработки изображений и текста: башня зрения Qwen3-VL, прикрученная к языковой модели, — а Qwen4ExpForCausalLM — это путь только для текста. Обёртка наследует compute_logits_local от Qwen3_5ForConditionalGeneration, который перенаправляет вызов в language_model.compute_logits_local. Но класс языковой модели, на который указывала обёртка, этот метод никогда не определял.
Итак, два пути находились в разных состояниях. Мультимодальное развёртывание Qwen3.8-Flash-Next могло использовать шардированный путь; развёртывание только для текста — нет, потому что метод, которому делегировала обёртка, не существовал. Исправление — это один метод, одинаковый в копиях файла модели для NVIDIA и AMD:
• Метод возвращает self.logits_processor(self.lm_head, hidden_states, skip_gather=True) — собственный шард словаря данного ранга, без gather и без материализации полного словаря ни на одном ранге.
• Он следует тому, что в PR называют «тем же шаблоном из трёх строк, что и Qwen3.5 и MiniMax M3», и на этом стоит остановиться: два других семейства моделей в том же репозитории уже сделали этот выбор. Qwen4Exp просто оказался тем, которое этого не сделало.
Тестовый файл — это место, где честность патча проще всего проверить, а его ограничения — проще всего увидеть. Он занимает 57 строк, параметризован для модулей NVIDIA и AMD и не загружает модель. Вспомогательная функция создаёт класс с помощью object.__new__, подставляет nn.Identity вместо головы языковой модели и устанавливает фиктивный процессор логитов, который возвращает свой вход плюс один, записывая при этом, как его вызвали. Первый тест утверждает, что 4.0 на входе даёт 5.0 на выходе и что записанный вызов содержал skip_gather=True. Второй оборачивает языковую модель в класс условной генерации и проверяет, что делегирование срабатывает. Это настоящий тест проводки и тест, не проверяющий ничего другого — ни одно ядро не задействовано, ни одна граница ранга не пересекается, и число задействованных GPU равно нулю.
Оба этих факта указаны в PR, а не спрятаны. В самом докстринге тестового файла Qwen4Exp назван «крошечной тестовой заглушкой, работающей только на CPU». В разделе с валидацией автор отмечает, что вообще не смог импортировать модель в своей конфигурации macOS, потому что transformers сборка, которая у него была, не поставлялась с Qwen4ExpConfig. Запуск на CUDA всё ещё ожидался. Сквозной бенчмарк — агентный датасет MLPerf, 20 одновременных сессий, три 60-минутных плеча — всё ещё ожидался. Собственный путь логитов драфтера MTP помечен как непроверенный. LoRA уже отклоняется флагом на предыдущем уровне, так что это вне области охвата, а не регрессия. Есть также строка, раскрывающая, что черновик был написан с помощью ИИ, и трейлер коммита указывает Claude Opus 5.5 в качестве соавтора, — это тот вид раскрытия, который должен быть нормой в стеке такого размера и по большей части таковым не является.
Оценка в 1,5%, и измерения, рядом с которыми она стоит
Оценка автора — это nsys-трасса при 16 одновременных сессиях на Qwen3.8-Flash-Next-FP8 с тензорным параллелизмом 8 и экспертным параллелизмом на восьми картах A100-SXM4-40GB: около 1,6 миллисекунды из 42-миллисекундного шага, сокращено примерно до одной трети от этого, что даёт сквозной выигрыш от 1,5 до 2%. Его главный вывод — это арифметика: от 0,6 до 0,8 мс из 42 мс. Обратите внимание, что с этим связано: 42 мс — это показатель межтокенной задержки, так что сокращение на 1,7% — это сокращение на 1,7% времени генерации токенов, а не заявление о пропускной способности в абстрактном смысле.
Честное сравнение — это сравнение с собственными числами родительской функции после слияния, потому что их измеряли от начала до конца на реальном оборудовании. В прогонах Speed-Bench 2K/2K, опубликованных в PR #50465, батч-шардированная выборка подняла DeepSeek V4 с DSpark при 7 спекулятивных токенах и параллелизме 64 с 2,62 до 2,66 запроса в секунду — прирост пропускной способности на 1,53 % — при этом медианная межтокенная задержка снизилась на 3,09 %, а время до первого токена выросло на 1,45 %. На MiniMax M3 с DSpark при 8 спекулятивных токенах пропускная способность по запросам выросла на 5,38 %, а медианный TPOT снизился на 8,33 % — с 15,61 до 14,31 миллисекунды. И тот же план документирует, где это не помогает: при параллелизме от 4 до 16 прогоны дали результат от нулевого прироста до небольшого падения, причём вариант с параллелизмом 16 потерял 0,54 % пропускной способности и 1,89 % длины принятия.
Именно эту закономерность и стоит запомнить. Шардированное сэмплирование окупается, когда сэмплирование тяжёлое, а батч широкий — высокая конкурентность, много спекулятивных токенов, top-k и top-p выполняют реальную работу — и стоит небольших затрат, когда батч настолько мал, что all-to-all — чистые накладные расходы. Оценка в 1,5% для одной модели, включающей эту опцию, согласуется с этим, а не противоречит этому: цифры 5,38% и 8,33% относятся к разным моделям с разными бюджетами спекулятивного декодирования, а модель в этом PR имеет собственную конфигурацию, собственный словарь на 248 320 токенов и собственный путь спекулятивного декодирования.
Ничто из этого не прошло аудит. Цифры из родительского PR — это парные прогоны одного контрибьютора на одном узле; цифры из смоук-теста здесь — это трейс на оборудовании, которого у автора нет, из ревизии патча, которая, по его словам, измерялась только на 16 сессиях. Измерение, выполненное одним контрибьютором в одной конфигурации, — полезный сигнал о направлении и плохая основа для плана по мощности. Причина, по которой об этой теме вообще стоит писать, — направление, а не десятичный знак.
Что окружающий кластер патчей говорит о Qwen4Exp
Один черновик PR ещё не история. История в том, что Qwen4Exp за неделю, когда это вышло, стал постоянной целью обслуживания, и самый маленький патч в этом кластере — тот, который делает закономерность различимой. За семь дней, закончившихся 2026-10-10, vLLM получил от того же контрибьютора и других: путь основного KV-кэша FP8 для разрежённого внимания на Ampere, с ростом ёмкости KV в 1,83× на восьми A100 и в 1,87× на четырёх RTX 3090 и примерно в 2,7× большим числом запросов при 16 одновременных, ценой примерно на 6% более высокого TPOT декодирования в одном потоке; исправление паддинга W4A4 MoE при tensor-parallel 1 и экспертного параллелизма; путь для AMD, который откатывается от неподдерживаемых операций AITER FP8 MoE и обслуживает в fp16; исправление, которое проводит состояние короткой свёртки PLE через режим align; и ядро декодирования, распаковывающее байты e4m3 по четыре за раз на регистр на sm_80. Один из них — перенастройка объединённого плана QSA LL-GEMM H200 M=4 — был влит в main 2026-10-09.
Прочитайте этот список целиком — и он скажет о чём-то конкретном. Архитектура Qwen4Exp — та, которую вендор ещё не выпустил, — одновременно оптимизируется под Ampere, Hopper, ROCm и fp16-фолбэк, в проекте, который обеспечивает поддержку с первого дня для моделей, которые люди действительно могут скачать. Причина не загадочна: Qwen3.8-Flash-Next — это реальная, доступная для скачивания, активно используемая модель, и она построена на архитектуре, которую будет использовать Qwen 4. Появятся ли когда-нибудь веса Qwen 4 в таком виде — неизвестно, и вендор ничего не сказал, но публично расширяются рамки обслуживания, а это проверяемая информация, в отличие от слухов об октябрьско-ноябрьском окне.
Часть архитектурной структуры также публична — для всех, кто читает конфигурацию, а не анонс. В конфигурации Qwen3.8-Flash-Next указан словарь на 248 320 токенов на 48 слоях, 512 экспертов, из которых 10 маршрутизируемых и один общий активный на токен при промежуточной ширине эксперта 640, размер скрытого слоя 2 560 и нативный контекст на 262 144 токена, описываемый как расширяемый до миллиона. Это гибрид: список типов слоёв чередует три блока линейного внимания с одним блоком полного внимания, а блоки полного внимания используют путь разреженного внимания с одноголовым индексатором, который сжимает ключи в четыре раза и сохраняет бюджет в 2 048 позиций. Есть послойная таблица эмбеддингов на слое 2, n-граммный эмбеддинг со словарём на 20 миллионов записей — это таблица размером 47,7 ГиБ, которую другие патчи в этом кластере сейчас заняты хост-стейджингом, — и однослойная MTP-голова для спекулятивного декодирования. В самой карточке модели сказано: «125B с 6B активируемых, плюс 51B n-граммный эмбеддинг и 4B MTP». Словарь на 248 320 записей — вот почему проекцию логитов в принципе стоит шардировать.
Что это не меняет для вас
Стоит быть точным, потому что такой плотный кластер патчей может выглядеть как запуск. Ничто из вышеперечисленного не влито, а один из фрагментов — работа по FP8 KV-кэшу для Ampere — явно не валидирован в CI, потому что в CI vLLM нет A100. Нет выпущенной версии vLLM, которую можно установить сегодня и которая содержит opt-in для шардированного сэмплинга Qwen4Exp. Нет независимого бенчмарка того, как Qwen3.8-Flash-Next ведёт себя при обслуживании с любым из этих изменений; каждая приведённая выше цифра взята из описаний PR, что делает их заявленными контрибьюторами и непроверенными в том конкретном смысле, что ни одна третья сторона не воспроизводила этот прогон. А главная цифра в PR, с которого начался этот материал, — 1,5%, и это реальный выигрыш в стеке обслуживания, а не причина менять выбор модели.
Что изменило бы решение — это полноценный, прошедший аудит прогон обслуживания, а его пока не существует. Те измерения быстродействия, которые всё же есть для Qwen3.8-Flash-Next, целиком лежат за пределами этих патчей: модель получает Intelligence Index 40 в Artificial Analysis, что заметно выше медианы 18 для открытых моделей сопоставимого размера, и этот показатель не зависит от всего, что здесь обсуждается.
Что вы можете позвонить сегодня, и аспект маршрутизации

Вот здесь картина становится практичной для всех, кто дочитал до этого места и хочет воспользоваться хостинговой моделью, а не оснащать её инструментами самостоятельно. Qwen3.8-Flash-Next отсутствует в каталоге OrcaRouter — это не одна из 205 моделей, которые мы маршрутизируем, и хостинговой конечной точки для неё здесь нет. Но его производственный собрат, который он предвещает, есть: qwen/qwen3.8-flash — официальный релиз Qwen3.8-Flash, который в собственной карточке модели поставщика описан как несущий больше возможностей, чем превью, включая контекст в один миллион токенов по умолчанию и встроенные инструменты, — доступен по цене $0.15 за миллион входных токенов и $0.47 за миллион выходных токенов, по прайс-листу провайдера без добавления наценки. Для сравнения масштабов в пределах того же семейства qwen/qwen3.8-27b стоит $0.33 и $2.40, а qwen/qwen3.8-max — $2.00 и $6.00; все они доступны по одному ключу.
Есть две причины, которые для материала о невыпущенной архитектуре важнее обычного. Первая — стоимость переключения. Если вы хотите откалибровать, как модель с разреженным вниманием ощущается на вашем трафике до появления Qwen 4, сравнение, которое стоит провести, — это qwen/qwen3.8-flash по прейскурантной цене — а выполнение через роутер означает, что модель, которую вы измеряете, и модель, на которую вы, возможно, откатитесь, находятся за одним и тем же эндпоинтом, с одним и тем же SDK и одним и тем же ключом, без необходимости подписывать второй контракт. Вторая — в том, что каждое изменение обслуживания в этом кластере патчей нацелено на self-hosted vLLM. Если вы не запускаете восемь A100, 1,83-кратная ёмкость KV и 1,5%-ный выигрыш в сэмплировании — это то, о чём вы читаете, а не то, что вы получаете. Маршрутизируемый эндпоинт — это версия всего этого, которая появляется без этапа сборки: автоматическое переключение при деградации провайдера и DSL маршрутизации, позволяющий разместить hosted-вызов рядом с self-hosted в одном эндпоинте, когда у вас действительно есть собственное оборудование для измерений.
Единственное, чего делать не стоит, — это воспринимать эту статью как повод ждать Qwen 4. Даты нет. Цены нет. Нет и количества весов для настоящего продукта — приведённые выше цифры описывают превью-сборку, а не сам продукт. Что действительно существует — это стек обслуживания, который открыто готовят для архитектуры, доступной для скачивания пока лишь в виде превью.
Краткая версия

Три строки, закрывающие разрыв между чисто текстовым и визуально-языковым путями одного файла модели, сами по себе — не новость. Это тот вид патча, который закопали бы в merge-коммите, если бы у кого-то нашлось время его просмотреть, и его вполне могут включить в более крупное изменение или просто закрыть — собственные рекомендации для агентов у бота vLLM, процитированные в PR, предписывают участникам, использующим ИИ-ассистентов, закрывать свою работу, если она не приносит существенной пользы, а 1,5% — это число, которое как раз наводит на такой вопрос. Что делает это достойным вашего внимания — то, что он документирует: таблица n-грамм на 20 миллионов записей, MoE с 512 экспертами, из которых десять активны на каждый токен, гибрид линейного внимания и сжатого разреженного внимания, спекулятивная голова — и всё это настраивается на NVIDIA и AMD, от Ampere до Hopper, ещё до того, как существует продукт, который это несёт. Если вас интересует контур обслуживания Qwen4, то настоящие спецификации сейчас находятся именно в текстах PR. Если вы хотите обратиться к модели уже сегодня, Qwen3.8-Flash — это та, которая действительно есть.
Один API для 200+ моделей, автоматическое переключение при сбое, DSL маршрутизации. Изучите каталог моделей OrcaRouter
Сравнение в этой статье2
Определено по этой статье · Бенчмарки: Artificial Analysis · обновляется ежедневно
