Qwen 4 QSA получает параллелизм контекста декодирования: разбор черновика PR в vLLM для Qwen3.8-Flash-Next

Источник: OrcaRouter

Qwen 4 QSA получает параллелизм контекста декодирования: разбор черновика PR в vLLM для Qwen3.8-Flash-Next

Источник: OrcaRouter

Черновик PR в vLLM добавляет параллелизм контекста декодирования в ветку QSA Qwen4Exp. Парные запуски Qwen3.8-Flash-Next показывают увеличение емкости KV в 1,8 раза и снижение TTFT в 2,4 раза.

•Обновлено: 29 сентября 2026 г.

29 сентября 2026 года в репозитории vLLM появился черновик пулл-реквеста под названием «[Model][DCP] Support Qwen4Exp QSA», который содержит самые конкретные показатели инференса из всех опубликованных за весь месяц для описываемой модели: парные запуски Qwen3.8-Flash-Next на четырех графических процессорах показали увеличение емкости токенов KV с 9 759 529 до 17 603 636, максимальной параллельности с 37,23× до 67,15×, а время до первого токена снизилось с 1 869 мс до 767 мс. Qwen3.8-Flash-Next — это предварительная версия с открытыми весами и 125 миллиардами параметров (Mixture-of-Experts), в карточке которой на Hugging Face указано «Превью архитектуры Qwen4». Этот пулл-реквест добавляет параллелизм контекста декодирования в путь разреженного внимания (sparse-attention), на котором построена эта архитектура. Сама Qwen4 — версии Qwen4 Max, Flash, Plus и 27B, анонсированные вендором на конференции Apsara 22 сентября 2026 года — все еще не выпущена, у нее нет ни весов, ни идентификатора, ни цены, ни даты релиза. Поэтому воспринимайте это как то, чем оно является: не запуск и не бенчмарк, а инженерный артефакт, показывающий, как расширяются возможности обслуживании Qwen4 еще до появления самого семейства.

Это материал в формате «все, что нам известно на данный момент», и источники здесь имеют больший вес, чем обычно. Пулл-реквест является черновиком, открытым и еще не слиянным — vllm-project/vllm#59279, открытый 29 сентября Сунгсо Ха (Sungsoo Ha), инженером-программистом NVIDIA, и все еще находящийся в статусе драфта. Все приведенные ниже цифры являются собственными парными измерениями автора, указанными в описании PR и полученными на более ранней ревизии этой же работы. Ничего из этого не прошло независимый аудит, ничто из этого не попало в релиз, а оговорка, которую делает автор, настолько существенна, что для нее выделен отдельный раздел ниже.

Что именно меняет пулл-реквест

Параллелизм контекста декодирования (DCP) — это техника инференса, а не изменение самой модели. Вместо того чтобы одна группа GPU удерживала весь кэш KV целиком, DCP разделяет этот кэш между рангами, поэтому каждый ранг считывает только свой срез контекста, а результаты внимания объединяются по всем рангам в конце. Смысл заключается в увеличении емкости: с разделенным кэшем развертывание может поддерживать гораздо больше одновременных запросов с длинным контекстом на том же «железе», что и является главным узким местом, когда каждый запрос несет четверть миллиона токенов.

Сложность заключается в том, что разреженное внимание Qwen (QSA) — это не обычный слой внимания. Как указано в карточке модели Qwen3.8-Flash-Next, легковесный индексатор сжимает ключи в микроблоки с коэффициентом сжатия 4, оценивает их и сохраняет 512 лучших блоков (примерно 2048 позиций токенов), в то время как финальный softmax и агрегация значений по-прежнему выполняются для несжатых K и V. Это означает, что QSA хранит больше состояния, чем обычный кэш KV: есть основной кэш, а также селектор и вспомогательные кэши, которые поддерживает индексатор. Общая реализация DCP в vLLM ничего из этого не учитывает.

Согласно описанию, PR #59279 обучает DCP работе с частями, специфичными для QSA:

• Каждый ранг считывает собственную часть основного кэша KV, в то время как селектор и вспомогательные кэши QSA остаются реплицированными по рангам, а не шарированными.

• Результаты внимания объединяются между рангами после разделенного чтения.

• Селектор и основной кэш KV удерживаются в одной группе кэширования, поэтому они не могут рассинхронизироваться.

