Qwen3.8 на двух RTX 3090: 75 ток/сек вместо 32
🛠 Qwen3.8 на двух RTX 3090: 75 ток/сек вместо 32
Автор на Habr разобрал, почему плотная Qwen3.8-27B на паре RTX 3090 выдаёт лишь 32.4 ток/с, и методично поднял скорость генерации до 74.8 ток/с — без смены оборудования. Ключевых приёмов два: включить встроенную MTP-голову как черновую модель (
--spec-type draft-mtp --spec-draft-n-max 3) и переключить разбиение слоёв на тензорный параллелизм через NCCL (-sm tensor). Первое даёт ×1.8 в послойном режиме, второе — ещё +16 ток/с на коротком контексте и заметно больше на длинном: при 240K скорость генерации выросла с 34.4 до 55.4 ток/с.
Прирост на длинном контексте автор объясняет тем, что при тензорном разбиении обе карты читают KV-кэш параллельно, а по шине передаётся только all-reduce активаций, не зависящий от длины. Цена — обработка запроса на коротких запросах падает на 20% (1410 → 1121 ток/с на 40K), но для интерактивной работы это выгодно. Дополнительно он выжал ещё немного, выбрав сборку GGUF с MTP-головой в Q4_0 вместо Q6_K и заменив диалоговый шаблон: стандартный шаблон от Qwen молча выбрасывал второе системное сообщение и не проверял аргументы вызова функций.
Отдельно важен приём с KV-кэшем в q4_0: он позволяет держать два слота по 262 144 токена одновременно на 48 ГБ VRAM, а тест needle-in-a-haystack на 240K дал 10/10. Не обошлось без ограничений: -sm row на этой конфигурации не работает, -ts в тензорном режиме игнорируется, а на PCIe x8/x4 результат может быть хуже — автор проверял только на x16.
Вся эта скорость держится на хрупком наборе флагов и конкретных сборках GGUF — обновится одна, и вы снова получите 32 ток/с. Но именно такие инструкции превращают две RTX 3090 из устаревшего оборудования в машину для реальной работы 27B-модели, а не демонстрационного скриншота.
#llamacpp #Qwen3 #MTP #локальныйинференс #RTX3090Такие разборы выходят в канале каждый день — коротко и со ссылкой на первоисточник.