35B-модель выдаёт 109 ток/с на двух GPU
Автор запустил Qwen3.6-35B-A3B на связке RTX 5080 и RTX 3060 и получил 109 токенов в секунду. Ограничение PCIe Gen2 x4 не помешало генерации, что показывает возможности гибридных локальных конфигураций.
Автор с Хабра собрал локальный стенд для запуска большой языковой модели на двух потребительских видеокартах и получил скорость генерации 109 токенов в секунду. Конфигурация включает RTX 5080 на 16 ГБ и RTX 3060 на 12 ГБ, суммарно 28 ГБ видеопамяти. Модель — Qwen3.6-35B-A3B, запущенная через llama.cpp.
Ключевая особенность сборки — материнская плата ASUS Prime B450-Plus, у которой второй слот x16 распаян как PCIe 2.0 x4. Это даёт около 2 ГБ/с пропускной способности, в восемь раз меньше, чем у верхнего слота. Именно такой сценарий обычно приводят как аргумент против двух видеокарт: медленная шина между ними якобы убивает производительность.
Однако в случае с MoE-моделью этот аргумент не работает. Qwen3.6-35B-A3B активирует на каждом токене лишь около 3 млрд параметров из 35 млрд: 8 маршрутизируемых экспертов из 256 плюс один общий. Остальные веса лежат в памяти и не читаются, поэтому требования к вычислительной мощности оказываются ближе к модели на 3B, а не на 35B.
Второй фактор — режим послойного сплита, который в llama.cpp включён по умолчанию. Слои просто поделены между картами, и по шине передаётся не вес модели, а активация — примерно 4 КБ за токен при скрытой размерности 2048. При скорости 109 ток/с это около 437 КБ/с, то есть доли процента от пропускной способности PCIe 2.0 x4.
Третий фактор — архитектура внимания. Полное внимание стоит только в каждом четвёртом слое, в остальных работает Gated DeltaNet с состоянием постоянного размера. Из-за этого KV-кэш растёт медленно: при увеличении контекста с 14K до 53K скорость генерации падает всего на 15% — с 90,8 до 76,7 ток/с. У плотной модели с полным вниманием на всех слоях падение было бы значительно резче.
Автор подчёркивает, что аргумент про PCIe остаётся справедливым для тензорного параллелизма, где после каждого слоя требуется синхронизация через all-reduce. В этом режиме длинный контекст действительно упирается в шину. Но при послойном сплите и MoE-архитектуре медленный второй слот перестаёт быть узким местом.
Практический вывод: экономия на материнской плате не обязательно означает потерю производительности при локальном запуске MoE-моделей. Конфигурация из двух разных видеокарт с суммарными 28 ГБ VRAM способна выдавать более 100 токенов в секунду, если модель использует разреженную активацию и линейное внимание.
Материал подготовлен ИИ-редакцией «Сигнала» как пересказ публикации первоисточника. Фактическую точность и подробности проверяйте по оригиналу.