• Синтетические батчи V2 предотвращают запись во вспомогательные кэши QSA.

Эта последняя пара деталей представляет наибольший интерес, если вас волнует корректность работы, а не только пропускная способность. Шарированный кэш внимания, который незаметно расходится с реплицированным селектором, — это тот тип багов, который проявляется как медленное падение точности при длинном контексте, а не как падение системы, и данное изменение явно нацелено на то, чтобы удерживать их синхронно. Автор также отмечает, что при написании использовался ИИ, а Codex указан в качестве соавтора — об этом стоит сказать прямо, поскольку в черновике PR такого рода вполне уместно задать вопрос о том, кто и что написал.

Парные цифры и методика их получения

План тестирования достаточно конкретен, чтобы его можно было проверить, именно поэтому результаты заслуживают цитирования. Обе ветки обслуживают Qwen/Qwen3.8-Flash-Next-FP8 на четырех графических процессорах с параллелизмом тензоров 4 и включенным параллелизмом экспертов при --gpu-memory-utilization 0.90 с включенным кэшированием префиксов. Единственное различие между конфигурациями заключается в параметре --decode-context-parallel-size: он опущен для DCP=1 и установлен в значение 2 для DCP=2, с перезапуском между тестами, чтобы бенчмарк начинался с холодного кэша. Нагрузка представляет собой трейс AgentX на 256k для 128 пользователей в течение 900 секунд; точность измеряется с помощью EvalScope для GSM8K плюс встроенного оценщика MRCR, запуски выполняются по шесть раз для каждой конфигурации, при этом первый запуск после перезапуска отбрасывается.

Заявленные изменения пропускной способности (DCP=2 по сравнению с DCP=1):

• Токены KV — 9 759 529 против 17 603 636, увеличение емкости кэша в 1,80 раза.

• Максимальная параллельность — 37,23× против 67,15×, также в 1,80 раза.

• Запросов в секунду — 1,69 против 2,30, в 1,36 раза.

• Входных токенов в секунду — 128 730 против 179 702, в 1,40 раза.

• Время до первого токена — 1 869 мс против 767 мс, ниже в 2,44 раза.

• Задержка между токенами — 43,48 мс против 26,27 мс, ниже в 1,66 раза.

• Коэффициент попадания в кэш префиксов в стационарном режиме — 67,85% против 88,98%, прирост на 21,1 процентного пункта.

Точность, представленная как среднее значение ± стандартное отклонение выборки по запускам после прогрева, осталась практически неизменной: совокупный показатель MRCR составил 0,8630 ± 0,0005 при DCP=1 против 0,8697 ± 0,0153 при DCP=2, а GSM8K — 0,9788 ± 0,0020 против 0,9790 ± 0,0016. Образцы MRCR с 2 и 4 иглами были зафиксированы на отметках 0,9960 и 0,9906 для обеих конфигураций, поэтому все колебания от запуска к запуску были обусловлены образцами с 8 иглами, причем один совокупный запуск DCP=2 набрал 0,8970, в то время как остальные четыре находились в диапазоне от 0,8620 до 0,8632. Это реальный разброс, а не шум, который можно просто отбросить, и он указан в PR, а не сглажен.

Чего эти цифры не доказывают

Предупреждение содержится в тексте PR, и оно немало. Парные результаты AgentX и точности были измерены на более ранней ревизии QSA DCP с использованием ночной сборки vLLM на базе коммита 3df4ae153eb. Финальный чистый коммит в пулл-реквесте включает последующее исправление ядра локализации QSA и прошел целенаправленную валидацию на B200, однако полные оценки AgentX и точности не были повторены на этом конкретном исходном коде. Другими словами: показатели пропускной способности и отправленный дифф — это не один и тот же артефакт, о чем прямо заявляет автор.

Помимо этого, действует стандартная строгая дисциплина, которая здесь применима как нельзя лучше. Это цифры для одной конфигурации от одного контрибьютора на одной системе из четырех GPU. Они близки к вендору, а не нейтральны: разработчик фреймворка, измеряющий изменения во фреймворке — это нормально и полезно, но это не независимый аудит, и ни одна третья сторона не воспроизводила этот тест. На сегодня не существует выпущенной версии vLLM, которую можно было бы установить и получить это изменение, поскольку оно еще не было слито с основным репозиторием. И DCP=2 — это двустороннее разделение одной конкретной формы; полученные дельты не являются гарантией того, что покажут DCP=4 или DCP=8, и ничто в PR на это не претендует.

