Мой блог
Тестирование DeepSeek, Qwen и GLM на ПК с RTX 5090: подборы инференса, VRAM и драфтеры
Около года назад я обновлял свою рабочую станцию, собрав ПК на базе флагманской видеокарты GeForce RTX 5090 и 96 ГБ оперативной памяти. В тот момент казалось, что подобный массив ресурсов станет ультимативным запасом для решения абсолютно любых задач по запуску и обработке нейросетей. Однако релиз DeepSeek V4 Flash наглядно продемонстрировал, что суммарных 128 ГБ комбинированной памяти (VRAM и RAM) недостаточно: производительные модели удавалось развернуть либо в экстремально сжатом кванте Q2, либо с большими ограничениями в Q3XSS. Если для условной Qwen 3.6 объемов хватало, то для более тяжелых архитектур требовалось ощутимое расширение памяти.
Единственным логичным шагом стало расширение ОЗУ до 192 ГБ на платформе Socket AM5. Четыре плашки оперативной памяти успешно завелись на частоте 6000 МГц в режиме 1:1, пройдя стресс-тесты на стабильность после точечной настройки напряжений.











Конец лета принес целый каскад важнейших релизов в сфере открытых языковых моделей:

- DeepSeek V4 Flash (0731): MoE-архитектура на 284 млрд параметров (с 13 млрд активных), специально заточенная под работу мультиагентных ИИ-систем.
- Qwen 3.8 27B: монолитная («плотная», dense) модель, без проблем помещающаяся в видеопамять одного мощного ускорителя.
- GLM 5.3 Flash: мультимодальная MoE-модель на 320 млрд параметров (18 млрд активных), ранее проходившая скрытые тесты под кодовым именем Ox Alpha.
- Qwen 3.8 Flash Next: архитектурное превью будущей линейки Qwen 4. Представляет собой MoE-нейросеть с базовыми ~125B параметрами (~6B активных на токен) и ~51B n-gram эмбеддингов, что в сумме дает около 180 млрд параметров.
К этому списку добавились и другие любопытные разработки, такие как Ornith 1.5 (версии 35B-A3B и 397B). Имея на руках мощное железо и богатый выбор свежего софта, я решил провести комплексное тестирование, чтобы выяснить: что из этого сегодня реально использовать локально с высоким качеством ответов, длинным контекстом и адекватной скоростью.
Формат и методика тестирования
Для объективной оценки я подготовил специальный cmd-скрипт запуска, поднимавший локальный REST API сервер (http://127.0.0.1:5000/v1). Запросы к нейросетям отправлялись через клиент Jan Desktop. Скрипт настраивал исполнительный исполняемый файл llama-server, подгружал библиотеки CUDA, выставлял контекстное окно в 256K с квантованием KV-кэша в Q8_0, а также регулировал количество потоков процессора (16) и гибридный режим распределения слоев.
Каждая нейросеть при каждом варианте запуска проходила три стандартные контрольные задачи в режиме «one-shot»:

- Технический разбор спекулятивного декодирования: требовалось подробно объяснить механизм работы speculative decoding, проанализировать долю принятых предсказаний (acceptance rate), накладные расходы черновой модели (draft model), этап проверки (verification), влияние пропускной способности памяти и длину блока предсказаний. Ответ должен был генерироваться без использования таблиц до достижения лимита в 4096 токенов.
- Генерация векторной графики: создание одного чистого SVG-файла без Markdown и внешних ресурсов. На рисунке должен быть изображен осел на велосипеде и медведь на заднем плане в лесу.
- Разработка браузерной игры: создание полностью готового аналога Battle City в одном HTML-файле. Игра должна включать управление клавишами WASD/стрелками, стрельбу на пробел, разрушаемые кирпичные и неразрушаемые стены, противников, подсчет очков, жизни, экран поражения и перезапуск.
В список тестируемых вошли: Ornith-1.5–35B‑A3B, Qwen3.6–35B‑A3B, Qwen3.8–27B, Qwen3.5–122B‑A10B, Laguna‑S-2.1, Qwen3.8-Flash‑Next, DeepSeek‑V4-Flash-0731, Ornith-1.5–397B, GLM-5.3-Flash, Hy3 и MiniMax‑M3. В качестве эксперимента я также запустил гигантскую модель Hy4-preview в жестком кванте STQ1_0.

Выбор движков инференса
В процессе работы стало очевидно, что стандартный и универсальный llama.cpp не всегда обеспечивает максимальную производительность. Пришлось опробовать несколько альтернативных среды вывода:

- NInfer: узкоспециализированный движок, оптимизированный под графические процессоры NVIDIA. На видеокартах архитектуры Blackwell с поддержкой аппаратных 4-битных вычислений NVFP4 он показывает колоссальный прирост. На модели Qwen3.8–27B скорость генерации выросла со ~100 токенов в секунду (в llama.cpp) до ~170 ток/с. Недостатки — завязка на собственный формат файлов
*.ninferи потенциальное снижение точности из-за 4-битного представления. Под Windows доступны решения как через WSL2, так и нативные порты. - ExLlamaV3: ориентирован на карты NVIDIA и использует формат EXL3, демонстрируя отличную скорость на отдельных типах квантования.
- FreeToken: движок с оптимизированной выгрузкой экспертных слоев MoE-моделей в оперативную память.
- vLLM и SGLang: мощные серверные инструменты, рассчитанные на параллельное обслуживание множества пользователей, сложную работу с кэшем контекста и распределение нагрузки по нескольким GPU. В рамках локального однопользовательского теста они не применялись.
Память VRAM, RAM и особенности архитектуры MoE
Сравнительное тестирование квантов Q6 и Q8 на моделях Qwen3.8–27B и Ornith-1.5–35B‑A3B наглядно показало критическую разницу между классическими «плотными» (dense) и MoE-архитектурами.

Для монолитной Qwen3.8–27B перенос всего пары слоев из VRAM видеокарты в оперативную память приводят к обвалу скорости со 100 токенов в секунду до 10 ток/с — ровно в 10 раз! В то же время у MoE-модели Ornith-1.5–35B‑A3B частичный перенос слоев в RAM при увеличении контекстного окна со 192K до 256K снизил скорость с 235 до 185 ток/с, а перевод всей модели в Q8 дал ~95 ток/с.

Разница обусловлена принципом работы Mixture of Experts (смесь экспертов). В плотных моделях каждый токен последовательно просчитывается через все 100% параметров каждого слоя. В MoE специальный роутер активирует для каждого слоя лишь небольшую группу экспертов (Routed Experts). Это позволяет проходить слой существенно быстрее и снижает требования к пропускной способности памяти. Поэтому эксперты MoE могут размещаться в относительно «медленной» ОЗУ (около 96 ГБ/с на двухканальной DDR5-6000), в то время как плотные модели требуют катастрофически высокой ПСП видеопамяти (1792 ГБ/с у RTX 5090).

При этом важно учитывать, что общие слои (attention, нормализации) и постоянные эксперты (Shared Experts) крайне важно удерживать в VRAM. Аналогично стоит поступать и с KV-кэшем.

KV-кэш (Key-Value Cache) представляет собой буфер в памяти, где хранятся промежуточные тензоры механизма самовнимания для всех ранее обработанных токенов. Он предотвращает повторные вычисления, сокращая временную сложность генерации с O(N²) до O(N). На контекстах в 128K–256K токенов KV-кэш может занимать десятки гигабайт. Квантование KV-кэша в Q8_0 или Q4_0 позволяет значительно сократить расход VRAM без заметного падения качества понимания текста.

Опыт работы с упреждающим декодированием (драфтерами)
Идея технологий MTP (Multi-Token Prediction) и DSpark / dFlash выглядит заманчиво: небольшая встроенная или внешняя модель-предиктор (draft model) угадывает сразу несколько последующих токенов, а тяжелая основная модель проверяет всю цепочку за один проход. Однако реальные бенчмарки преподнесли сюрпризы:
- Qwen3.8–27B (dense): включение MTP дало двукратный рост — со 56 до 106 токенов в секунду.
- Qwen3.8-Flash‑Next (MoE): без MTP модель выдавала 34,3 ток/с. Включение MTP обвалило скорость до 20,5–21,2 ток/с (падение на 38–41%), независимо от размера блока предсказания
n_max. - GLM-5.3 Flash (MoE): базовый показатель 9,22 ток/с при MTP с n=2 вырос лишь до 9,49 ток/с (+2.9%), а при n=3 упал до 8,19 ток/с. Драфтер фактически сработал в ноль.
- DeepSeek V4 Flash (MoE): модуль DSpark продемонстрировал честный прирост — с 13,5 до 17 ток/с (+25%).
Причина подобного разброса заключается в стоимости работы самого драфтера. У Qwen Flash‑Next базовая модель имеет всего около 6 млрд активных параметров на токен и работает очень быстро сама по себе — дополнительная проверка предсказаний лишь перегружает систему. Кроме того, при хранении экспертов MoE в оперативке проверка нескольких токенов за раз приводит к обращению к разным экспертам в RAM, что снижает выгоду от параллельного прохода. В результате спекулятивное декодирование нельзя включать «вслепую» — его эффективность необходимо проверять под конкретную модель и конфигурацию железа.

Результаты тестов и ключевые выводы
Подводя итоги проведенных бенчмарков, можно выделить следующие практические наблюдения:
- Поколение модели важнее ее размера: современные архитектуры вроде Qwen3.8–27B, Qwen3.8-Flash‑Next, DeepSeek V4 Flash и GLM-5.3 Flash работают качественнее и разумнее, чем гигантские модели предыдущих поколений (например, Ornith-397B или MiniMax M3).
- Галлюцинации с вызовом инструментов: свежие агентные модели в обычных диалогах иногда пытаются вызывать несуществующие функции, что является издержкой их специализированного обучения.
- Размещение горячих данных в VRAM критично: выпадание основных рабочих тензоров из видеопамяти в ОЗУ фатально для плотных моделей и ощутимо снижает скорость MoE.
- Движок NInfer дает реальное преимущество: на поддерживаемых моделях он заметно обходит
llama.cppпо скорости. - Скорость в ток/с не равна общему времени ответа: Qwen Flash‑Next генерирует токены быстрее DeepSeek V4, однако из-за более развернутых формулировок может тратить больше времени на выполнение итоговой задачи.
- Квантование Q4 не является «бесплатным»: падение точности ниже уровня Q6/Q8 отчетливо заметно на сложных логических инструкциях, а кванты ниже Q3 вовсе непригодны для использования.
Итоговый рейтинг локальных моделей
По результатам моих тестов текущий топ открытых нейросетей для локального запуска выглядит следующим образом:
- Qwen3.8–27B: абсолютный лидер по балансу скорости, качества и требований к железу.
- GLM-5.3-Flash: лучший вариант по точности и глубине проработки ответов, но довольно медлительный.
- DeepSeek‑V4-Flash-0731: производительная и сбалансированная MoE-модель для агентных задач.
- Qwen3.8-Flash‑Next: наиболее быстрая среди крупных MoE-архитектур.
- Ornith-1.5–35B‑A3B: оптимальный выбор при скромном бюджете и ограниченном объеме памяти.
Запуск Qwen3.8-Flash-Next 125B на минимальном объеме VRAM
Отдельно стоит отметить эксперимент по запуску оригинального чекпоинта Qwen3.8-Flash-Next (125B) в формате bf16. За счет эффективного гибридного распределения экспертных слоев в RAM и выноса весов Vision пиковый расход видеопамяти на RTX 4090 составил всего 5,95 ГБ VRAM. В задачах кодинга и работы с ИИ-агентами эта модель демонстрирует уровень, сопоставимый с топовыми закрытыми облачными сервисами.
Источник: habr.com
