Skip to content
Neuronavt
Go back

Qwen3.6 на NPU: опыт с мини-ПК AMD

Кейс8/10

Коротко

Автор запустил Qwen3.6–35B-A3B на мини-ПК с Ryzen AI 9 365 через FastFlowLM и описал настройку, производительность и сбои под нагрузкой. Система выдаёт около 200 ток/с при обработке длинного промпта и 13–17 ток/с при генерации, но обслуживает запросы последовательно и требует аккуратной настройки памяти и очередей.

Контекст

Автор использует домашний сервер для сервисов с частыми локальными запросами — около 6 млн токенов в сутки, включая длинные промпты. Старый Ryzen 7 5800U без GPU/NPU тратил на чтение промпта 99% времени. Автор купил мини-ПК FIREBAT с Ryzen AI 9 365, NPU XDNA2, Radeon 880M и 64 ГБ DDR5-4800 примерно за 70 тыс. ₽ (~$825), чтобы ускорить локальный инференс и снизить зависимость от нестабильных бесплатных API и платных облачных моделей.

Главное

Как сделано

Сначала автор проверил Windows и Lemonade Server от AMD, рассчитывая на гибрид NPU для prefill и iGPU для decode. Гибрид поддерживал только заранее подготовленные модели максимум до 8B, поэтому для Qwen3.6–35B-A3B он перешёл на FastFlowLM (FLM). После обновления драйвера NPU уменьшил в BIOS параметр UMA Frame Buffer Size до минимума: это увеличило видимую системе память с 47,6 до 63,1 ГБ, а доступный пул NPU — с 23,8 до 31,6 ГБ.

Затем автор установил Proxmox VE 9.2 на Debian 13 и запустил FLM непосредственно на хосте: пробросить NPU в виртуальную машину не удалось. Использовались ядро 7.0.2-6-pve с драйвером amdxdna и прошивкой NPU 1.1.2.64, XRT 2.25.0-4 из Debian sid и FastFlowLM 1.0.5. Модель qwen3.6-moe:35b-a3b занимает около 20–21 ГБ. Для постоянной работы автор создал systemd-сервис с flm serve qwen3.6-moe:35b-a3b --host 0.0.0.0 --port 52625 --ctx-len 131072 и Restart=on-failure.

Для нескольких клиентов перед FLM поставлен LiteLLM-прокси с global_max_parallel_requests: 3. Таймауты клиентов увеличили до минут (до 20 минут для тяжёлых задач), а очень длинные запросы около 38k токенов отправляют во внешнее API, поскольку они занимают NPU 6–7 минут. Эмбеддинги вынесли на CPU: embeddinggemma-300M в GGUF Q8_0 через llama.cpp, чтобы FLM не выгружал основную модель.

Результаты

На запросах с контекстом примерно 5–18 тыс. токенов автор измерил prefill около 200 ток/с и decode около 13–16 ток/с. Запрос с изображением показал 99,1 ток/с prefill и 16,9 ток/с decode (1 127 входных и 61 выходной токен). По сравнению со старым Ryzen 7 5800U prefill ускорился примерно в 6 раз, decode — примерно в 2 раза; среднее время вызова сократилось примерно с 513 до 78 секунд, хотя часть улучшения автор связывает с очередью. RTX 3090 на той же модели значительно быстрее: около 2 400–2 600 ток/с prefill и 60–75 ток/с decode. Эмбеддинги на CPU занимали 0,06–0,11 секунды на запрос. Расчёты автора для 6 млн токенов в сутки дают ориентировочную окупаемость покупки примерно за 1–2 года относительно самого дешёвого тарифа DeepSeek Flash и менее чем за два месяца относительно ряда дорогих облачных моделей; расчёт не учитывает кэширование и скидки.

Ограничения

NPU обрабатывает только один запрос за раз; очередь FLM не обеспечивает параллелизм, поэтому задержки растут с количеством клиентов. В FastFlowLM обнаружен сбой double free или SIGSEGV при отмене запроса во время prefill (issue #608), а короткие запросы имеют фиксированную задержку около 2,7 секунды. Отдельные длинные промпты могут занять NPU на несколько минут. Для размещения модели нужен большой запас памяти: автор считает 64 ГБ минимально практичным объёмом для этой конфигурации, причём модель и контекст должны помещаться в доступную NPU половину RAM после учёта резерва iGPU. Гибрид NPU+iGPU для нужной большой модели не заработал, а NPU не удалось пробросить в VM. Стоимость облака оценена без prompt caching и batch-скидок; сравнение производительности RTX 3090 дано как ориентир, а не как одинаково описанный контролируемый тест.

Что взять себе

Читать оригинал, если…

Откройте оригинал, если нужны команды установки для Proxmox/Debian, конфигурации systemd и LiteLLM, полные таблицы замеров или ссылки на драйверы и открытые issues.