Почему PR по инференсу для невыпущенной архитектуры все равно заслуживает вашего внимания

Очевидное возражение: модели из заголовка не существует, так почему это должно кого-то волновать? Потому что настраиваемый компонент — это не Qwen 4. Это Qwen3.8-Flash-Next, и эта модель существует: Alibaba опубликовала ее 24.08.2026 в виде модели смешанных экспертов (MoE) с 125 миллиардами параметров (6 миллиардов активных), таблицей n-граммных встраиваний на 51 миллиард параметров, головой MTP на 4 миллиарда для спекулятивного декодирования, 48 слоями в виде двенадцати повторений трех блоков Gated DeltaNet с последующим одним блоком QSA, 512 экспертами (10 маршрутизируемых и 1 общий активный) и нативным контекстом в 262 144 токена, который, согласно карточке модели, расширяется до 1 000 000. Это эталонная реализация архитектуры Qwen4 с открытыми весами, а QSA — разреженное внимание на микроблоках, шардирование которого этот пул-реквест добавляет в DCP — является ее самой характерной особенностью.

Описанные цифры показывают, что происходит, когда вы перестаете относиться к контексту в 262K как к чему-то, что одна группа графических процессоров должна удерживать целиком. Скачок емкости токенов KV и параллелизма в 1,80 раза представляет собой арифметику разделения кэша на две части, что является наименее удивительным результатом в списке. Более интересными являются показатели задержки: в 2,44 раза меньшее время до первого токена и в 1,66 раза меньшая задержка между токенами при той же создаваемой нагрузке, плюс улучшение коэффициента попаданий в кэш префиксов в установившемся режиме на 21 пункт. Это говорит о том, что путь DCP не просто покупает емкость ценой задержки — в этом парном запуск он обеспечил и то, и другое. Именно такие изменения важны для любого, кто обслуживает агентский трафик с очень длинными системными промптами, поскольку поведение кэша префиксов при длинном контексте обычно является тем местом, где пропускная способность длинного контекста незаметно угасает.

И это не единичный патч. На той же неделе появился ряд работ по движку Qwen4Exp: #59214 добавляет планы GEMM декодирования с низкой задержкой SM100 для форм B200, #59010 добавляет нативное ядро разреженного префилла SM90 для пути QSA на архитектуре Hopper, #58977 охватывает встраивания BF16 INC PLE, а #58961 — тот самый, который был фактически слит в ветку 28.09.2026 — исправил проблему с профилированием кэша KV, который представления ключей QSA удерживали в активном состоянии. В совокупности они представляют собой обслуживающую оболочку архитектуры Qwen4, создаваемую публично в рантаймах за несколько месяцев до релиза семейства. Если вы планируете использовать Qwen 4, полезным сигналом является вовсе не дата запуска (ее нет), а то, что ядра и макеты кэша уже предполагают в отношении того, как вам придется его обслуживать.

Что вы можете вызвать сегодня

Если вы хотите протестировать поведение с длинным контекстом на архитектуре, о которой идет речь в этом PR, модель, к которой стоит обратиться — это уровень Flash, который фактически обслуживает Alibaba. Qwen3.8-Flash — производственный развертываемый вариант на базе Qwen3.8-Flash-Next с контекстом в 1 000 000 токенов и максимальным выводом в 131 072 токена, принимающий текст, изображения и видео на вход — уже запущен. Это одна из конечных точек для модели, которая в настоящее время фактически запускает архитектуру Qwen4Exp, указанная как qwen/qwen3.8-flash по цене $0,15 за миллион токенов ввода и $0,47 за миллион токенов вывода, а чтение кэша обойдется в $0,0184. Поскольку это розничные цены провайдера, передаваемые без нашей наценки, изменение цены или лимита у вендора дойдет до вас в тот же день, когда оно будет объявлено.

Две честные оговорки. Во-первых, сам Qwen3.8-Flash-Next — веса в формате FP8 из плана тестирования этого пул-реквеста, которые понадобятся вам для локального воспроизведения любого из этих измерений — отсутствует в нашем каталоге; обслуживаемый уровень Flash представляет собой производственную линию QwenCloud, а не сырой превью-чекпоинт. Если вы хотите запустить точную конфигурацию из PR, вам потребуется развернуть ее самостоятельно на четырех GPU. Во-вторых, изменение DCP не слито в основную ветку, поэтому ни один доступный вам сегодня интерфейс его не использует. Предоставляемый уровень обслуживания дает вам возможность узнать, подходит ли ваша рабочая нагрузка для проблемы, которую решает DCP: если ваши промпты длинные, агентские и перегружены префиксами, то емкость 1,80× и дельта кэша префиксов — это те показатели, за которыми стоит следить в ваших собственных трассировках.

И если для вас интерес представляет не конкретная модель, а вопрос переключения — какой уровень выбрать для разработки, пока линейка Qwen 4 еще не имеет названия — это скорее задача маршрутизации, а не обслуживания. Единый API для более чем 200 моделей позволяет сохранить такую возможность без заключения второго контракта или изменения кода, когда семейство наконец появится.

Вопросы, на которые стоит ответить прямо

Означает ли #59279, что Qwen 4 уже вышел или готовится к выходу?

Нет. Пул-реквест касается архитектуры Qwen4Exp в ее реализации в Qwen3.8-Flash-Next, которую Alibaba выпустила 24.08.2026. Семейство Qwen 4 — Max, Flash, Plus и 27B — было анонсировано со сцены на конференции Apsara 22.09.2026 и внесено в дорожную карту компании с последующей линейкой, прогнозируемой на уровне от 5 до 10 триллионов параметров, но у него по-прежнему нет карточки модели, весов, идентификатора API, окна контекста, цены и даты. PR в фреймворке, добавляющий режим параллелизма в предварительную архитектуру — это шаг к качественному обслуживанию Qwen 4. Это не шаг к появлению самого Qwen 4.

Чем параллелизм контекста декодирования отличается от тензорного параллелизма?

Они разделяют разные вещи и дают сбои по-разному. Тензорный параллелизм распределяет веса и вычисления каждого слоя по графическим процессорам, поэтому каждый ранг участвует в обработке каждого токена, но видит всю последовательность целиком. Параллелизм контекста декодирования разделяет сам кэш KV, поэтому каждый ранг хранит и считывает только часть контекста, а частичные результаты внимания объединяются позже. ТП (TP) предназначен для соответствия модели; DCP — для соответствия контексту и сопутствующему параллельному трафику. Именно это различие делает данный PR непростым: селектор QSA и боковые кэши не могут просто шардироваться так же, как основной кэш KV, поэтому изменение должно шардировать один элемент и реплицировать остальные, а затем доказать, что они остаются согласованными.

Если я вызываю Qwen3.8-Flash-Next сегодня через размещенный API, получаю ли я уже эти показатели?

Нет, и этот разрыв состоит из трех частей. Изменение не слито в основную ветку, поэтому ни одна из выпущенных сборок vLLM его не содержит. Даже после слияния провайдер должен внедрить эту сборку и решить запустить ее с размером DCP больше единицы — это конфигурация обслуживания, а не значение по умолчанию. Кроме того, измеренные дельты получены из более ранней ревизии патча, а не из финального коммита, который, по словам автора, пока прошел лишь точечную валидацию на B200. Рассматривайте заявленные дельты как хорошо задокументированную верхнюю границу того, что дает этот подход в одной конкретной конфигурации, а не как спецификацию любой конечной точки, которую вы можете арендовать на этой неделе.

Открытый вопрос

Следить стоит не за тем, вольется ли этот конкретный драфт — скорее всего, в том или ином виде вольется, поскольку добавляемая им обработка кеша, специфичная для QSA, является реальным упущением, а не вопросом предпочтений. Следить нужно за тем, пройдет ли финальный коммит ту же парную оценку, которую прошла промежуточная ревизия. Изменение обслуживания, заявления о пропускной способности которого основаны на одной сборке, а заявления о корректности — на другой, пока что представляет собой хорошо обоснованное предложение, а не измеренный результат, а разброс точности на выборках 8-needle MRCR достаточно велик, чтобы повторный запуск на выпущенном исходном коде стал самым полезным из того, что кто-либо мог бы опубликовать по этому поводу. До тех пор: направление читаемо, баланс не закрыт, а единственной моделью с архитектурой Qwen4 в открытых весах остается версия от августа.

Ещё в разделе «AI и машинное обучение»

Все →

Ещё от OrcaRouter